SAS中文论坛

标题: 请教ar(1)模型 [打印本页]

作者: shiyiming    时间: 2003-11-5 21:57
标题: 请教ar(1)模型
data test;
input year y x1 x2 x3@@;
cards;

1978 42.1 6.8 27.7 26.8
1979 42.8 8.1 27.3 26.4  
1980 48.5 7.7 30.9 29.5
1981 48.3 7.8 29.9 28.5
1982 50.5 8.5 30.2 28.3
1983 55.9 10 32.9 30.9
1984 64.9 11.7 37.4 34.2
1985 78.4 10.8 45.6 41.7
1986 98.5 16.7 53.4 48.7
1987 123.1 19.2 67.7 61.2
1988 160.9 24.1 88.5 80.1  
1989 173.6 19.3 96.7 86.8
1990 191 23.5 98.7 88.4
1991 219.2 31.2 101.2 91.5
1992 270.5 32.1 124.3 109.5
1993 377.5 45.9 170.2 148.5
1994 519.7 52.8 255.9 231.7  
1995 645.1 69 305.3 274.5
1996 733 83 339.4 306.2
1997 820.6 89 387.6 355.2
1998 926.3 101.5 420.1 388.7
1999 1003.1 94.1 467.2 426.5
2000 1110.8 97.7 521.1 473.1
2001 1235.6 110.6 574.6 529
;

proc reg data=test;

model y=x1 x2 x3/dw;
run;

得出结果 dw 统计量为:0.713,可以说存在序列相关性。
我想 在方程中加如 ar(1) 项 形如 model y=x1 x2 x3 ar(1) (注意:这是错误的),

但这时便有了问题:

怎样采用模型呢?用哪个命令呢?
望高手指教,谢谢!
作者: shiyiming    时间: 2003-11-6 13:33
1、数据行第一行为5个数据,而后六行为6个数据。数据是不是有错误?

2、ar(1) 项 是指什么?
作者: shiyiming    时间: 2003-11-6 20:49
[quote="Jerry":6ca96]1、数据行第一行为5个数据,而后六行为6个数据。数据是不是有错误?

2、ar(1) 项 是指什么?[/quote:6ca96]

首先 愿贴中数据确实有误,实属本人不小心。现已经该过。

至于 ar表示: autoregress .这是对序列相关性的一种修正方法。至于阶数 是指定的

sas中有 自回归 命令 ,但我不知道如何和 我 的 问题结合起来。
作者: shiyiming    时间: 2003-11-7 13:22
你想做什么?使用差分法消除残差的序列相关性?还是使用残差的差分作为回归分析的自变量?

你可以使用
proc reg data=test;
model y=x1 x2 x3/r;
output out=tem r=r;
run;
data tem;
set tem;
lag_r=r-lag(r);
if lag_r ne . then output;
run;
proc reg data=tem;
model y=x1 x2 x3 lag_r;
run;
quit;
作者: shiyiming    时间: 2003-11-7 21:41
首先对您的回复表示感谢!

关于 arma 模型 ,或 仅是ar 、ma 模型的思想是计量经济学 中的概念。

将您 指出的 lag_r=r-lag(r)该为 lag_r=lag(r) 然后加如模型 有第一步的作用。

对于这个问题,我会再思考的。

同样表示感谢
作者: shiyiming    时间: 2003-11-10 09:39
计量经济学的arch,garch是从统计学上的ar,ma骗来的。
作者: shiyiming    时间: 2003-11-10 20:52
标题: 愿意深入交流
willon 您好:

在通过随机过程或时间序列模型进行拟合与预测分析时,经常假定随机过程或时间序列的元素x(t)与其过去取值x(t -1),x(t -2),… ,x(t -p)存在很强的依赖性,可以利用已经收集到的样本观测值来拟合或预测过程或变量未来的取值行为。这种假定可描述为如下模型:
x(t)= q 1x(t -1)+ q2 x(t -2)+ … + q p x(t -p)+ u(t)
其中,u(t)为白噪声。等价地,若用滞后算子表示,则有:
(1- q 1L - q 2L2 - … - q p Lp)x(t)= u(t)
称满足此种形式的随机过程或时间序列{x(t),t Î T }为p阶自回归过程或p阶自回归序列,并简称为AR(p)过程或AR(p)序列。这里,p为正整数,表示滞后阶数。

这是对单个序列的ar 过程。

我的问题是考虑到 残差 可能类似于 单个序列,所以想 用 残差 的ar(1) 带入到 原方程。[注意 此时方程 应为: y = x1 x2 x3 ar(1) ,它是一个整体的估计,但我们用 lag(r) 代替 ar(1) ,则意味着是 两步计算,这样和 上面的 方程系数是不相同的]
作者: shiyiming    时间: 2003-11-11 09:25
你好!

我知道你的想法,不过我现在实在是很忙,所以没有空跟你过多讨论。

不过在统计学的回归分析上,对于残差分析已经有很成熟的解决方法,你可以去参考,一般建议是使用加权最小二乘,或差分方法。不过你也不必搞的很复杂,你上面提到的dw建议只是检验残差的一阶线性序列相关性,这些简单做法的好处是,当拟和了一个比较合适的残差模型后,回归公式可以比较轻松的得到还原,如果残差模型有n阶的话,你试试看还原后的原回归方程是多么的复杂。
作者: shiyiming    时间: 2003-11-12 18:10
用ETS 中的proc model 过程,
reg是不行的
作者: shiyiming    时间: 2003-11-13 20:25
[quote="feifeichen":d2437]用ETS 中的proc model 过程,
reg是不行的[/quote:d2437]

的确不行,还望指教!

谢谢!

waiting........
作者: shiyiming    时间: 2004-3-2 01:17
标题: Re: 请教ar(1)模型
刚看到这个很久的留言,其实可以用AUTOREG就可以解决,试试:
proc autoreg data=test;
model y=x1 x2 x3/nlag=1;
run;

个人认为,象时间序列,自相关,联立方程等经济模型,使用EVIEWS是最有效的,功能集中而且齐全,自相关在EVIEWS中可以很简单的就用CORRELOGRAM选项检验,从低阶到高阶。在EVIEWS中,象你上述的模型可以直接用一般线性回归,只用加上自回归阶数就可以了。(y c x1 x2 x3 ar(1))选择普通线性回归选项就能处理了。
作者: shiyiming    时间: 2004-3-2 05:07
I have not checked into it, but if you like to form the problem as a time series question, you can try to use PROC ARIMA in SAS/ETS.  Both MA (miving average) and AR (Autoregressive) are special case for ARIMA model.
作者: shiyiming    时间: 2004-3-4 12:53
非常感谢 onon 和 xic 老师。搁了这么就 ,你们还不吝赐教。

我曾用 EVIEWS 做 时间序列的问题,很好的。但我当时想 sas也应该可以做时间序列的分析,希望都能学习一点,所以在sas中如何实现这个问题就提了出来。

many thanks to you !

romae
作者: shiyiming    时间: 2004-3-5 00:34
I would like you to check out PROC ARIMA in SAS/ETS, it is supposed to be the procedure to handle ARMA model.  Besides, I would like to bring your attention that the AR or MA model of higher order can be re-formaulted as a multi-dimensional model of order 1, by introducing more than one state variable.  For example, write [x(t),x(t-1),x(t-2)] as z(t).
作者: shiyiming    时间: 2004-3-5 18:11
[quote="xic":81300]Besides, I would like to bring your attention that the AR or MA model of higher order can be re-formaulted as a multi-dimensional model of order 1, by introducing more than one state variable.  For example, write [x(t),x(t-1),x(t-2)] as z(t).[/quote:81300]

i am sorry for my ability.I could not understand what's the mean.
Would you like to make some more explanation?

Many thanks!

romae




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2