全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Gauss专版
2012-1-7 21:18:18
epoh 发表于 2012-1-7 20:55
哈哈!这时候已经不看 P value
而是依据bootstrap critical values
这也是为甚么要做bootstrap 的原因 ...
epoh老师,您是说直接用
CHISQ(2) =   5.0820414     ; P-value = 0.07879
这里的CHISQ(2) =   5.0820414 与Bootstrap critical value比较吗?

呵呵,在我的想法里以为CHISQ(2) =   5.0820414     ; P-value = 0.07879永远是一对的,所以思维定势,转不过弯来,抱歉了,现在明白了,哈哈。

epoh老师,哈哈,您在43楼曾经直接演示回答了@NOB表示什么意思,我还是有点不解:
比如在我短信息的那个例子:
       @NOB        @NCOEF             P
Value         36.00000     144.00000       6.00000

这里得出@NOB=36,而按照您的算法应该是 29*38?我又哪里错了

哈哈,epoh老师,其实我对您83楼回答的cross-sectional depdendence 检验方法也不怎么理解?
比如现在我理解的有命令可以直接对这个方程回归残差进行cross-sectional depdendence 检验
yit=a+b*xit+eit
而对以下方程:
yit=a+b*xit+c*yi,t-1+eit
的残差没有直接命令进行检验


二维码

扫码加我 拉你入群

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

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

2012-1-7 21:52:05
ywh19860616 发表于 2012-1-7 21:18
epoh老师,您是说直接用
CHISQ(2) =   5.0820414     ; P-value = 0.07879
这里的CHISQ(2) =   5.082 ...
set nt = 29*38;
smpl 1,nt;
read(file='c:\wald1.xls');
print @NOB;    ?29*38


#########
      @NOB          @NCOEF             P
Value 36.00000     144.00000       6.00000

24 equations
@NOB 36 obs per equation
P :6 parameters per equation
@NCOEF   24 x 6= 144

####
cross-sectional depdendence 检验
我再举个例子说明好了
二维码

扫码加我 拉你入群

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

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

2012-1-7 22:05:33
epoh 发表于 2012-1-7 21:52
set nt = 29*38;
smpl 1,nt;
read(file='c:\wald1.xls');
好的 ,谢谢epoh老师
您和我讲讲Konya(2006)文章提到的BP检验是如何实现的?
目前我知道实现BP检验有直接命令的,不管是R还是其他软件,但是那命令都是针对没有y 滞后的
即没有y(-1)的,而现在文章公式是包含y(-1)的

呵呵,不知道我又是否在钻牛角尖,请您见谅
二维码

扫码加我 拉你入群

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

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

2012-1-8 09:08:09
ywh19860616 发表于 2012-1-7 22:05
好的 ,谢谢epoh老师
您和我讲讲Konya(2006)文章提到的BP检验是如何实现的?
目前我知道实现BP检验有 ...
原始数据:wald1
  N:29
  T:38, 1960 - 1997
  country,year,y,x
lag1整理后数据:CD_wald.csv  
CD_wald.rar
大小:(25.16 KB)

 马上下载

本附件包括:

  • CD_wald.csv


  N:29
  T:37, 1961 - 1997
  country,year,y,ylag1,x,xlag1,time

##########
library(plm)
cd=read.csv("CD_wald.csv")
pcdtest(ynew ~ xnew + ylag1, data=cd,index = c("country","year"))

Pesaran CD test for cross-sectional dependence in panels

data:  formula
z = -0.7497, p-value = 0.4534
alternative hypothesis: cross-sectional dependence
二维码

扫码加我 拉你入群

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

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

2012-1-8 09:48:46
epoh 发表于 2012-1-8 09:08
原始数据:wald1
  N:29
  T:38, 1960 - 1997
epoh老师,谢谢您
我想问一下您ynew和xnew这两个变量的生成原理是什么?是根据原始数据以何种方法生成?
ylag1和xlag1比较好理解
ylag1=ynew(-1)
xlag1=xnew(-1)


epoh老师,哈哈,我不是很理解之处其实在于:
library(plm)
cd=read.csv("CD_wald.csv")
pcdtest(ynew ~ xnew + ylag1, data=cd,index = c("country","year"))
就是pcdtest命令中的formula(如您上述的ynew ~ xnew + ylag1)是否允许包含ylag1?

二维码

扫码加我 拉你入群

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

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

2012-1-8 10:55:52
ywh19860616 发表于 2012-1-8 09:48
epoh老师,谢谢您
我想问一下您ynew和xnew这两个变量的生成原理是什么?是根据原始数据以何种方法生成 ...
ynew和xnew这两个变量的生成
就是依据lag取样
假设lag=1,T=1时
y=log(gdp)
y=
[1,]  1.6176045
[2,]  1.7227666
[3,]  1.6124334
[4,]  1.5507489
[5,]  1.4092782
[6,]  1.1524690
[7,]  1.0770481
[8,]  4.2671628
[9,]  4.2576390
[10,]  4.2615243
[11,]  4.2770966
[12,]  4.2998535
[13,]  4.2824687
[14,]  4.2270965
[15,]  2.9526160
[16,]  2.9673328
[17,]  2.9907197
[18,]  3.0076608
[19,]  2.9739978
[20,]  2.8972922
[21,]  2.8243507
[22,]  3.2642315
[23,]  3.2861606
[24,]  3.3061538
[25,]  3.3261146
[26,]  3.3020766
[27,]  3.1988364
[28,]  3.1162671
[29,]  4.4621886
[30,]  4.4670569
[31,]  4.4659081
[32,]  4.5042443
[33,]  4.4908810
[34,]  4.4152196
[35,]  4.3000028
[36,] -0.2903523
[37,] -0.2665731
[38,] -0.2718087

由于lag=1,
所以ynew=y[2:38]  #1961 - 1997
[1,]  1.7227666
[2,]  1.6124334
[3,]  1.5507489
.....
.....
[35,] -0.2903523
[36,] -0.2665731
[37,] -0.2718087

#######
所以ylag1=y[1:37] #1960 -1996
[1,]  1.6176045
[2,]  1.7227666
[3,]  1.6124334
.....
.....
[35,]  4.3000028
[36,] -0.2903523
[37,] -0.2665731
######
同理lag=2,
所以ynew=y[3:38]  #1962 - 1997

二维码

扫码加我 拉你入群

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

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

2012-1-8 12:44:16
epoh 发表于 2012-1-8 10:55
ynew和xnew这两个变量的生成
就是依据lag取样
假设lag=1,T=1时
epoh老师,谢谢您,讲解的非常明白
二维码

扫码加我 拉你入群

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

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

2012-1-11 21:43:42
epoh 发表于 2012-1-8 10:55
ynew和xnew这两个变量的生成
就是依据lag取样
假设lag=1,T=1时
epoh老师,我想请教您
是不是一般时间趋势项t可以不放在bootstrap过程中呢
因为不管如何抽取,都还是相同的元素
二维码

扫码加我 拉你入群

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

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

2012-1-12 11:14:00
ywh19860616 发表于 2012-1-11 21:43
epoh老师,我想请教您
是不是一般时间趋势项t可以不放在bootstrap过程中呢
因为不管如何抽取,都还是相 ...
老兄这个问题很好
需要时间思考一下比较周密
依照原程序
  SET ystarm(u,v)=beta(v,1)+beta(v,2)*ystarm(u1,v)+epsstarm(u,v);
但不管加入z or t
bootstrap 虽然得到系数beta(i,4)=c01.
即使公式配合更改为,
ystarm(u,v)=beta(v,1)+beta(v,2)*ystarm(u1,v)+beta(v,3)*ystarm(u2,v)+beta(v,4)*zstarm(u1,v)+epsstarm(u,v);
亦无作用,因为zstarm始终是一个 0 matrix
二维码

扫码加我 拉你入群

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

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

2012-1-12 11:19:40
epoh 发表于 2012-1-12 11:14
老兄这个问题很好
需要时间思考一下比较周密
依照原程序
epoh老师,为啥zstarm会都为0呢,zstram应该是和ystarm地位一致的?因为z也是有实际数据的。

按照公式应该是要把zstarm放入的,然后一起bootstrap的,不是按照上述的程序吗?
二维码

扫码加我 拉你入群

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

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

2012-1-12 18:33:21
ywh19860616 发表于 2012-1-12 11:19
epoh老师,为啥zstarm会都为0呢,zstram应该是和ystarm地位一致的?因为z也是有实际数据的。

按照公 ...
when lag=2
eps : 就是29 equations 的残差 35 x 29 matrix
     (在R是 36 X 29 matrix)
通过重复抽样产生 epsstarm 69 x 29 matrix
依公式
    ystarm(u,v)=beta(v,1)+beta(v,2)*ystarm(u1,v)+beta(v,3)*ystarm(u2,v)
                                  +beta(v,4)*zstarm(u1,v)+epsstarm(u,v);
产生 YSTARM : 69 x 29 matrix

                     1             2                 3                  4                  5
       1       0.00000       0.00000       0.00000       0.00000       0.00000
       2       0.00000       0.00000       0.00000       0.00000       0.00000
       3       0.00000       0.00000       0.00000       0.00000       0.00000
       4       1.13953       0.51320       0.47938       1.21040       0.55107
       5       4.69002       0.62523       0.17621       1.67990     -0.021115
       6       5.85155       1.05784       0.23553       1.70626      -0.24589
       ......
       ......
      67       6.31794       1.94352       1.00234       2.67014      0.035963
      68       7.06233       1.99408       1.10532       2.76241       0.14163
      69       6.82076       2.09180       0.89703       2.45345      -0.24589   
最后取1960 - 1997 (32:69) 38 x 29 matrix 当作ys.进行回归
   ( UNMAKE ystarm ys1-ys29; SMPL fyear lyear)
很明显的你可以看到ystarm不断产生新的数据
zstarm维持不动, 69 x 29 zero matrix
所以你说的没错
z or t 不必bootstrap
但是必须给他赋值
而且必须配合于第32 row恰好是第一个值

二维码

扫码加我 拉你入群

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

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

2012-1-12 18:39:11
epoh 发表于 2012-1-12 18:33
when lag=2
eps : 就是29 equations 的残差 35 x 29 matrix
     (在R是 36 X 29 matrix)
epoh老师,谢谢您
如果不对zstarm进行bootstrap,而是对其进行初始值,那程序应该做哪些变动?
二维码

扫码加我 拉你入群

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

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

2012-1-12 19:26:22
ywh19860616 发表于 2012-1-12 18:39
epoh老师,谢谢您
如果不对zstarm进行bootstrap,而是对其进行初始值,那程序应该做哪些变动?
我想到的一个简易且不会出错的办法是:
ystarm zstarm都设置为 76 x 29 matrix
那么z or t 都只要重覆一次T就OK了
这在R很简单,但在TSP又是 panel data就有点头痛了.哈哈!
如果不行,就是照一般的38 x 29 matrix
二维码

扫码加我 拉你入群

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

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

2012-1-12 19:36:11
epoh 发表于 2012-1-12 19:26
我想到的一个简易且不会出错的办法是:
ystarm zstarm都设置为 76 x 29 matrix
那么z or t 都只要重覆一 ...
恩,呵呵,epoh老师,这个好像是有难度
没有想到增加一个变量会那么复杂,哈哈,和我想象的完全不一样
如果不是您指出,恐怕我就用错程序了

谢谢您了
二维码

扫码加我 拉你入群

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

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

2012-1-12 21:55:42
ywh19860616 发表于 2012-1-12 19:36
恩,呵呵,epoh老师,这个好像是有难度
没有想到增加一个变量会那么复杂,哈哈,和我想象的完全不一样
...
OK了
就是先建立zstarm,tzstarm即可

MMAKE zmat zs1-zs29;    ?z variable
MMAKE(VERT) zstarm zmat zmat;

MMAKE tzmat ts1-ts29;   ?time trend
MMAKE(VERT) tzstarm tzmat tzmat;

wald1.xls最后面请自行多建一个column "time"
由1-38

二维码

扫码加我 拉你入群

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

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

2012-1-12 22:04:44
epoh 发表于 2012-1-12 21:55
OK了
就是先建立zstarm,tzstarm即可
epoh老师,是不是就在原程序中直接加入这几句命令就行?
需要放在什么位置呢?

还有您这样转换的大致思想是什么?
二维码

扫码加我 拉你入群

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

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

2012-1-12 22:07:22
ywh19860616 发表于 2012-1-12 22:04
epoh老师,是不是就在原程序中直接加入这几句命令就行?
需要放在什么位置呢?
请注意短信息
二维码

扫码加我 拉你入群

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

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

2012-1-12 22:28:47
epoh 发表于 2012-1-12 22:07
请注意短信息
好的,谢谢epoh老师
二维码

扫码加我 拉你入群

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

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

2012-1-12 22:41:36
ywh19860616 发表于 2012-1-12 22:28
好的,谢谢epoh老师
這就是我103樓所說
ystarm, zstarm,tzstarm都设置为 76 x 29 matrix
z or t 都重覆一次T,成為zstarm,tzstarm
如此ystarm,才能和 zstarm,tzstarm在時間點上精準配合
  
wald1_time.xls
大小:(142.88 KB)

 马上下载



二维码

扫码加我 拉你入群

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

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

2012-1-12 22:46:47
epoh 发表于 2012-1-12 22:41
這就是我103樓所說
ystarm, zstarm,tzstarm都设置为 76 x 29 matrix
z or t 都重覆一次T,成為zstarm, ...
epoh老师,刚看到您的信息,时间滞后了
谢谢您,我先看看
二维码

扫码加我 拉你入群

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

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

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?
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

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吗?

二维码

扫码加我 拉你入群

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

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

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);
二维码

扫码加我 拉你入群

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

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

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

为什么呢?


二维码

扫码加我 拉你入群

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

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

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);
二维码

扫码加我 拉你入群

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

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

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)计算?
二维码

扫码加我 拉你入群

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

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

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)
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

2012-2-10 09:21:31
new29.rar
大小:(2.66 KB)

 马上下载

本附件包括:

  • new29.odc


epoh老师,您好!
      有空帮我看看以下程序,谢谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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