我现在有一系列观测值,本来放在一个变量下用arima(1,1,0)去拟合想得到残差项,但是不太会两个变量对应项相减的操作,于是放在了一维数组中,又遇到了麻烦正态性检验var不能直接使用,一维数值数组怎么转换回一个变量呢?求教!!可能我的表述不是很清楚,就两个问题:1.两个长度相同的变量怎么对应项相减 2.一维数组如何转换为一个变量。(代码如下)
data residual;/*观测值*/
array x{40}(1.05 -0.84 -1.42 0.20 2.81 6.72 5.40 4.38
5.52 4.46 2.89 -0.43 -4.86 -8.54 -11.54 -16.22
-19.41 -21.61 -22.51 -23.51 -24.49 -25.54 -24.06 -23.44
-23.41 -24.17 -21.58 -19.00 -14.14 -12.69 -9.84 -10.29
-9.88 -8.33 -4.67 -2.97 -2.91 -1.86 -1.91 -0.80);
/*ARIMA拟合值*/
array y{40};
x_1=0;
x_2=0;
do t=-36 to 40;
e=rannor(12345);
p=x_2+0.68281*(x_2-x_1)+sqrt(2.853175)*e;
x_1=x_2;
x_2=p;
if t>0 then y(t)=p;
end;
do t=1 to 40;
/*残差项是一个一维数组*/
y(t)=x(t)-y(t);
end;
proc print data=residual;
run;
proc univariate data=residual normal;
/*这里出现了问题*/
var y();
run;