☰
Eviews中ARDL模型完整实操:单位根检验、边界检验与误差修正解读
2026/10/14 2:49:30 网站建设 项目流程

简介:面向需要使用EViews完成自回归分布滞后模型分析的研究者与高年级学生,这份docx文档系统梳理了ARDL建模的完整执行流程。内容以截图与文字说明相结合,覆盖工作文件创建、数据录入、变量取对数、单位根检验、ARDL方程估计,以及长期趋势与Bounds协整检验的关键环节,帮助读者理解EViews 9及以上版本中ARDL工具的操作逻辑和结果查看方式。资源包仅1个docx文件,大小约446KB,轻量便于快速查阅;适合作为论文实证分析的配套参考资料,也适合刚接触ARDL模型的读者按步骤上手练习。该资源已有3504人学习下载,实用价值得到较多用户认可。

1. 用Eviews跑ARDL到底在解决什么,什么场景下你该打开Eviews

假设你手头有二十多个年度的宏观时间序列,想验证货币供应量、利率和经济增长之间是否存在长期均衡关系。你打开Eviews做完单位根检验,发现通胀序列是平稳的,GDP和M2却是一阶单整——传统协整方法到这里就被卡住了,因为Johansen和Engle-Granger都默认“所有变量同阶单整”。自回归分布滞后(ARDL)模型就是为这种场景设计的:允许I(0)与I(1)混用,小样本下的检验表现比Johansen更稳定,而且一次估计能同时输出长期关系与短期误差修正项。这篇笔记按Eviews自带ARDL向导为主干,完整带你走一遍从单位根体检、模型设定、边界检验到结果解读的流程,最后集中列出几个容易翻车的细节。

2. 动手前先立逻辑:ARDL的原理、适用条件与模型形式选择

2.1 ARDL在协整方法里的位置:小样本和混合阶数是它最大的卖点

协整检验主流有三条路线。Engle-Granger两步法只适合两个变量,而且要求两序列同阶单整,两步估计还会把第一步的残差误差带进第二步,小样本下偏误明显;Johansen极大似然法适合多变量系统,但样本量不足时特征根估计很不稳,同样默认所有变量都是I(1)。ARDL完全不同:它把回归方程写成“差分项 + 滞后水平项”的形式,通过边界检验判断滞后水平项作为一个整体是否显著。因为方程里同时混有平稳的差分项和非平稳的水平项,F统计量不服从标准F分布,所以临界值必须查专门用蒙特卡洛模拟生成的表——这套临界值来自2001年发表的边界检验原始文献,学术界习惯简写为PSS2001。

ARDL的实际价值有三点。第一,变量可以I(0)与I(1)混用,前提是不要出现I(2)。第二,它是单方程估计,不需要像Johansen那样估计整个系统,20到40个年度观测就能跑出可靠结果。第三,估计结果天然分成长期关系和误差修正两部分,你不用像EG两步法那样先取残差再回归一次,所有东西在Eviews的一次输出里都能找齐。这篇文章锁定的就是Eviews环境下最稳妥的这套落地路径。

2.2 先做三张“体检表”:单位根、样本量、季节性

ARDL的边界检验临界值表,模拟前提是变量的单整阶数最高为1。一旦样本里混进I(2)变量,F统计量会整体上移,用原表比对时极容易误判成“协整显著”——这是整个ARDL流程里最隐蔽的一个坑。所以在跑ARDL之前,必须给每个变量做单位根检验,而且要确认“水平值不平稳、一阶差分平稳”这个结论是真的。

在Eviews里,最直接的体检命令是ADF检验,先看水平值再看一阶差分:

' 水平值的ADF检验:带截距项,滞后阶数由软件自动选择 freeze(tab_adf_lv) gdp.uroot(adf, "intercept") ' 一阶差分的ADF检验:同样带截距项 freeze(tab_adf_d1) gdp.uroot(adf, "intercept", 0, 1)

第一条命令生成水平值序列的ADF检验表,第二条命令里第二个参数“intercept”表示检验式带截距项,最后的“1”表示做一阶差分。如果水平值检验的p值大于0.05、而一阶差分检验p值小于0.05,说明该序列是一阶单整(I(1));如果水平值检验p值本身就小于0.05,那就属于平稳序列I(0);如果两个检验都无法拒绝,再追加一次二阶差分检验,确认是否I(2)。注意,这里把“intercept”换成“trend”,适用于时序图有明显上升趋势的情况,否则优先用截距项,不要盲目加趋势项。

样本量方面,我一般遵循一个经验下限:年度数据至少25个观测,季度数据至少40个,月度数据至少60个。样本再小,边界检验的势会很低,就算F值落在显著区间里,结论也容易挨质疑。季节性方面,季度和月度数据要先处理季节成分,Eviews里可以用菜单里的X13方法做季节调整,把去掉季节波动的序列再放进ARDL,否则滞后阶数会被季节周期抬高,模型参数虚耗严重。

2.3 截距与趋势选项为什么直接决定临界值:五个Case的对应关系

在ARDL边界检验框架里,模型外层方程和内层协整方程是否包含常数项和趋势项,决定了F统计量到底该对照哪一套临界值。很多新手在Eviews输出表里找不到与自己设定对应的行,或者拿错临界值导致结论反转。这部分我把“确定性项”当成一个独立维度看,在Eviews的ARDL对话框里通常对应这几个选项:None、Unrestricted Constant、Restricted Constant、Unrestricted Constant and Trend等。

选择逻辑分三种常见情形。如果变量在单位根检验时都没有明显趋势,选择Unrestricted Constant是默认做法;如果原始数据带有共同时间趋势,比如GDP水平值长期上行,选择Unrestricted Constant and Trend更稳妥;只有当你已经明确知道协整方程内部应该含常数或趋势(比如验证购买力平价这类有理论约束的方程)时才使用Restricted形式。下表总结了对应关系:

Eviews选项模型含义一般适用场景
None无截距无趋势标准化后的序列、收益率
Unrestricted Constant截距不受协整关系约束绝大多数宏观实证默认选择
Restricted Constant常数属于协整空间有理论约束的长期方程
Unrestricted Constant and Trend截距和趋势都不受约束变量存在确定性共同趋势
Restricted Constant and Trend常数和趋势都属于协整空间偏理论测试,实际很少用

选错Case的直接后果是临界值表格不匹配,F统计量虽然同一个,但判断结果可能从“显著”变“不显著”。我的习惯是先画时序图,根据序列走势决定选项,然后打开边界检验输出表,确认里面标注的Case和选择一致,再下最终结论。

3. EViews里跑通ARDL的完整操作:数据准备、对话框选项和命令行替代

3.1 数据准备:从Excel到Workfile的变量命名规范

数据导入这一步看着简单,但变量名出问题导致的报错非常隐蔽。Eviews中变量名不能有中文、不能有空格,尽量不要以数字开头;如果Excel表头里带了单位或说明文字,导入时Eviews会生成带非法字符的序列名,后面跑模型时会出现Type mismatch这类莫名其妙的报错。我通常先在Excel里把表头改成gdp、m2、cpi、rate这类简单名称,再去Eviews里建Workfile。

创建年度工作文件并导入数据的命令如下:

' 创建年度工作文件,样本期1995-2023,工作文件名为macro_research wfcreate(wf=macro_research, page=annual) 1995 2023 ' 从Excel导入四个序列,第一行是变量名,数据从第二行开始 read excel_imp(file="macro_research.xlsx", sheet="Sheet1", namesfirst) gdp m2 cpi rate

wfcreate用于生成工作文件,后半部分指定了样本期范围。read命令负责导入Excel数据,namesfirst表示把Excel第一行识别为序列名,后面跟的gdp、m2、cpi、rate就是导入后的序列名。如果Excel文件不在Eviews默认工作目录下,先执行cd命令切换到数据所在目录。导入完成后,双击每个序列目测一下数字和日期是否对位,尤其注意Excel里的年份列有时会变成文本格式,导致日期错位。

3.2 第一次跑ARDL:菜单向导的每个选项怎么填

从EViews第10版开始,ARDL已经有了完整的图形向导,不需要再手工构造差分项和滞后水平项方程。操作路径是:点击Quick → Estimate Equation,在弹窗的Method下拉框里选择ARDL,然后在Equation Specification区域设置变量。这里有几个参数直接决定结果质量。

因变量区域填入一个水平值序列,比如gdp;解释变量区域逐个列出m2、cpi、rate。下方的Lag settings里有一个Maximum regressor lags,控制每个解释变量的最大滞后阶数,建议先填2或3跑一个粗略结果,再按信息准则微调。旁边的Information criterion下拉框可选Akaike Info Criterion、Schwarz Criterion等,Eviews会在0到最大滞后之间自动搜索最优组合。再往下是Deterministic regressor,也就是上一章说的Case选择,新手先用Unrestricted Constant跑通,熟悉后再切手动模式理解方程结构。

设置完成后点击OK,Eviews会依次生成模型信息表、滞后阶数选择表、估计结果主表、以及边界检验输出表。这个输出包基本覆盖了论文里ARDL实证部分需要的全部素材。我一般会把滞后阶数选择表和边界检验表单独冻结保存,因为后续改参数重跑时这些表会被覆盖,而评审时往往需要原始输出截图。

3.3 用EViews命令把单位根检验和ARDL串成一条流水线

如果不想反复点菜单,EViews也支持把整个流程写成一段命令脚本。下面这个脚本可以在Eviews的命令窗口逐行执行,也可以在Program窗口保存后一次性运行:

' 切换到数据所在目录(改成你自己的路径) cd "D:\econometrics\ardl_case" ' 创建年度工作文件 wfcreate(wf=macro_research, page=annual) 1995 2023 ' 对gdp做ADF检验:水平值与一阶差分 freeze(tab_adf_lv) gdp.uroot(adf, "intercept") freeze(tab_adf_d1) gdp.uroot(adf, "intercept", 0, 1) ' 估计ARDL:gdp为因变量,解释变量为m2、cpi、rate,含不受限常数 equation eq_ardl.ardl gdp m2 cpi rate @ c

第一段命令确认gdp不是I(2),实际工作中把gdp换成每个变量各执行一遍;equation这一行调用ardl方法,用gdp做因变量,m2、cpi、rate做解释变量,@ c表示模型包含不受限常数项。执行完这条命令后,eq_ardl对象就生成了。要查看边界检验结果,在eq_ardl结果窗口顶部的View菜单里选择ARDL Bounds Test即可。如果你需要限定最大滞后阶数,可以在equation命令里追加lagmax参数,例如:

' 限定解释变量最大滞后2期,按Schwarz准则自动选阶 equation eq_ardl_2.ardl(lagmax=2, ic=schwarz) gdp m2 cpi rate @ c

这里的lagmax告诉Eviews只搜索0到2期滞后,ic=schwarz指定用Schwarz信息准则定阶。注意Eviews各版本的参数拼写略有差异,执行前先看命令栏提示,避免因参数名不识别而报错。

3.4 滞后阶数和信息准则的经验法则

ARDL对滞后阶数的敏感度比一般VAR更高。最大滞后太小,模型会漏掉动态结构;太大,则在样本量有限时浪费自由度,甚至因为回归元过多导致边界检验F统计量虚低。我的经验法则是:年度数据最大滞后取2到4,季度数据取8左右,月度数据取12以内。如果数据有强季节性,就在数据准备阶段做季节调整,让滞后阶数回归到正常的短周期。

信息准则选择上,BIC在样本量30到50时表现更简洁,AIC在大样本下能捕捉更细的短期动态。如果你用AIC得到的最优滞后比BIC高出很多,优先采用BIC的结果,并做一次稳健性验证:把两种滞后结构都跑一遍,看边界检验结论是否一致。如果结论一致,直接在论文里报告BIC版本;如果不一致,多半是样本量不足或存在结构断点,需要回到单位根检验和图形观察找原因。

4. 读懂Eviews的ARDL输出:边界检验、长期系数与误差修正项

4.1 边界检验的四步判读法

Eviews的输出中,最关键的表格通常叫ARDL Bounds Test。它给出一个F统计量,以及两组临界值:I(0) Bound和I(1) Bound。I(0)表示所有变量都平稳时的临界值,I(1)表示所有变量都一阶单整时的临界值。判读就四步:

  1. 找到F统计量的具体数值;
  2. 确定你使用的显著性水平,常用5%;
  3. 若F大于I(1)临界值,拒绝“不存在水平关系”的原假设,说明变量间存在长期协整关系;
  4. 若F小于I(0)临界值,不能拒绝原假设,视为没有长期关系;如果F落在两者之间,属于灰色区间,无法下结论,需要调整模型设定后用新的F值再判。

这里要强调一点:边界检验的原假设是“不存在水平关系”,拒绝它才说明变量之间存在长期均衡。很多人把结论反过来念,这是写论文时最容易犯的表述错误。

4.2 长期系数和误差修正项到底怎么看

在Eviews的ARDL输出区中,估计主表之后会有一个长期方程表,通常标注为Levels Equation或Cointegrating Equation。上面列出每个水平变量的长期系数,系数含义是解释变量变动1%时因变量长期均衡水平的边际变化。紧接着的误差修正项通常标记为CointEq(-1),它来源于估计方程里滞后水平项的组合,系数代表偏离均衡后一个时期内被修正的比例。

误差修正项的系数为负且p值显著,是通过检验的正常表现。绝对值越大,说明向长期均衡回归的速度越快。如果系数为正,或绝对值大于1,模型设定基本可以判定有问题。短期动态系数则藏在主表里的差分项上,反映解释变量当期变化对因变量变化的即期影响,解释时不要和长期系数混在一起。

4.3 Case设定与实际输出的对照:别查错临界值栏

Eviews边界检验输出表里会把当前Case明确标出来,比如Case 2: Unrestricted Constant,这必须和你之前在对话框里选的确定性项保持一致。如果不一致,说明可能被某个默认选项覆盖了,这时回到ARDL对话框重新跑一遍,不要在多个选项之间互相覆盖。

下面给一个典型的输出判读速查示例,数字为模拟值,仅用于说明读法:

输出项数值示例解读
F-Bounds Test统计量6.835%水平下I(0)=3.23、I(1)=4.35,F>4.35,存在长期均衡
长期系数:m20.42M2增长1%,长期GDP增长0.42%
长期系数:cpi-0.18通胀上升对GDP长期有负向影响
CointEq(-1)-0.35偏离均衡后每年修正35%

5. ARDL避坑手册:五个常见问题与排查路径

5.1 现象:水平值和一阶差分都不平稳,变量疑似I(2)

现象:跑ADF检验,水平值不平稳,一阶差分还是不平稳,只有二阶差分才平稳。

原因:序列里含有非常强的趋势,或者本身是价格指数这类方差随时间膨胀的变量,也可能存在结构突变点导致ADF检验势下降。

解决:先对变量做对数变换再重新检验,增长率或对数序列通常能降到I(1);如果仍无法解决,ARDL方法不再适用。这时可以考虑把该变量替换成差分形式放进模型,并明确说明损失了长期水平信息;或者改用专门处理I(2)变量的协整框架。

5.2 现象:Method列表里找不到ARDL选项

现象:Quick → Estimate Equation,Method下拉框里死活找不到ARDL。

原因:最常见的是Eviews版本太老,9及更早版本没有图形化ARDL向导;也有个别安装因为授权限制没有加载对应组件。

解决:优先升级到新版本;如果不能升级,就手动构造ARDL:把每个变量的水平值滞后一期和差分项都写进方程,做一次OLS回归,然后对全部水平滞后项做联合显著性F检验,再对照PSS2001的临界值表判断。需要注意手动构造时差分滞后阶数要自己补全,最容易漏项。

5.3 现象:F统计量落在临界区间中间,结论悬在半空

现象:F值不高不低,正好卡在I(0)和I(1)临界值之间,进入灰色区间,协整结论没法下。

原因:样本量不足是最常见的原因,其次是滞后阶数过长消耗了太多自由度,还有可能是确定性项选错导致临界值表格不匹配。

解决:先把最大滞后从4缩到2或1,看F值是否移动;再把信息准则从AIC换成BIC,减少参数数量;最后检查Case设置。如果调整后仍在灰色区间,稳妥的做法是当作没有协整关系处理,或者用Johansen方法交叉验证一下结论。

5.4 现象:误差修正项系数为正,或者绝对值大于1

现象:CointEq(-1)系数是正的,或者虽然为负但绝对值达到1.5、1.8这种水平。

原因:这是典型的模型设定危险信号。可能混入了I(2)变量、遗漏了某个关键水平项、或者样本期内存在断点导致长期关系不稳定。

解决:先回看边界检验是否真的通过,如果F值本身就在临界边缘,这时的ECM系数不可靠;然后检查模型里是否每个非平稳变量都带上了滞后水平项;最后做CUSUM稳定性检验。绝对值大于1通常意味着脉冲响应是发散的,即使F值显著,也不能认为存在收敛的长期均衡关系。

5.5 现象:滞后阶一变,协整结论就翻车

现象:最大滞后设2时协整显著,设4时忽然不显著,整个结论跟着滞后阶数摇摆。

原因:样本量太小导致自由度紧张,或者序列存在结构突变,使边界检验在断点附近很不稳定。

解决:在论文里同时报告两个滞后阶数下的结果,说明结论对滞后设定的稳健性;再跑CUSUM和CUSUM平方检验定位不稳定区间;如果确实存在断点,加入虚拟变量或拆分子样本重新估计。

6. 把ARDL做成可复用流程:模板化脚本、稳定性检验与残差诊断

6.1 把ARDL流程固化成模板程序

如果你经常要处理不同数据集的ARDL分析,把前面零散的命令整理成一个模板程序是最值得花的时间。我现在的做法是在Eviews的Program窗口里保存一个总控脚本,每次换数据只改文件路径、序列名和样本区间:

' 通用ARDL流程模板:改这三行就可以复用于新数据 cd "D:\econometrics\ardl_case" wfcreate(wf=research_template, page=annual) 1995 2023 import excel_imp(file="newdata.xlsx", namesfirst) ' 对所有变量做ADF水平值与一阶差分检验 gdp.uroot(adf, "intercept") m2.uroot(adf, "intercept") cpi.uroot(adf, "intercept") rate.uroot(adf, "intercept") ' 估计ARDL equation eq_tpl.ardl gdp m2 cpi rate @ c

这个模板把最容易忘记的单位根体检环节固定在流程最前面,避免拿I(2)变量去硬跑ARDL。等到模型跑通后,再做稳定性与残差诊断。

6.2 稳定性与残差诊断:别让协整结果变成“黑匣子”

边界检验通过只是第一步,论文里通常还需要证明模型参数在样本期内是稳定的。Eviews里最常用的两个工具是CUSUM和CUSUM平方图:在eq_tpl结果窗口点View → Stability Diagnostics → Recursive Estimates,把CUSUM和CUSUMSQ图分别冻结出来。如果曲线一直落在5%临界线构成的包络带内,说明参数结构稳定;一旦曲线跑出带外,你就要怀疑断点或非线性关系了。

残差诊断同样不能跳过。在结果窗口的View → Residual Diagnostics里做三件事:Serial Correlation LM Test看自相关,Heteroskedasticity Tests看异方差,Normality Test看正态性。ARDL对小样本残差自相关比较敏感,如果LM检验在滞后1到4阶下p值小于0.05,优先增加差分滞后阶数或调整函数形式,而不是直接换工具。

我自己的经验是:每次跑ARDL,先把单位根表、边界检验表、CUSUM图三样东西冻结存档,再开始调参数和写解释。这套流程帮我挡掉过好几次“你的结论换个滞后就不显著”的质疑,也让我回看旧项目时能快速找回当初的设定。希望这篇笔记能帮你把Eviews里的ARDL从“能跑通”推进到“跑得稳”,少走一些我当年走过的弯路。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询