模型选择问题分析及相关代码

HarmonyOS

  作者:郑铿城,经济学博士,数学建模指导教练

  一、模型选择问题概述

  如何进行模型选择,即在构建模型的时候,我们要确定是构建混合面板数据模型(pool模型),还是要构建只有个体效应或者只有时点效应的面板模型,还是构建个体时点双固定效应模型呢,这对后面的模型分析十分重要。现基于Stata软件对这一建模过程做整体回归。第一步就是输入数据,包括对数据取对数等处理,第二步是做描述性统计分析,分析数据的最大值、最小值等数据属性。第三步是做单位根检验,可参考狂搞计量1-单位根检验,一般当数据的量大于20的时候才做单位根检验,单位根检验主要是为了检验数据是否平稳,若数据是平稳的,再做变截距检验,确定我们的模型是pool模型,还是个体时点模型。在这里,首先要进行chow检验或者LR检验,若不拒绝原假设,则我们把模型设定为pool模型,若拒绝原假设,再考虑是个体模型还是时点模型,关于chow检验和LR检验的原理,可以看狂搞计量2-变截距面板数据模型,如果是个体模型,则可以用hausman检验来判断是个体固定效应模型还是个体随机效应模型。如果拒绝H0,则是固定效应,否则是随机效应。

  二、Stata中操作

  第一步,输入数据,然后进行数据相关处理。

  encode province, gen(provi) /*----生成新变量provi(取值为1,2,3...)替代province----*/

   /*----注意:若个体变量为1,2,3……整数,就无需使用encode命令----*/

  xtset provi year /*----告诉Stata该数据为面板数据----*/

  gen lnq=log(q)

  g lnarea=log(area)

  g lnfarmm=log(farmm)

  g lnagchf=log(agchf)

  第二步,做pool回归,把pool回归的残差平方和以及对数似然函数值调出来。

  /*---------pool回归--【约束模型】表示:H0成立时对应的回归模型------------*/

  reg lnq lnarea lnfarmm lnagchf

  /*----pool回归--quietly表示不显示回归结果---*/

  estimates store POOL1F

  gen rss_r=e(rss)

  display rss_r /*----调用pool回归的残差平方和----*/

  gen ll_r=e(ll)

  display ll_r /*----调用pool回归的对数似然函数值----*/

  第三步,判断是否用个体时点双固定效应模型

  /*-----【个体、时点】双固定效应回归-【无约束模型】表示:H1对应的回归模型-------*/

  /*---------【注意】此处的原假设H0:pool模型-------------*/

  quietly xtreg lnq lnarea lnfarmm lnagchf i.year,fe /*----个体时点【双】固定效应回归【无约束回归】,附Chow检验,此Chow检验无效----*/

  gen rss_u2=e(rss)

  display rss_u2 /*----调用残差平方和----*/

  gen ll_u2=e(ll)

  display ll_u2 /*----调用对数似然函数值----*/

  gen df_u2=e(df_r)

  di df_u2 /*----调用残差平方和的自由度NT-N-T-k+1(k为解释变量的个数)---*/

  gen N2=e(N_g)

  di N2 /*----调用个体数N----*/

  gen T2=e(N)/e(N_g)

  di T2 /*----调用时间长度T----*/

  di "F = " ((rss_r-rss_u2)/(N2-1+T2-1))/(rss_u2/df_u2) /*----根据Chow检验定义构造Chow检验统计量----*/

  di invFtail(N2-1+T2-1,df_u2,0.05) /*----计算F检验5%显著性水平对应的临界值----*/

  /*----对比F统计量的值和临界值的大小,若F统计量的值大,拒绝原假设H0(表示截距项应该变),否则不拒绝H0,表明应该建立pool模型,下面的LR检验类似判断----*/

  di "LR = " -2*(ll_r-ll_u2) /*----根据LR检验定义构造LR检验统计量----*/

  di invchi2tail(N2-1+T2-1,0.05) /*----计算卡方检验5%显著性水平对应的临界值----*/

  看上图结果,从chow检验结果,可以看出F值大于临界值,故拒绝原假设,同理看LR检验的结果,LR值大于临界值,故也是拒绝原假设,则认为我们的这个模型至少不应该是pool模型,那么它是时点还是个体呢,故要继续分析。

  第四步,个体效应模型检验

  /*------【个体】固定效应回归-【无约束模型】表示:H1对应的回归模型------------*/

  /*---------【注意】此处的原假设H0:pool模型-------------*/

  xtreg lnq lnarea lnfarmm lnagchf,fe /*----个体固定效应回归【无约束回归】,附F、Chow检验----*/

  estimates store FE1F

  /*----对于【个体固定效应】模型,回归结果中附有F、Chow检验,可以不计算--当然,也可以根据下列算法计算Chow、F检验或者LR检验统计量。但是,对应时点固定效应,个体时点双固定效应Stata未给出对应的F检验,注意:个体时点双固定效应时,Stata回归结果中最下面一行给的F检验不是真正意义上的F检验----*/

  gen rss_u=e(rss)

  display rss_u /*----调用残差平方和----*/

  gen ll_u=e(ll)

  display ll_u /*----调用对数似然函数值----*/

  gen df_u=e(df_r)

  di df_u /*----调用残差平方和的自由度NT-N-k(k为解释变量的个数)----*/

  gen N=e(N_g)

  di N /*----调用个体数N----*/

  gen T=e(N)/e(N_g)

  di T /*----调用时间长度T----*/

  di "F = " ((rss_r-rss_u)/(N-1))/(rss_u/df_u) /*----根据Chow检验定义构造Chow检验统计量----*/

  di invFtail(N-1,df_u,0.05) /*----计算F检验5%显著性水平对应的临界值----*/

  /*----对比F统计量的值和临界值的大小,若F统计量的值大,拒绝原假设H0(表示截距项应该变), 否则不拒绝H0,表明应该建立pool模型,下面的LR检验类似判断----*/

  di "LR = " -2*(ll_r-ll_u) /*----根据LR检验定义构造LR检验统计量----*/

  di invchi2tail(N-1,0.05) /*----计算卡方检验5%显著性水平对应的临界值----*/

  得到的结果为:

  同理,看chow检验和LR检验对应的值和临界值的比较,都比临界值大,故要拒绝原假设,认为该模型是个体效应模型。再分析是否是时点效应模型。

  第五步,时点效应模型检验

  /*-----【时点】固定效应回归-【无约束模型】表示:H1对应的回归模型------------*/

  /*---------【注意】此处的原假设H0:pool模型-------------*/

  reg lnq lnarea lnfarmm lnagchf i.year /*----时点固定效应回归【无约束回归】----*/

  estimates store FE2t

  gen rss_u1=e(rss)

  display rss_u1 /*----调用残差平方和----*/

  gen ll_u1=e(ll)

  display ll_u1 /*----调用对数似然函数值----*/

  gen df_u1=e(df_r)

  di df_u1 /*----调用残差平方和的自由度NT-T-k(k为解释变量的个数)----*/

  * gen F1=((rss_r-rss_u1)/(T-1))/(rss_u1/df_u1)

  /*----【注意】T就是时间长度,可以自己手动输入,也可以调用,此处需回归个体固定效应模型,因为此处的T是在个体固定计算出来的,只需将个体固定效应模型以及关于T的命令回归一次即可----*/

  di "F = " ((rss_r-rss_u1)/(T-1))/(rss_u1/df_u1) /*----根据Chow检验定义构造Chow检验统计量----*/

  di invFtail(T-1,df_u1,0.05) /*----计算F检验5%显著性水平对应的临界值----*/

  /*----对比F统计量的值和临界值的大小,若F统计量的值大,拒绝原假设H0(表示截距项应该变),否则不拒绝H0,表明应该建立pool, 下面的LR检验类似判断----*/

  *gen LR1=-2*(ll_r-ll_u1)

  di "LR = " -2*(ll_r-ll_u1) /*----根据LR检验定义构造LR检验统计量----*/

  di invchi2tail(T-1,0.05) /*----计算卡方检验5%显著性水平对应的临界值----*/

  得到的结果为:

  这个时候得到的值是小于临界值的,故不拒绝原假设。

  因此我们的模型只能是个体效应模型,而不是时点效应模型,那么是个体固定效应还是个体随机效应呢?继续做下一步。

  第六步,Hausman检验

  /*-----Hausman检验------- H0:随机效应模型;H1:固定效应模型----*/

  xtreg lnq lnarea lnfarmm lnagchf,fe /*----个体固定效应回归,附Chow检验----*/

  esti store FE1

  xtreg lnq lnarea lnfarmm lnagchf,re /*----个体随机效应变截距模型FGLS----*/

  esti store RE1

  hausman FE1 RE1,constant sigmamore

  /*----Hausman检验,拒绝原假设H0,表示应建立个体固定效应模型----*/

  得到的结果为:

  故我们拒绝原假设,认为该模型是个体固定效应模型。然后以个体固定效应模型的方式进行分析。

  第七步,正确模型的回归

  xtreg lnq lnarea lnfarmm lnagchf,fe r

  三、其他相关问题的说明

  当统计检验与定性分析(权威理论、权威文献研究结论等)不一致时,如何选择?例如,定性分析认为应该建立个体固定效应模型较为合理,然而,统计检验显示应该建立个体随机效应模型,此时,如何处理?首先要分析不一致的原因,可能包括:样本容量不够大(N、T)、数据非平稳,按平稳处理、变量选择不合适、可能存在遗漏变量等问题。若本身是随机效应,将其设置为固定效应,得到的估计量之间的差较小;相反,若本身是固定效应,将其设置为随机效应(检验为随机效应),得到的估计量之间的差较大。(Hausman检验原理),因此当出现不一致的情况时,稳健性检验就相当必要。

  部分期刊中的写作步骤:

  ① 根据相关理论、定性分析、权威文献等,得出截距项是随个体、时点、个体时点变化;与解释变量相关 ② 设置成相应的固定效应,直接回归、显著性检验 ③ 稳健性检验 ④ 结论分析、政策建议。

标签: HarmonyOS