题目是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;