R 具有nls()的非线性模型:错误:没有初始值的参数

R 具有nls()的非线性模型:错误:没有初始值的参数,r,nls,nonlinear-optimization,R,Nls,Nonlinear Optimization,我想估算以下类型的非线性回归模型: y=ß0 + ß1*( b[1,theta]*x1 + b[2,theta]*x2 )+ e 要素说明: y: the regressand x1: regressor 1 x2: regressor 2 ß0: parameter to be estimated ß1: parameter to be estimated e: iid random noise ~ N(mu, sigma) 最后,i=1,2的b[i,θ]表示以下指数阿尔蒙多项式加权

我想估算以下类型的非线性回归模型:

y=ß0 + ß1*( b[1,theta]*x1 +  b[2,theta]*x2 )+ e
要素说明:

 y: the regressand
x1: regressor 1
x2: regressor 2
ß0: parameter to be estimated
ß1: parameter to be estimated
 e: iid random noise ~ N(mu, sigma)
最后,i=1,2的b[i,θ]表示以下指数阿尔蒙多项式加权函数:

b[i,theta]= exp(theta1*i+theta2*k^2)/(exp(theta1*1+theta2*1^2) + exp(theta1*2+theta2*2^2))
它只表示x1和x2的两个衰减权重,仅此而已。但这些权重取决于两个参数值,这两个参数值也需要估计:θ1和θ2

现在,我想使用非线性最小二乘函数nls()估计参数ß0、ß1、θ1和θ2的最佳值(关于RSS标准)

我尝试了以下操作,结果显示错误消息:

nls(y~beta0+beta1*(exp(theta1*1+theta2*1^2)/1318837781*x1+exp(theta1*2+theta2*2^2)/1318837781*x2),data=d,start=list(beta0=1,beta1=1,theta1=.01,theta2=-.0099))

Error in nls(y ~ beta0 + beta1 * (exp(theta1 * 1 + theta2 * 1^2)/1318837781 *  : 
Parameters without initial values in 'data': x1, x2
注:为了便于记法,我事先计算了加权函数的分母值,总计1318837781

似乎
nls()
将x2和x2视为参数,但它们是回归器。我在这里做错了什么?我应该如何修改代码以获得合理的结果。还是不可能用
nls()
来估计这种函数


谢谢

你能给你的帖子添加一些样本数据吗(通过
dput
或模拟)?谢谢。我使用了一个简单的模拟数据集:
d=data.frame(y=rnorm(10),x1=rnorm(10),x2=rnorm(10))
在应用于实际数据之前,我想了解函数有时使用图形方法评估RHS上的表达式有助于了解它的定义位置或爆炸位置。同时,如果我的模型是非线性的,我会感到困惑。可以看出,回归器x1和x2只需乘以权重即可。在所有其他非线性的情况下,我能回忆起回归器出现在不同的位置,例如作为幂,作为分母或类似的东西,但不只是乘以某个东西。在我的例子中,这到底是一个非线性模型吗?我打赌你定义
b[I,θ]
的“深度”就是把事情搞砸了。尽量简化模型公式。