全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1792 0
2011-03-21
shuju.txt
大小:(1.03 KB)

 马上下载

请问我下面的程序那里出错了,用的是牛顿环法。
s1=nls(y~b0+x1^b1+x2^b2,data=c1,start=list(b0=1,b1=2,b2=1))
summary(s1)
r自带的结果:
   Estimate Std. Error t value Pr(>|t|)   
b0  2.25309    0.30297   7.437 1.78e-09 ***
b1  0.50375    0.07178   7.018 7.67e-09 ***
b2  0.10824    0.19833   0.546    0.588
我自己写的程序:
b0=1;b1=2;b2=1;
w=y-b0-x1^b1-x2^b2
exp1=expression(b0+x1^b1+x2^b2)
c2=data.frame(z1=eval(D(exp1,"b0")),z2=eval(D(exp1,"b1")),z3=eval(D(exp1,"b2")))
e0=1;e1=1;e2=1
while(e0^2+e1^2+e2^2>=0.05){
   reg2=lm(w~z1+z2+z3-1,data=c2)
   e0=coef(reg2)[1];e1=coef(reg2)[2];e2=coef(reg2)[3]
   b0=b0+e0;b1=b1+e1;b2=b2+e2;
  c2=data.frame(z1=eval(D(exp1,"b0")),z2=eval(D(exp1,"b1")),z3=eval(D(exp1,"b2")))
   w=residuals(reg2)
}
b0
b1
b2
运行结果:
b0
   0.439291
> b1   
1.519478
> b2
    0.3713611
>
请高手赐教!
万分感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群