简介:围绕EViews中ARDL模型的落地操作,这份文档面向计量经济学课程学习者、实证研究初学者以及需要完成时间序列建模的科研人员,重点解决自回归分布滞后模型在软件中的完整实现路径。内容以步骤化方式梳理创建工作文件、录入数据并取对数、开展单位根检验、打开估计方程并选择ARDL方法,以及通过系数诊断查看长期形式与Bounds检验等关键环节,并呼应滞后阶数选择、协整估计和长期趋势检验等核心需求。压缩包仅含1个docx文件,大小约446KB,篇幅精简,便于按流程对照操作。已有3507人学习,说明其在ARDL入门与实操场景中具有一定参考价值。读者可据此快速熟悉EViews 9及以上版本的ARDL工具链,减少在菜单路径、检验顺序和结果解读上的摸索成本,适合作为课堂实验、论文实证前的操作清单。
1. ARDL 的落地门槛:EViews 菜单背后真正要盯的三个数
ARDL 在 EViews 里不是点开菜单就能交差的模型。很多人第一次做自回归分布滞后,卡住的不是估计按钮,而是前面三件事:工作文件频率有没有对齐、变量是不是 I(2)、滞后阶数和趋势项怎么定。EViews 9 及以上版本把 ARDL、滞后阶数自动选择、协整边界检验和长期系数输出放进了同一个估计窗口,省掉了手工构造滞后项的麻烦,但它不会替你判断模型能不能用。
这份步骤文档适合手里已有时间序列、需要同时看短期动态和长期关系的从业者,也适合刚接触 ARDL、想把菜单路径和结果读法一次对齐的新手。下面按数据准备、单位根、估计与边界检验、避坑、验证五段拆开,每一步都落到 EViews 的具体菜单和参数上。
2. 建工作文件与数据准备:日期格式、命令建序列与取对数的三个细节
ARDL 的估计结果对样本区间非常敏感,工作文件一旦建错,后面所有检验都会跟着偏。项目正文里给的日期是2018/1/1到2019/12/30,这只是日度格式的一种写法,不能直接套到月度或季度数据上。实际动手时先确认手里的数据频率,再决定 Start date 和 End date 怎么写,最后才谈导入和取对数。
2.1 工作文件频率与起止日期:先定频率,再填日期
菜单路径是File — New — Workfile Create。在 Workfile Create 窗口里,Workfile structure type选Dated - regular frequency,Frequency按数据实际频率选。日期写法必须和频率匹配,混用格式是后面出现 NA 和样本错位的常见原因。
| 数据频率 | Start date 示例 | End date 示例 | 注意点 |
|---|---|---|---|
| 年度 | 2018 | 2019 | 不要写成 2018/1/1 |
| 季度 | 2018Q1 | 2019Q4 | Q 要大写,季度号不要用 1-4 以外的字符 |
| 月度 | 2018M1 | 2019M12 | M 要大写,月份不要补成 01 以外的格式 |
| 日度 | 2018/1/1 | 2019/12/30 | 确认工作日和节假日是否保留 |
建工作文件时最容易犯的错,是看到项目正文里写2018/1/1,就把月度数据也填成这个格式。EViews 不会在每一步都弹窗提醒你频率不匹配,它可能先建出一个日度工作文件,等你导入月度数据时才出现大量 NA 或日期错位。我的习惯是先打开原始数据表,确认第一列到底是“年-月”“年-季度”还是“年-月-日”,再回到 Workfile Create 里选频率。如果原始数据是月度,Start date 就写2018M1,End date 写2019M12;如果是季度,就写2018Q1和2019Q4。日度数据才用2018/1/1这种写法。
提示:建完工作文件先看 Workfile 窗口顶部的频率和样本区间,不要急着导入数据。频率错了,后面取对数、单位根检验和 ARDL 滞后阶数都会被带偏。
2.2 命令行建序列与导入数据:data 和 genr 别混用
项目正文提到“在 Command 中敲入命令即可创建数据文件”,这一步在 EViews 里通常用data命令完成。比如要建被解释变量y和解释变量x1、x2,在 Command 窗口输入data y x1 x2,EViews 会创建这三个序列并打开类似表格的编辑窗口,直接把数据粘进去即可。另一种做法是用genr先建空序列,比如genr y = 0,但它只生成一个填满 0 的序列,不会自动打开编辑窗口,后面还要手动打开。两者用途不同,不要混着用。
| 操作目的 | Command 窗口输入 | 说明 |
|---|---|---|
| 新建多个序列并录入 | data y x1 x2 | 最常用,建完直接粘贴数据 |
| 新建单个序列 | genr y = 0 | 先占位,后面再赋值或粘贴 |
| 从外部文件导入 | File — Open — Foreign Data as Workfile | 按向导选 Excel/CSV,注意日期列和变量列 |
| 查看序列 | 双击序列名,或输入show y | 先看图形和描述统计,再建模 |
如果数据已经在 Excel 里,我更常用File — Open — Foreign Data as Workfile,按向导指定工作表、日期列和变量列。导入完成后不要只看变量名对不对,还要双击每个序列看View — Descriptive Stats里的观测数和缺失值。ARDL 对样本连续性要求高,中间断掉几个观测,滞后项就会跟着缺,自动选阶也可能因此偏掉。
2.3 取对数:自然对数、命名和缺失值检查
项目正文的第三步是对输入数据取 log。EViews 里log(x)是自然对数,log10(x)是常用对数,ARDL 里通常用自然对数,变量名建议用lnx这种前缀,不要覆盖原序列。命令窗口输入genr lnx = log(x),回车后工作文件里会多出一个lnx序列。取对数前先检查x是否大于 0,因为 0 和负数取对数会产生 NA,EViews 不会停下来问你,它直接给缺失值。
取对数后要做的第一件事,是对比x和lnx的样本区间。如果x开头有几个 0 或负值,lnx开头就会缺几个观测,ARDL 的有效样本会缩短。很多人后面发现“模型样本少了一年”,回头查才发现是取对数时丢的。另一个细节是命名:如果原序列叫x,取对数后叫lnx,后面在 ARDL 对话框里选变量时不要误选原序列。取对数后的系数解释是弹性,水平变量的系数解释是半弹性,写报告时不要混。
注意:取对数不是必选项。变量本来就是增长率、比率或已经做过价格平减时,强行取对数可能让系数解释变得别扭。先看变量定义,再决定要不要取。
3. 单位根检验:ADF/PP 的菜单路径与 ARDL 适用边界的判读
ARDL 允许变量是 I(0) 或 I(1),但不允许 I(2)。这句话说起来简单,落到 EViews 里就是先对每个变量做单位根检验,再判断能不能进 ARDL。项目正文给的是View — Unit Root Test,这是 ADF 检验的入口。实际做的时候,趋势项、滞后阶数和差分次数三个选项都会影响结论,不能只点一次默认值就完事。
3.1 ADF 检验的菜单路径与滞后阶数设置
双击要检验的序列,比如x,在序列窗口点View — Unit Root Test。窗口里几个关键选项要逐项确认:Test type选Augmented Dickey-Fuller;Test for unit root in选Level还是1st difference,取决于你要检验水平值还是一阶差分;Include in test equation选Intercept、Trend and intercept或None;Lag length可以选Automatic based on SIC,也可以手动Fixed。自动选滞后阶数时,最大滞后不要给得太大,样本短的时候尤其要克制。
趋势项怎么选,是 ADF 里最容易被忽略的一步。变量围绕一个非零均值波动,通常选Intercept;变量有明显的时间趋势,选Trend and intercept;变量均值接近 0 且没有明显趋势,才考虑None。我一般先画View — Graph — Line看图形,再决定趋势项,而不是一上来就用默认设置。滞后阶数也一样,自动选择给的是统计准则下的结果,样本短时可能选得太少,残差还有自相关,这时候要手动加一阶再看。
提示:ADF 的输出里重点看检验统计量和 p 值,但不要只盯 p 值。样本短、趋势项选错、滞后不足,都会让 p 值失真。图形、残差诊断和差分后的结果要一起看。
3.2 结果判读:I(0)、I(1) 与 I(2) 的分界
ADF 的原假设是“存在单位根”。水平值检验不拒绝原假设,一阶差分后拒绝原假设,说明这个变量是 I(1);水平值就拒绝原假设,说明是 I(0);一阶差分后仍然不拒绝,就要继续做二阶差分,确认是不是 I(2)。ARDL 的边界检验前提是变量为 I(0) 或 I(1),如果某个变量是 I(2),直接把它放进 ARDL,F 统计量和临界值的解释都会出问题。
实际操作里,I(0) 和 I(1) 的边界不是每次都那么干净。有的变量水平值 p 值在 0.05 附近,差分后 p 值也不小,这时候不要硬判。我的做法是把 ADF、PP 和 KPSS 放在一起看,至少让结论不要只依赖一个检验。如果水平值和一阶差分的结果打架,先检查样本区间、异常点和趋势项,再决定要不要把这个变量放进模型。变量越多、样本越短,单位根检验的结论越容易摇摆,报告里要把检验形式、滞后阶数和趋势项写清楚。
还有一类情况是变量本身有结构突变。比如某一年政策调整后均值明显跳了一截,ADF 会把这种突变误判成单位根。图形上能看到明显的断点,就不要假装没看见。常见做法是加虚拟变量、缩短样本区间做稳健性,或者用递归残差看参数稳定性。直接删掉断点附近的样本不是好习惯,除非你能说清楚删除理由。
3.3 结构突变、异常点与样本区间
单位根检验之前,先看每个变量的时间序列图。EViews 里双击序列,View — Graph — Line就能画。异常点、断点、缺失值在图形上比在检验表里更容易发现。如果某个观测明显偏离历史区间,先回原始数据核对,确认不是录入错误。录入错误改掉之后,再谈检验;如果是真实突变,就在模型里加虚拟变量或做分样本稳健性。
样本区间也要统一。ARDL 里所有变量最好从同一个起点开始,取对数、差分、滞后之后样本会自然缩短,但不要每个变量用不同区间。我的习惯是先确定一个公共样本区间,把所有变量都截到这个区间里,再跑单位根和 ARDL。这样后面比较不同滞后阶数时,样本是一致的,AIC/SIC 才有可比性。样本区间不统一,自动选阶很容易选出一个“看起来最好”但没法复现的模型。
4. ARDL 估计与边界检验:Method 选 ARDL 后的滞后阶数、趋势项与 Long Run 读法
数据准备和单位根做完,才轮到 ARDL 估计。项目正文给的操作是:选中要检验的数据,右键Open — Estimation equation,Method选ARDL。这一步在 EViews 9 及以上版本里才有,版本低的时候 Method 下拉里找不到 ARDL,只能手工用ls加滞后项近似,但 Bounds 检验不会自动出来。进入估计窗口后,真正要填的是被解释变量、解释变量、滞后结构和趋势项,填完之后先看阶数和系数符号,再看 Long Run Form and Bound Test。
4.1 变量录入与滞后阶数:自动选择之前先设上限
在 Estimation Equation 窗口里,Method选ARDL,Dependent variable填y,Regressors填x1 x2这类解释变量。EViews 的 ARDL 对话框会要求指定滞后结构,可以自动选择,也可以手动填。自动选择一般要设一个最大滞后,再选准则,常见的是 AIC 或 SIC。最大滞后不要一上来就给很大,样本只有几十个观测时,最大滞后给到 8 或 12 会让模型数量爆炸,自动选择很容易过拟合。
我的习惯是先按数据频率给一个上限:季度数据从 4 开始,月度数据从 6 或 12 开始,日度数据不要轻易上大滞后,除非样本特别长。然后让 EViews 按 SIC 选一遍,再按 AIC 选一遍,比较两个结果。SIC 偏向简约,AIC 偏向拟合,样本短的时候两者给出的阶数可能差很多。最终不要只看准则值,还要看残差有没有自相关、系数符号是否稳定、模型是否收敛。自动选择给出ARDL(2,1)这种结果时,把它记下来,后面写报告要写清楚每个变量的滞后阶数。
注意:自动选择不是模型选择的终点。EViews 会在后台比较很多候选模型,样本短、变量多的时候,准则值最小的模型不一定最稳。选完之后手动减一阶、加一阶各跑一次,看长期系数和 ECM 项有没有明显变化。
4.2 模型形式:None、Constant、Trend 的取舍
ARDL 估计窗口里还有趋势项设置,常见选项包括无截距无趋势、含截距、含截距和趋势。这个选择会直接影响 Bounds 检验的临界值,不能随便默认。变量围绕非零均值波动、没有明显时间趋势,通常选含截距;变量有明显确定性趋势,才考虑含截距和趋势;只有在均值接近 0 且理论上没有截距时,才考虑无截距无趋势。趋势项加得太多,会把长期信息吸收掉,长期系数变得不显著;趋势项加得太少,残差又会有趋势。
| 模型形式 | 适用场景 | 主要风险 |
|---|---|---|
| 无截距无趋势 | 变量均值接近 0,理论上没有确定性趋势 | 少数场景,误用后系数解释困难 |
| 含截距 | 变量围绕非零均值波动,无明显趋势 | 最常见,但要看残差有没有剩余趋势 |
| 含截距和趋势 | 变量有明显确定性趋势 | 趋势项吸收长期信息,长期系数不显著 |
趋势项的选择要和单位根检验时的趋势项设定保持逻辑一致。ADF 里选了含截距和趋势,ARDL 里却选无趋势,结论打架时要回头检查。不是说两者必须完全一样,而是你要能说清楚为什么这里加、那里不加。报告里把趋势设定写清楚,比只写“ARDL 模型”更有复现价值。
4.3 估计结果先看哪几个数:ARDL 阶数、系数符号、R² 与 DW
估计结果出来之后,先看输出顶部的 ARDL 阶数,比如ARDL(1,2),它告诉你被解释变量和解释变量各取了几阶滞后。然后看短期系数符号和显著性,再看 R²、调整 R²、AIC/SIC 和 DW。R² 高不代表有协整关系,时间序列回归的 R² 很容易被趋势和滞后项抬高。DW 只看一阶自相关,ARDL 里滞后项多了,DW 的解释力有限,残差诊断还要单独做。
系数符号要和理论预期对一遍。短期系数为负、长期系数为正这种情况并不少见,关键是能不能解释。如果长期系数符号和理论相反,先不要急着下结论,检查变量定义、取对数方式、趋势项和样本区间。有时候是变量单位不一致,有时候是遗漏了重要控制变量,还有时候是滞后阶数不够。系数符号异常是模型在提醒你,不是 EViews 算错了。
4.4 边界检验与长期系数:Long Run Form and Bound Test 的读法
项目正文给的最后一步是View — Coefficient Diagnostics — Long Run Form and Bound Test。点开之后重点看两张表:Long Run Coefficients 和 Bounds Test。Bounds Test 的 F 统计量用来检验“变量之间不存在长期关系”的原假设,输出里会给出 I(0) 和 I(1) 两套临界值。F 大于 I(1) 临界值,拒绝原假设,说明存在长期关系;F 小于 I(0) 临界值,不能拒绝原假设;F 落在两者之间,结论不确定,不能强行说有协整。
Long Run Coefficients 表给出长期系数,解释方式和普通回归类似,但要注意变量是对数还是水平。ECM 项通常写成CointEq(-1),它应该是负的且显著,绝对值小于 1。ECM 项为正,说明误差修正方向不对,模型设定或变量变换可能有问题。F 统计量显著但 ECM 项不显著,也要谨慎,不要只看一个指标就写结论。边界检验的临界值受样本量、变量个数和趋势设定影响,报告里要把这些信息写全。
提示:先看 ECM 项的符号和显著性,再看 Bounds Test 的 F 值。ECM 项为正的时候,F 值再漂亮也不要直接解释成长期关系。
5. 避坑与排查:EViews 跑 ARDL 最容易翻车的五个现场
ARDL 的菜单不难,难的是每一步都有隐性前提。下面五个现场是我见过最多的翻车点,每个都按“现象、原因、解决”拆开。你不需要全部踩一遍,但跑模型之前最好对着看一遍,能省掉不少回头重跑的时间。
5.1 现象:工作文件频率填错,导入后全是 NA
现象是数据导入后序列开头或中间出现大量 NA,图形断成几截,ARDL 估计样本比预期短很多。原因通常不是数据本身坏了,而是 Workfile 的频率和日期格式不匹配。比如原始数据是月度,工作文件却建成了日度,EViews 按日度去对齐2018M1这种日期,自然对不上。另一种情况是 Start date 和 End date 写反,或者季度格式写成了2018Q1以外的形式。
解决方法是回到File — New — Workfile Create,先确认Frequency,再按频率写日期。月度用2018M1,季度用2018Q1,日度才用2018/1/1。建完之后看 Workfile 窗口顶部的样本区间,再导入数据。导入后双击序列看View — Descriptive Stats,确认观测数和缺失值。已经建错的工作文件不要硬改,直接重建一个更省时间。血泪经验是:频率错一次,后面单位根、滞后阶数和 Bounds 检验全部要重跑,越早发现越省事。
5.2 现象:取对数后样本少了一截
现象是lnx的观测数比x少,ARDL 的有效样本跟着缩短,自动选阶结果和预期不一样。原因是x里有 0、负数或缺失值,log(x)对这些值返回 NA。EViews 不会弹窗提醒,它直接在序列里留空。另一种原因是取对数之前样本区间就没对齐,x本身开头就有缺失。
解决办法是先打开x,用View — Descriptive Stats看最小值和缺失值个数,确认有没有小于等于 0 的观测。如果有,先回原始数据核对,确认是录入错误还是变量定义如此。确实不能取对数的变量,考虑用增长率、差分或log(x + 常数),但后者的解释要写清楚。取完对数后,把x和lnx的样本区间并排看一遍,确认 ARDL 用的是公共样本。不要等到模型跑完才发现样本少了一年,那时候滞后阶数和准则值都已经跟着变了。
5.3 现象:自动滞后选择给出不收敛或系数爆炸
现象是 ARDL 自动选择跑完之后,模型警告矩阵奇异、系数大得离谱,或者某个滞后项系数显著得不正常。原因通常是最大滞后给得太大、样本太短、变量之间高度共线,或者趋势项和滞后项重复吸收信息。EViews 会在后台比较大量候选模型,样本不够的时候,高阶模型很容易过拟合。
解决办法是先把最大滞后降下来,按数据频率给一个保守上限,再手动比较 AIC 和 SIC 的结果。变量之间共线严重时,考虑删掉冗余变量或换变量形式。趋势项不是越多越好,含截距和趋势的模型跑出来系数异常,就退回含截距再试。自动选择给出结果后,手动减一阶、加一阶各跑一次,看长期系数和 ECM 项是否稳定。如果一阶变化就让结论翻转,说明模型本身不稳,不要硬写结论。
5.4 现象:Bounds 检验 F 值卡在 I(0) 和 I(1) 之间
现象是 Bounds Test 的 F 统计量落在 I(0) 和 I(1) 临界值之间,既不能拒绝“无长期关系”,也不能明确说有。原因可能是样本短、变量多、滞后阶数不足、趋势设定不合适,或者变量本身是 I(0) 和 I(1) 混合但边界太接近。这种情况在样本量不大时很常见,不是 EViews 出错。
解决办法是不要强行下结论,先把模型设定重新过一遍:换滞后阶数、换趋势项、换样本区间,看 F 值是否稳定。如果怎么换都卡在中间,报告里就写“边界检验结果不确定”,不要写成“存在长期关系”。可以再用 ECM 项的显著性和符号做辅助判断,但不要用 ECM 项替代 Bounds 检验。样本允许的话,补数据比反复调菜单更有效。
5.5 现象:长期系数符号与理论相反
现象是 Long Run Coefficients 里某个变量的长期系数符号和理论预期相反,短期系数却正常。原因可能是遗漏变量、趋势项吸收过多、变量取对数方式不一致、样本区间包含结构突变,或者滞后阶数不够。还有一种情况是变量定义本身和理论不一致,比如价格指数和通胀率混用。
解决办法是先检查变量定义和单位,再检查趋势项和样本区间。把模型里的变量逐个增减,看长期系数怎么变。如果符号只在某个样本区间翻转,做递归系数或分样本估计,定位断点。不要为了符号好看去删样本或改滞后阶数,那样得到的模型没法复现。长期系数符号异常是模型在提示设定问题,先解决设定,再谈解释。
6. 进阶与验证:把 ARDL 结果落成可复现表格并做稳健性检查
ARDL 跑出一版结果不难,难的是让别人按你的路径复现。我的做法是固定一张结果表,把样本区间、频率、变量变换、ADF 结论、ARDL 阶数、趋势设定、AIC/SIC、Bounds F 值、长期系数、ECM 项和诊断 p 值全部写进去。表格不追求好看,追求下次换一台机器还能对上。
| 记录项 | 要写清楚的内容 |
|---|---|
| 样本与频率 | 起止日期、频率、公共样本区间 |
| 变量变换 | 哪些变量取了自然对数,哪些用水平值 |
| 单位根 | ADF/PP 的检验形式、滞后阶数、结论 |
| ARDL 设定 | 被解释变量、解释变量、每个变量的滞后阶数、趋势项 |
| 准则值 | AIC、SIC、最终选阶依据 |
| 边界检验 | F 统计量、I(0)/I(1) 临界值、结论 |
| 长期与 ECM | 长期系数符号、ECM 项系数和显著性 |
| 诊断 | 序列相关、异方差、正态性、CUSUM 结果 |
稳健性检查我一般按固定顺序走:先换最大滞后,再换趋势项,再换样本区间,最后看递归系数和 CUSUM。每换一次只动一个设置,不要同时改三个,否则出了问题不知道是哪一步引起的。自动选阶给出结果后,手动减一阶、加一阶各跑一次,看长期系数和 ECM 项有没有实质变化。变化大就说明模型不稳,报告里要写清楚,不要只报最好看的那一版。
从那以后我每次跑 ARDL 都先把频率、样本区间和滞后上限写在一张纸上,再点 Method;需要照着菜单走一遍的话,下载页里那份步骤文档就是按这个顺序记的,文件名是Eviews实现ARDL的步骤.docx。希望帮到你。
本文还有配套的精品资源,点击获取