单位根检验:ADF、Phillips-Perron、KPSS
ADF、Phillips-Perron、KPSS 用的是不同的零假设,'非平稳'因此可以是不同的事。讲三种检验的构造、Dickey-Fuller 分布从哪来,以及为什么单位根检验出了名地功效低。
有人说”这个序列不平稳”,你要反问:按哪个检验、什么零假设、对什么备择?答案不同,结论可以完全相反。三个常用检验——ADF(Said & Dickey, 1984)、Phillips-Perron(1988)、KPSS(Kwiatkowski, Phillips, Schmidt & Shin, 1992)——零假设根本不是同一个:前两个把单位根设为零假设,KPSS 把平稳设为零假设。把它们混着读,会得出荒唐结论。而且这还只是第一层麻烦;第二层麻烦更根本:不管零假设怎么摆,单位根和高持续性的平稳过程在有限样本里就是长得像,检验的功效天生就低。这两层麻烦贯穿这篇文章。
推导三种检验之前,先把参考文献放这:Hamilton (1994, 第 17-18 章)、Tsay (2010, 第 2 章)。
问题本身
给定序列 ,它平稳吗?建模成 AR(1):
的三个区间对应三种世界。:平稳,冲击的影响是暂时的,ACF 几何衰减。:单位根,,冲击永久留在水平里,样本 ACF 衰减极慢。:发散过程,不构成长期均衡,是泡沫文献关心的对象。
单位根检验就是 对 的假设检验。听起来是个普通 检验的活,麻烦在于:在 下, 的 统计量不服从 分布。这不是小样本修正能解决的事,是渐近性质上的不同——下面马上讲清楚它从哪来。
Dickey-Fuller 检验,以及那个非标准分布
基本 Dickey-Fuller 回归把模型改写成差分形式:
其中 ,于是 (单位根)对 (平稳)。检验统计量就是普通的
普通的只是形式。在 下,回归子 本身是个随机游走,在发散,OLS 估计量 以 (而不是 )的速率收敛,极限不是正态。Dickey & Fuller (1979) 给出了极限分布:
其中 是标准布朗运动——分子是 对自身增量的积分,分母是 的 范数,两者相关且都有非退化极限,比值就是 Dickey-Fuller 分布。临界值靠模拟布朗运动路径得到,而且比 分布的临界值负得多:仅含常数项的情形,1%、5%、10% 临界值大约是 、、,对照 分布的 、、。用 去判 ADF 统计量是最常见的错误之一,方向恰好是把不平稳的判成平稳。
临界值还依赖回归里放了什么确定性项。三种形式:不带常数不带趋势(,序列零均值时用);带常数(序列有非零均值无趋势时用);带常数和趋势(,序列有线性趋势时用),后者的临界值更负——1%、5%、10% 下大约 、、。选错形式两头挨打:没趋势硬加趋势,功效下降;有趋势漏掉趋势,检验规模就错了。标准建议朴素到不像建议:先画图。
ADF:处理自相关的第一条路
基本 DF 检验假设 是白噪声,差分序列一有自相关,检验就设错了。Said & Dickey (1984) 的修法是往回归里加滞后差分:
仍然检验 ,单侧,大负 拒绝。加滞后不改变 下的渐近分布,所以临界值照用 DF 的。滞后个数 要选到让残差白化,通常按 AIC 或 BIC,实操上可以按 Schwert (1989) 从 起步再做 general-to-specific 精修。这个选择两边都是坑:滞后太少,残差有自相关,检验规模过大、拒绝太频繁;滞后太多,每个滞后吃一个自由度,功效往下掉。还有一个更阴的失效模式先记下——参数不变是 ADF 的前提,趋势或水平上的一次结构突变会让平稳序列看起来像单位根,这个坑大到值得单独一节,后面讲。
Phillips-Perron:处理自相关的第二条路
Phillips & Perron (1988) 对付同一个自相关问题,走的是修标准误而不是加回归子的路:对基本 DF 回归的统计量做非参数修正,用 Newey-West 风格的异方差自相关一致(HAC)长期方差估计:
修正后的统计量与 ADF 共享同一个 Dickey-Fuller 渐近分布。好处是不用选滞后阶数;代价是有限样本功效通常不如 ADF,中度持续性时尤其明显。序列表现良好时两者结论应该一致;强自相关或波动率聚集的序列上,它们可以打架——打架本身就是信息,说明结论对讨厌参数的处理方式敏感。
KPSS:把零假设倒过来
ADF 和 PP 都把单位根放在零假设的位置,这意味着”没拒绝”的默认结论是单位根。KPSS(Kwiatkowski et al., 1992)反过来:
统计量基于 对常数(可选趋势)回归残差的累积和:
其中 是 长期方差的 Newey-West 估计。直觉:平稳序列的残差累积和会在零附近晃,单位根序列的累积和会走远。 下 KPSS 有明确的渐近分布(布朗运动的泛函),临界值有表,统计量大就拒绝平稳。
零假设反着摆不是花样,是互补。假设检验天然偏袒零假设——功效不足时你得到的是零假设的”无罪推定”,而不是它成立的证据。ADF 和 KPSS 一正一反跑一遍,四种组合各有各的读法:
| ADF/PP | KPSS | 解读 |
|---|---|---|
| 拒绝(平稳) | 不拒绝(平稳) | 强平稳 |
| 不拒绝(单位根) | 拒绝(单位根) | 强单位根 |
| 拒绝(平稳) | 拒绝(单位根) | 矛盾。可能是:近单位根加短样本,或结构突变,或趋势平稳序列被误判为单位根 |
| 不拒绝(单位根) | 不拒绝(平稳) | 两边功效都低。没法下结论 |
前两行皆大欢喜。后两行才是实务的日常:第三行是”不舒服的中间地带”,近单位根过程的典型症状——真相同时离纯平稳和纯单位根都不远,两个检验各自拒绝了对方的零假设;第四行是样本信息干脆不够。这两行的存在,把我们逼到功效问题面前。
功效:这门手艺的天花板
单位根检验功效低不是实现瑕疵,是问题本身的性质。备择假设 是”单位根减去一个随样本量缩小的量”,这样的局部备择下,ADF 的渐近功效被压在远低于 1 的水平;离零假设更远的备择功效会改善,但慢。有限样本里更难看:、真实 时,正确拒绝单位根零假设的概率在文献的模拟里大致只有三成上下——比抛硬币好,但好得有限。具体数字随检验形式和设定变化,量级是稳的。
根源直白:单位根过程和 的平稳过程,在一百个观测里生成的样本路径几乎无法区分,都高度持续。由此得出这篇文章最重要的一句话:没能拒绝单位根零假设,不证明序列真有单位根。它完全可能是个高持续性的平稳过程,只是你的检验看不出来。所以应用工作在灰色地带通常要引入统计以外的裁判——经济理论。这个序列按机制更像冲击的累积(存货式的量、资产价格),还是长期均衡的产物(利差、估值比率)?前者先验偏单位根,后者先验偏平稳。理论先验不是免检金牌,但在功效低的地方,它比第三位小数的 值有用。
结构突变:让平稳序列冒充单位根
Perron (1989) 的著名观点:带一次性趋势突变的平稳序列,在 ADF 眼里就是单位根。直觉不难——趋势或水平的突变造成一个永久性的移动,而”冲击永久留下”正是随机游走的签名,检验区分不了”单位根”和”平稳加一次突变”。他的例子是美国实际 GNP:1929 年和二战前后增长速度不同,突变让整条序列看起来非平稳,但条件化突变之后,它可能只是确定性趋势周围的平稳波动。方向上要记住:怀疑有突变时,标准 ADF 偏向不拒绝单位根。
对策是把突变放进备择假设里。Zivot-Andrews (1992) 检验 :单位根,对 :带一次突变的趋势平稳,突变日期内生选择——扫过所有候选日期,取让 的 统计量最负的那个。突变可以在水平(回归里加水平虚拟变量 )、在趋势(加趋势虚拟变量),或两者都有;临界值依赖突变形式,而且因为日期是搜出来的,比标准 DF 临界值更负。两次突变用 Lee-Strazicich (2003) 的最小 LM 检验。再多就别硬撑了——突变多于两次时功效垮掉、临界值不可靠,而一个你认为有很多突变的序列,本来就不该指望任何单位根检验给出干净答案。
顺带一个实务技巧,不用专门检验也能闻到突变的味道:分子样本跑检验。一段样本里是单位根、另一段里平稳,多半是结构突变在作怪,不是真单位根。
DF-GLS:能白拿的功效
功效低的另一个可攻击点在去趋势的方式上。Elliott, Rothenberg & Stock (1996) 指出,标准 ADF 用 OLS 去除常数和趋势的方式在近单位根区域是低效的,改用局部备择下的 GLS 去趋势能把功效往上抬一截:在局部备择 下 GLS 估计确定性项系数 ,构造去趋势序列 ,再对 跑不带确定性项的 ADF。这就是 DF-GLS 检验,临界值有表。相对标准 ADF 的功效改善在近单位根备择处最明显——恰好是最疼的地方。做严肃应用工作,DF-GLS 当默认起点是明智的。
面板:用横截面买功效
单条序列买不到的功效,有时可以用多条序列凑。手上是多个国家的 GDP、多只股票的估值比率这类面板时,可以联合检验单位根,跨序列汇集信息。Im-Pesaran-Shin(IPS, 2003)对各序列的 ADF 统计量取平均、做合适的标准化,均值足够负就拒绝;Maddala-Wu (1999) 用 Fisher 方法合并各序列 ADF 的 值,联合零假设下 。这两个都假设横截面独立——而”所有序列被同一个全球冲击驱动”恰恰是宏观金融面板的常态,独立性一破,检验规模就错。Pesaran (2007) 的 CIPS 处理这个:在每条序列的 ADF 回归里加入横截面均值作为公共因子的代理(CADF 回归),再平均 统计量。用面板检验前先想清楚你的横截面像哪种。
方差比:换个角度问同一个问题
最后一个工具从完全不同的方向逼近。Lo & MacKinlay (1988) 的方差比检验用随机游走的一个标志性质: 期收益的方差应该恰好是 1 期方差的 倍。定义
随机游走零假设下对所有 都等于 1;均值回归压低长期方差,;正自相关放大它,。样本统计量
配上合适的标准误(异方差稳健版本也在原文里),显著偏离 1 就拒绝随机游走。它跟 ADF 是好搭档,因为看的维度不同:ADF 盯着回归系数,方差比盯着方差随期限的伸缩——而且偏离的方向直接告诉你动态偏哪边,这是 ADF 给不了的。
把这些工具排成一个流程
别把 ADF、PP、KPSS 各跑一遍然后”少数服从多数”——它们的零假设不同,票不能这么数。合理的顺序是:先画序列和 ACF,看趋势、水平移动、方差变化,据此定 DF 回归的确定性项;跑 ADF(滞后按前述规则选),再跑 KPSS 当互补,按上面那张表读组合结果;两者一致就带着功效警示报告,矛盾就往近单位根、结构突变、趋势平稳这三个方向排查;有理由怀疑突变就上 Zivot-Andrews 或 Lee-Strazicich,近单位根嫌疑重就换 DF-GLS;面板数据按横截面依赖与否选 IPS 或 CIPS;强趋势序列多问一句趋势是确定性的还是随机的——这是实质问题,不只是统计问题。
代码上 ADF 和 KPSS 都是现成的:
import pandas as pd
from statsmodels.tsa.stattools import adfuller, kpss
y = pd.Series(..) # 你的时间序列
adf_stat, adf_p, adf_lags, adf_nobs, adf_crit, _ = adfuller(y, regression='c', autolag='AIC')
print(f"ADF stat: {adf_stat:.3f}, p-value: {adf_p:.3f}")
print(f"Critical values: {adf_crit}")
# adf_stat 小于给定水平的临界值就拒绝
# KPSS 检验:零假设 = 平稳性
kpss_stat, kpss_p, kpss_lags, kpss_crit = kpss(y, regression='c', nlags='auto')
print(f"KPSS stat: {kpss_stat:.3f}, p-value: {kpss_p:.3f}")
print(f"Critical values: {kpss_crit}")
# kpss_stat 大于给定水平的临界值就拒绝
流程走完仍然拿不准时,还有最后一招,也是被低估的一招:两头都建模。平稳假设下拟合 ARMA,单位根假设下拟合 ARIMA,比样本外预测,谁预测得好用谁。在一个检验功效天生不足的领域,样本外比较是评估哪个设定更适合你的用途的唯一诚实办法。也别忘了检验通过不是终点:确立了平稳或单位根之后,模型还是要估(平稳用 ARMA,单位根用 ARIMA 或 VECM)、突变还是要查、持续性背后的经济机制还是要想。单位根检验是分析的起点,从来不是结论。
参考文献
- Dickey, D. A., & Fuller, W. A. (1979). Distribution of the estimators for autoregressive time series with a unit root. Journal of the American Statistical Association, 74(366), 427-431.
- Elliott, G., Rothenberg, T. J., & Stock, J. H. (1996). Efficient tests for an autoregressive unit root. Econometrica, 64(4), 813-836.
- Hamilton, J. D. (1994). Time Series Analysis. Princeton University Press. Ch. 17-18.
- Im, K. S., Pesaran, M. H., & Shin, Y. (2003). Testing for unit roots in heterogeneous panels. Journal of Econometrics, 115(1), 53-74.
- Kwiatkowski, D., Phillips, P. C. B., Schmidt, P., & Shin, Y. (1992). Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54(1-3), 159-178.
- Lee, J., & Strazicich, M. C. (2003). Minimum Lagrange multiplier unit root test with two structural breaks. Review of Economics and Statistics, 85(4), 1082-1089.
- Lo, A. W., & MacKinlay, A. C. (1988). Stock market prices do not follow random walks: Evidence from a simple specification test. Review of Financial Studies, 1(1), 41-66.
- Maddala, G. S., & Wu, S. (1999). A comparative study of unit root tests with panel data and a new simple test. Oxford Bulletin of Economics and Statistics, 61(S1), 631-652.
- Perron, P. (1988). Trends and random walks in macroeconomic time series. Journal of Economic Dynamics and Control, 12(2-3), 297-332.
- Perron, P. (1989). The great crash, the oil price shock, and the unit root hypothesis. Econometrica, 57(6), 1361-1401.
- Pesaran, M. H. (2007). A simple panel unit root test in the presence of cross-section dependence. Journal of Applied Econometrics, 22(2), 265-312.
- Phillips, P. C. B., & Perron, P. (1988). Testing for a unit root in time series regression. Biometrika, 75(2), 335-346.
- Said, S. E., & Dickey, D. A. (1984). Testing for unit roots in autoregressive-moving average models of unknown order. Biometrika, 71(3), 599-607.
- Schwert, G. W. (1989). Tests for unit roots: A Monte Carlo investigation. Journal of Business & Economic Statistics, 7(2), 147-159.
- Tsay, R. S. (2010). Analysis of Financial Time Series (3rd ed.). Wiley. Ch. 2.
- Zivot, E., & Andrews, D. W. K. (1992). Further evidence on the great crash, the oil-price shock, and the unit-root hypothesis. Journal of Business & Economic Statistics, 10(3), 251-270.