1. 手工检验
2. Stata官方命令
3. chowreg命令
4. 虚拟变量法
5. suchowtest命令
- /*
- Chowtest 检验汇总
-
- 1. 手工检验
- 2. Stata官方命令
- 3. chowreg命令
- 4. 虚拟变量法
- 5. suchowtest命令
- Author:ypp
- Date:2018-12-24
- */
- //一、数据介绍 来自《Stata统计分析与应用 第2版》 周广肃著
- //Year:1988-2010 连续年份
- //financevalue:金融业增加值
- //gdp: 国内生产总值
- //二、Chowtest分析
- //1. 手工检验 假设结构变动点为2003年
- cd "G:\My Statistics\统计方法 经济结构变化 chowtest"
- use "financevalue.dta",clear
- tsset year,yearly
- // 生成整个时期的回归方程,计算出这时的残差平方和
- regress financevalue gdp
- predict e,residual // 生成残差序列
- gen a=e^2 // 生成序列a,为残差平方和
- egen b=sum(a) // 序列a的和,残差平方和
- // 生成2003年以前序列的回归方程,计算前半段时期的残差平方和
- regress financevalue gdp if year<2003
- predict e1 if year<2003,residual
- gen a1=e1^2
- egen b1=sum(a1)
- // 生成2003年以后序列的回归方程,计算好半段时期的残差平方和
- regress financevalue gdp if year>=2003
- predict e2 if year>=2003,residual
- gen a2=e2^2
- egen b2=sum(a2)
- // 计算F统计量的值
- gen f=((b-b1-b2)/(2))/((b1+b2)/(23-2*2)) // 分子除以的自由度为K,是解释变量的个数(包括截距)
- // 分母除以的自由度为n-2K,n是样本容量
- sum f // f=17.92325
- di invFtail(2,19,0.05) // F分布界值 自由度(2,24)
- //2. Stata官方命令 假设结构变动点为2003年
- use "financevalue.dta",clear
- tsset year,yearly
- reg financevalue gdp // 非稳健性回归
- estat sbknown,break(2003) // 判断2003年是否存在结构变动,包括截距项
- // breakvars(gdp) 附加这个命令,只指定gdp变量
- reg financevalue gdp,r // 稳健性回归
- estat sbknown,break(2003) // 同上
- estat sbsingle // 在没有任何先验情况下,自动搜寻单个结构变动点,super-wald检验,
- // 包括截距项,结果与上述可能不一致
-
- //3. chowreg命令 稳健回归 假设结构变动点为2003年
- use "financevalue.dta",clear
- tsset year,yearly
- chowreg financevalue gdp,dum(15) type(3) // 第三方命令 dum(15)与2003年的指定有关
- // F检验值=17.92 Chow Test [K,N-2*K]=17.92
-
- chowreg financevalue gdp,dum(15) type(3) vce(robust) // 第三方命令 以稳健回归为准 不以chowtest为准 chowest前提是同方差
- // F检验值=13.67 Chow Test [K,N-2*K]=17.92
-
- //4. 虚拟变量 稳健回归 接chowreg生成的变量 假设结构变动点为2003年
- reg financevalue gdp dummy dummy_gdp,r // 结果同chowreg命令
- test dummy dummy_gdp
- reg financevalue gdp D0 Dx_gdp,r // 结果同chowreg命令 D0 Dx_gdp由chowreg生成,与原数据库dummy dummy_gdp一样
- test D0 Dx_gdp
- //5. suchowtest命令 稳健回归 自动搜索结构变动点 但结果与上述不一样 不建议使用
- use "financevalue.dta",clear
- tsset year,yearly
- gen trend=_n
- suchowtest financevalue gdp trend, thresv(gdp) stub(ypp) // 第三方命令 仅探索gdp的结构变动点 在0.10显著水平上没有结果
- suchowtest financevalue gdp trend, thresv(gdp) stub(ypp) vce(robust) // 第三方命令 仅探索gdp的结构变动点 稳健回归