全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1269 3
2017-11-07
悬赏 4 个论坛币 未解决
我现在有一系列观测值,本来放在一个变量下用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;



二维码

扫码加我 拉你入群

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

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

全部回复
2017-11-7 12:35:42
初到论坛,小弟只有这么点论坛币了,见谅。
二维码

扫码加我 拉你入群

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

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

2017-11-7 13:27:13
刚刚试了下,好像
p=x(t)-y(t);
output;
就可以了,但是问题1还是不太清楚
二维码

扫码加我 拉你入群

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

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

2017-11-8 16:30:12
是我的表述有问题吗,麻烦各位谈谈看法呗
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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