- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 14187 个
- 通用积分
- 28.9279
- 学术水平
- 344 点
- 热心指数
- 363 点
- 信用等级
- 228 点
- 经验
- 104882 点
- 帖子
- 1846
- 精华
- 0
- 在线时间
- 1608 小时
- 注册时间
- 2008-7-18
- 最后登录
- 2019-3-8
|
qiaoluo 发表于 2010-4-1 09:25 
题目是SAS/IML编写一个程序,计算岭参数k从0到1.000(每次变化量为0.001)时岭估计,一直运行不出来
代码proc iml;
start estimate(x,y,z);
b=(inv(x`*x+z))*x`*y;
return(b);
finish;
I={1,1,1,1,1,1,1,1,1,1,1};
X={1 149.3 4.2 108.1,
1 161.2 4.1 114.8,
1 171.5 3.1 123.2,
1 175.5 3.1 126.9,
1 180.8 1.1 132.1,
1 190.7 2.2 137.7,
1 202.1 2.1 146.0,
1 212.4 5.6 154.1,
1 226.1 5.0 162.3,
1 231.9 5.1 164.3,
1 239.0 0.7 167.6};
Y={15.9,16.4,19,19.1,18.8,20.4,22.7,26.5,28.1,27.6,26.3};
do k=0 to 1.000 by 0.001;
Z=k*I;
beta(k)=estimate(X,Y,Z);
end;
print beta(k);
run;
quit; A quick fix and let you you figure it the rest.
proc iml;
start estimate(x,y,z);
b=(inv(x`*x+z))*x`*y;
return(b);
finish;
I={1,1,1,1,1,1,1,1,1,1,1};
X={1 149.3 4.2 108.1,
1 161.2 4.1 114.8,
1 171.5 3.1 123.2,
1 175.5 3.1 126.9,
1 180.8 1.1 132.1,
1 190.7 2.2 137.7,
1 202.1 2.1 146.0,
1 212.4 5.6 154.1,
1 226.1 5.0 162.3,
1 231.9 5.1 164.3,
1 239.0 0.7 167.6};
Y={15.9,16.4,19,19.1,18.8,20.4,22.7,26.5,28.1,27.6,26.3};
do k=0 to 1.000 by 0.01;
Z=k*I(4);
beta=estimate(X,Y,Z);
print k beta;
end;
run;
quit;
|
-
总评分: 经验 + 3
论坛币 + 3
学术水平 + 1
热心指数 + 1
查看全部评分
|