0

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

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,theta] 表示以下指数阿尔蒙多项式加权函数:

b[i,theta]= exp(theta1*i+theta2*k^2)/(exp(theta1*1+theta2*1^2) + exp(theta1*2+theta2*2^2))

它只代表 x1 和 x2 的两个衰减权重,仅此而已。但是这些权重取决于两个参数值,它们也需要估计:theta1 和 theta2。

现在,我想使用非线性最小二乘函数 nls() 估计参数 ß0、ß1、theta1 和 theta2 的最佳(相对于 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()

谢谢!

4

0 回答 0