楼主: ywh19860616
24472 168

[问答] 程序运行问题 [推广有奖]

111
ywh19860616 发表于 2012-1-12 23:06:09
epoh 发表于 2012-1-12 22:41
這就是我103樓所說
ystarm, zstarm,tzstarm都设置为 76 x 29 matrix
z or t 都重覆一次T,成為zstarm, ...
epoh老师,对程序我还有一些疑问
您把nall设置为76,是38*2吗?
SET nall=76;
按原来程序设定是会随着滞后阶数而改变的:SET nall=nextra+maxlag+nyear;
若我改变滞后阶数,比如mlagx和mlagy不等2,那nall要如何改变?

还有PROC BSTR eps epsstarm ystarm ;   这句是不是需要加上zstarm?
一份耕耘,一份收获。

112
epoh 发表于 2012-1-12 23:16:18
ywh19860616 发表于 2012-1-12 23:06
epoh老师,对程序我还有一些疑问
您把nall设置为76,是38*2吗?
SET nall=76;
那nall要如何改变?
  nall 就是固定76,不用改变
  数据我都对过,正确无误
  bootstrap后,就是取最后39 - 76 (38)

还有PROC BSTR eps epsstarm ystarm ;   这句是不是需要加上zstarm?
  不用加上,zstarm是自己赋值跟bootstrap无关
  其实你也看得出来
  bootstrap就是由残差抽样产生eps
  再产生新的ystarm,取最后39 - 76 (38)当作ys.,然后回归算wald stat

113
ywh19860616 发表于 2012-2-6 09:40:00
epoh 发表于 2012-1-12 23:16
那nall要如何改变?
  nall 就是固定76,不用改变
  数据我都对过,正确无误
epoh老师,新年快乐,元宵快乐
呵呵,回学校了,刚看到您的解答

恩,epoh老师,我想问下,针对不同的N和T,nall 的改变规律
比如N=12,T=20时,nall=24吗?

一份耕耘,一份收获。

114
epoh 发表于 2012-2-6 21:04:55
ywh19860616 发表于 2012-2-6 09:40
epoh老师,新年快乐,元宵快乐
呵呵,回学校了,刚看到您的解答
老兄,也祝你 元宵快乐!
nall算法如下:
SET nall=nextra+maxlag+nyear;
SET nextra=30;
SET nyear=lyear-fyear;  ?fyear=1960; lyear=1997;
SET maxlag=mlagy+POS(mlagx-mlagy);
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 谢谢epoh老师

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

115
ywh19860616 发表于 2012-2-6 21:46:24
epoh 发表于 2012-2-6 21:04
老兄,也祝你 元宵快乐!
nall算法如下:
SET nall=nextra+maxlag+nyear;
epoh老师,我没有理解
按上面给出的公式,应该nall=69,而不是76哦
30+37+2

是吗?


我试了一下,用这两种都能运行出结果,只是结果有不同
1、SET nall=nextra+maxlag+nyear; ??这个nall=69
2、SET nall=76

为什么呢?


一份耕耘,一份收获。

116
epoh 发表于 2012-2-7 11:09:42
ywh19860616 发表于 2012-2-6 21:46
epoh老师,我没有理解
按上面给出的公式,应该nall=69,而不是76哦
30+37+2
分两部分来说
1.依作者的公式
  nall=nextra+maxlag+nyear;
2.若加入z or t
  则nall=2*T (2*38=76)

就以此例子来说,若设定nall=69,会产生错误
  DO u=firsty TO nall;
  when u=67 ,v=1, TZSTARM(U,V) =  29.00000
  when u=68 ,v=1, TZSTARM(U,V) =  30.00000
  when u=69 ,v=1, TZSTARM(U,V) =  31.00000

若设定nall=76,才会正确.
  when u=74 ,v=1, TZSTARM(U,V) =  36.00000
  when u=75 ,v=1, TZSTARM(U,V) =  37.00000
  when u=76 ,v=1, TZSTARM(U,V) =  38.00000

更正:
ystarm(u,v)=beta(v,1)+beta(v,2)*ystarm(u1,v)+beta(v,3)*ystarm(u2,v)+beta(v,4)*tzstarm(u1,v)+epsstarm(u,v);
请更改为
ystarm(u,v)=beta(v,1)+beta(v,2)*ystarm(u1,v)+beta(v,3)*ystarm(u2,v)+beta(v,4)*tzstarm(u,v)+epsstarm(u,v);
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 谢谢epoh老师,是我自己没有清楚程序运行的.

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

117
ywh19860616 发表于 2012-2-7 11:48:56
epoh 发表于 2012-2-7 11:09
分两部分来说
1.依作者的公式
  nall=nextra+maxlag+nyear;
epoh老师,按您的说法我是否可以这样理解:若要加入其他的控制变量,如z or t,则不能用作者原来的公式:
nall=nextra+maxlag+nyear;
就比如本例中的T=38,N=29,当加入z or t时,应该这样计算nall=2*T(2*38=76)

因为我现在是全样本回归,后面还有对样本进行分类回归,比如N=12,T=38,此时的nall是否也是按照
nall=2*T(2*38=76)计算?
一份耕耘,一份收获。

118
epoh 发表于 2012-2-7 14:02:05
ywh19860616 发表于 2012-2-7 11:48
epoh老师,按您的说法我是否可以这样理解:若要加入其他的控制变量,如z or t,则不能用作者原来的公式: ...
bootstrap一开始产生的ystarm,不具代表性,必须去除.
这有点类似MCMC的burn in.
所以nall=69,就要去除前面的31,取后面38.
      nall=76,就要去除前面的38,取后面38.

你说的没错.
若加入其他的控制变量,如z or t,
不管是全样本回归,或分类回归,
nall都是 2*T(2*38=76)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 谢谢您,收获很大

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

119
ywh19860616 发表于 2012-2-7 22:11:08
epoh 发表于 2012-2-7 14:02
bootstrap一开始产生的ystarm,不具代表性,必须去除.
这有点类似MCMC的burn in.
所以nall=69,就要去除前 ...
好的,谢谢epoh老师,我先好好消化下您讲解的
一份耕耘,一份收获。

120
zhangtao 发表于 2012-2-10 09:21:31
new29.rar (2.66 KB) 本附件包括:
  • new29.odc

epoh老师,您好!
      有空帮我看看以下程序,谢谢!
数学好就是要天天学

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-17 22:13