楼主: janet0758
2851 6

[问答] 新手请教,AR(1)如何用GAUSS做? [推广有奖]

  • 0关注
  • 0粉丝

小学生

71%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
461 点
帖子
9
精华
0
在线时间
5 小时
注册时间
2010-3-2
最后登录
2013-10-5

楼主
janet0758 发表于 2012-3-3 10:10:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
刚入门,各种不会~~~请教各位大牛下,,AR(1)如何用GAUSS实现?

二维码

扫码加我 拉你入群

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

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

关键词:GAUSS Aus USS 如何用 如何

沙发
zhaomn200145 发表于 2012-3-3 10:26:45
recserar命令可以生成AR(1)过程。
Example n = 10;
fn multnorm(n,sigma) =
rndn(n,rows(sigma))*chol(sigma);
let sig[2,2] = { 1 -.3, -.3 1 };
rho = 0.5~0.3;
y0 = 0~0;
e = multnorm(n,sig);
x = ones(n,1)~rndn(n,3);
b = 1|2|3|4;
y = recserar(x*b+e,y0,rho);
In this example, two autoregressive series are formed using simulated
data. The general form of the series can be written:
y[1,t] = rho[1,1]*y[1,t-1] + x[t,.]*b + e[1,t]
y[2,t] = rho[2,1]*y[2,t-1] + x[t,.]*b + e[2,t]
The error terms (e[1,t] and e[2,t]) are not individually serially
correlated, but they are contemporaneously correlated with each other.
The variance-covariance matrix is sig.
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
gemini69 + 1 + 1 精彩帖子
xuehe + 100 + 3 + 1 根据规定进行奖励

总评分: 论坛币 + 100  学术水平 + 4  热心指数 + 2   查看全部评分

藤椅
janet0758 发表于 2012-3-3 13:36:18
zhaomn200145 发表于 2012-3-3 10:26
recserar命令可以生成AR(1)过程。
Example n = 10;
fn multnorm(n,sigma) =
非常感谢~~~但这个是生成模型吧?我想问的是如何对已有数据做AR(1)模型的估计……

板凳
janet0758 发表于 2012-3-6 14:10:35 来自手机
再求一次~作业要求……着急中~

报纸
iooo 发表于 2012-3-6 14:23:32
janet0758 发表于 2012-3-6 14:10
再求一次~作业要求……着急中~
与截面数据时的OLS估计是一样的。

比如y是一个序列,y_1是y的一阶滞后。

X=ones(rows(y),1)~y_1;
b=inv(X'*X)*X'*y;

方差等其它略。

已有 1 人评分学术水平 热心指数 收起 理由
gemini69 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

地板
janet0758 发表于 2012-3-6 18:05:59
iooo 发表于 2012-3-6 14:23
与截面数据时的OLS估计是一样的。

比如y是一个序列,y_1是y的一阶滞后。
非常感谢……但貌似y的一阶滞后用的是lag1(y)?

7
xuelida 在职认证  发表于 2012-3-12 09:25:30
当然也可以使用mle做。
library optmum;
t=1000;phi0=2;phi1=0.8;sig2 = 10;
ymat=zeros(t,1);
ymat[1]=rndn(1,1)*sqrt(sig2/(1-(phi1)^2))+(phi0/(1-phi1)); @y的第1个观测值@
i=2;do until i>t;
        ymat[i]=phi0+phi1*ymat[i-1]+rndn(1,1)*sqrt(sig2); @数据生成过程@
i=i+1; endo;

prmtr_in=0.5|0.75|ln(10.5); @参数初值@
{xout, fout, cout, gout}=optmum(&lik_f, prmtr_in);@ optmum模块,参考第5章的附录@
prm_fnl=trans(xout); @参数的转换@
cov=inv(hessp(&lik_f, xout)); @协方差矩阵@
grad=gradfd(&trans, xout); @梯度向量@
cov_fnl=grad*cov*grad'; @参数的协方差矩阵@
stde=sqrt(diag(cov_fnl)); @参数的标准差@
t_val=prm_fnl./stde; @参数的t统计量@
"The initial values are";;prmtr_in';
"Likelihood Values";;-fout;
"Estimated parameters before trans are";;xout';
"Estimated parameters after trans are";;prm_fnl';
"T-values are";;t_val';
"grad are";;grad';

proc lik_f(prmtr0);
local prmtr, phi_0, phi_1, ssig2, lnl, itr, et, lnf;
prmtr=trans(prmtr0); phi_0=prmtr[1]; phi_1=prmtr[2];
ssig2=prmtr[3];
lnl=0; @设置似然函数的初值@
itr=2; do until itr>t;
          et=ymat[itr]-phi_0-phi_1*ymat[itr-1];
          lnf=-0.5*ln(2*pi*ssig2)-0.5*((et^2)/ssig2); @似然函数@
          lnl=lnl+lnf;
itr=itr+1; endo;
retp(-lnl);
endp;
proc trans(prmtr1); @参数的转换过程@
local prmtr;
prmtr=prmtr1;
prmtr[2]=prmtr1[2]/(1+abs(prmtr1[2]));
prmtr[3]=exp(prmtr1[3]); @初值是对数,转换@
retp(prmtr);
endp;
已有 1 人评分学术水平 热心指数 收起 理由
gemini69 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 06:59