计量经济学(六)——时间序列滞后变量模型

滞后变量模型(Lagged Variable Models)本质上是一种动态建模方法,其核心在于通过引入变量自身或其他相关变量的历史值,刻画时间序列数据中由过去冲击引发的延续性效应。与静态回归模型仅依赖当前截面信息不同,滞后变量模型能够反映经济与金融现象中普遍存在的时滞特征,即政策或市场冲击往往不会立即完全显现,而是逐步传导至后续时期。例如,在宏观经济分析中,一次财政支出增加可能在若干季度后才对GDP产生显著影响;在企业运营中,广告投入对销售额的促进作用往往也具有累积性与衰减性。通过滞后项建模,研究者可以同时考察短期冲击与长期均衡效应,并将这种动态结构纳入预测与政策评估中。此外,滞后变量模型还为解决时间序列数据中的自相关问题提供了有效途径,使模型估计更加稳健,预测结果更具解释力和实际价值。

一、滞后变量模型

滞后变量模型是通过引入过去时期的变量值作为解释变量,来捕捉变量之间的动态关系。例如,在销售量的预测模型中,当前的销售额可能不仅受当前的广告费用影响,还可能受到过去几个月广告费用的影响。因此,我们将广告费用的滞后值作为解释变量,构建滞后变量模型。设\(y_t\)表示时间\(t\)的因变量,\(x_t\)表示时间\(t\)的解释变量,\(L\)表示滞后算子,那么滞后变量模型可以表达为:

\[y_t = \alpha + \beta_1 x_t + \beta_2 x_{t-1} + \beta_3 x_{t-2} + \cdots + \epsilon_t \]

其中,\(x_{t-1}, x_{t-2}, \ldots\)为解释变量的滞后值,\(\epsilon_t\)误差项。通过滞后项的引入,模型可以考虑解释变量的长期影响。

1.1 滞后变量模型的类型

滞后变量模型主要有以下几种形式:

  • 自回归带外生变量模型(Autoregressive with Exogenous variable, ARX):在考虑因变量自身滞后项的同时,还引入外生解释变量的当期或滞后值,形式为

    \[y_t = \alpha + \sum_{i=1}^k \phi_i y_{t-i} + \beta x_t + \epsilon_t \]

    用于刻画因变量既受自身历史影响,又受外部因素驱动的动态关系。
  • 分布滞后模型(Distributed Lag Model, DLM):该模型考虑解释变量的滞后值,形如:

    \[y_t = \alpha + \beta_1 x_t + \beta_2 x_{t-1} + \beta_3 x_{t-2} + \cdots + \epsilon_t \]

    用于分析因变量如何受解释变量当前和过去值的影响。
  • 自回归分布滞后模型(Autoregressive Distributed Lag Model, ARDL):该模型结合了因变量和解释变量的滞后值,形如:

    \[y_t = \alpha + \beta_1 y_{t-1} + \beta_2 y_{t-2} + \cdots + \gamma_1 x_t + \gamma_2 x_{t-1} + \cdots + \epsilon_t \]

    用于捕捉更复杂的动态关系。

1.2 滞后变量模型的作用

滞后变量模型在时间序列分析中有着广泛的应用和重要作用,具体体现在以下几个方面:

动态影响分析
滞后变量模型通过引入解释变量的滞后项,能够揭示解释变量对因变量的短期和长期影响。这在经济学、金融学等领域尤为重要。例如,在评估政府财政政策时,经济增长的反应往往不是即时的,可能会在多个时间段逐渐显现。滞后变量模型能够帮助研究人员跟踪政策效果随时间的演变,量化短期与长期的影响。例如,在经济增长模型中,过去的投资、政府支出等政策变量对当前经济增长的影响不仅体现在一个时间点上,还会通过滞后项体现出逐步影响。此外,滞后变量模型也广泛应用于政策实施评估中。例如,一个经济政策的实施可能需要若干个季度或年度才能对GDP、通胀或失业率产生明显影响。通过滞后变量模型,研究者可以分析政策实施对经济变量的延迟影响,并量化这些影响的持久性。
增强预测能力
滞后变量模型通过使用过去的数据,显著提高了预测未来的准确性。特别是对于具有周期性或趋势性的时间序列数据,滞后变量模型可以有效捕捉数据的惯性和延续性。例如,在宏观经济预测、商品销售预测等领域,历史数据常常包含了未来可能的发展趋势。滞后变量模型通过将历史信息纳入到当前预测中,能够提高对未来走势的精确预测。例如,在企业销售预测中,滞后变量模型可以根据之前几个月或几年的销售数据来预测未来的销售趋势。由于销售数据可能受季节、市场需求波动等因素的影响,滞后变量模型通过考虑这些滞后影响,能够捕捉销售量的周期性变化,从而为企业决策提供更为精准的预测依据。
解决自相关问题
在时间序列分析中,自相关是指当前观测值与其滞后值之间存在相关性,如果不加处理会影响模型的估计准确性。滞后变量模型通过引入解释变量的滞后项,有效解决了自相关问题。这不仅减少了模型中的误差项相关性,还提高了估计参数的可靠性。
时间序列中的自相关问题是常见现象,尤其是在经济、金融等领域,数据往往呈现出某种趋势或周期性。滞后变量模型通过合理引入滞后值,减少了误差项的自相关性,从而提高模型的稳健性。例如,利用滞后变量可以调整股价、汇率等金融数据中的噪声和趋势效应,从而构建出更为稳定的模型。
多元动态关系的建模
滞后变量模型不仅限于单个变量的滞后分析,还可以引入多个解释变量的滞后项,用于建模变量之间的动态关系。尤其是在多元时间序列分析中,滞后变量模型可以帮助理解多个变量之间的相互作用。例如,在分析经济体中通货膨胀、利率、货币供应量等宏观经济变量之间的动态关系时,通过滞后变量模型可以捕捉变量之间的交互效应以及它们随时间的变化。
滞后阶数的选择
建模时,滞后阶数的选择是一个关键问题。滞后阶数的确定通常需要通过信息准则(如AIC、BIC)或通过对自相关函数(ACF)和偏自相关函数(PACF)的分析进行判断。如果选择过多的滞后项,可能会导致模型过度拟合,从而降低预测能力;如果滞后阶数不足,模型可能无法充分捕捉数据的动态特征。因此,滞后阶数的合理选择对于滞后变量模型的准确性至关重要。
提高模型性能
为了提高滞后变量模型的性能,通常可以结合其他建模技术,如引入广义最小二乘法(GLS)来解决异方差性问题,或者结合自回归移动平均模型(ARMA)等方法以处理复杂的时间序列结构。GLS方法能够处理时间序列中误差项的异方差性问题,而ARMA模型则可以有效建模序列中的自相关性和随机扰动。这些技术的结合,可以进一步提升滞后变量模型的适用性和准确性。例如,使用ARMA模型与滞后变量模型的结合,可以在股票市场预测中提高模型的稳定性和预测精度。广义最小二乘法则可以在存在异方差性时,改进模型的估计,确保参数的稳健性。


二、滞后变量模型的估计和检验

滞后变量模型(Lagged Variable Models)的估计与检验是时间序列分析的重要环节,其目标是识别过去变量值(包括因变量自身及其他解释变量)对当前因变量的动态影响。此类模型不仅适用于单阶滞后(如仅考虑上一期变量),更适用于多阶滞后和多变量情况。例如同时引入 \(k\) 阶因变量滞后和 \(m\) 阶解释变量滞后,一般形式可记为:

\[Y_t = \alpha + \sum_{i=1}^{k} \phi_i Y_{t-i} + \sum_{j=0}^{m} \beta_j X_{t-j} + \epsilon_t \]

其中,\(Y_{t-i}\) 为因变量的滞后项,\(X_{t-j}\) 为解释变量的当前值或滞后值,\(\epsilon_t\) 为白噪声误差项。该表达式可进一步推广为 分布滞后模型(DLM)自回归带外生变量模型(ARX)自回归分布滞后模型(ARDL) 等形式,自回归分布滞后模型可记为ARDL(k,m)。建模过程可分为两个主要阶段:参数估计模型检验

ARDL(4,3) 模型为

\[Y_{t} = \alpha + \phi_{1} Y_{t - 1} + \phi_{2} Y_{t - 2} + \phi_{3} Y_{t - 3} + \phi_{4} Y_{t - 4} + \beta_{0} X_{t} + \beta_{1} X_{t - 1} + \beta_{2} X_{t - 2} + \beta_{3} X_{t - 3} + \epsilon_{t} \]

\(t = 10\) 时:

\[Y_{10} = \alpha + \phi_1 Y_9 + \phi_2 Y_8 + \phi_3 Y_7 + \phi_4 Y_6 + \beta_0 X_{10} + \beta_1 X_9 + \beta_2 X_8 + \beta_3 X_7 + \epsilon_{10} \]

\(t = 12\) 时:

\[Y_{12} = \alpha + \phi_1 Y_{11} + \phi_2 Y_{10} + \phi_3 Y_9 + \phi_4 Y_8 + \beta_0 X_{12} + \beta_1 X_{11} + \beta_2 X_{10} + \beta_3 X_9 + \epsilon_{12} \]

自回归分布滞后模型(ARDL(k,m))结合了因变量自身的 k 阶滞后和解释变量的 m 阶滞后,用于捕捉更复杂的动态关系。当\(k=0\)\(ARDL(k,m)\)就是分布滞后模型(DLM);当\(m=0\)\(ARDL(k,m)\)就是自回归带外生变量模型(ARX)。

2.1 估计方法

滞后变量模型的参数估计需根据数据性质和模型复杂度选择合适方法:

  • 普通最小二乘法(OLS)
    当时间序列平稳且满足误差项独立同分布假设时,OLS 是最基本且直观的方法。其核心思想是最小化残差平方和,以得到滞后变量的估计系数与显著性水平。优点是计算简便、解释性强,但在误差存在自相关时效果较差。
  • 广义最小二乘法(GLS)
    若模型残差存在自相关或异方差性,OLS 参数估计虽仍无偏,但效率较低。GLS 可通过对协方差矩阵加权修正,提高参数估计的稳健性;其变体可行广义最小二乘法(FGLS)在实际中更为常用。
  • 极大似然估计(MLE)
    在多变量或非平稳序列背景下,尤其是涉及状态空间模型或贝叶斯框架时,MLE 通过最大化似然函数同时估计滞后系数与误差结构,适合高维、非线性系统的动态建模。

2.2 模型检验步骤

模型估计完成后需进行系统检验,以确保模型可靠性和预测稳定性,主要包括:

  • 滞后项显著性检验
    利用 t 检验或 F 检验,判断各滞后系数是否显著影响因变量。
  • 模型拟合优度检验
    通过决定系数 \(R^2\) 与调整后的 \(R^2\) 衡量模型对数据的解释力,避免因无关变量引入而虚高。
  • 自相关检验
    使用杜宾-沃森(DW)或 Ljung-Box 检验检查残差项是否存在序列相关性,如存在需调整滞后阶数或采用修正方法。
  • 多重共线性检验
    计算方差膨胀因子(VIF)判断滞后变量间相关性,VIF 超过 10 通常表示存在严重共线性。
  • 模型稳定性检验
    通过累积和检验(CUSUM)或递归残差检验,评估模型参数是否随时间保持稳定。

2.3 模型局限性和改进

尽管滞后变量模型在动态分析和预测中具有重要价值,但其在实际应用中仍面临多方面局限性。首先,滞后阶数选择问题是关键难点之一:若阶数过多,容易导致过拟合与参数估计不稳定;若阶数过少,则可能无法充分捕捉时间序列的动态特征。其次,模型估计往往存在自相关与异方差性问题,使得普通最小二乘法(OLS)估计失去效率。再次,滞后变量之间高度相关可能引发多重共线性,增加参数解释困难并降低预测稳定性。

为克服上述局限性,研究者提出了一系列改进方法:

  • 广义最小二乘法(GLS)
    通过修正误差项的协方差结构,GLS 能有效处理自相关和异方差问题,使估计更高效、更稳健。在实践中常用可行广义最小二乘法(FGLS)替代。
  • 自回归移动平均模型(ARMA)
    ARMA 模型结合自回归(AR)与移动平均(MA)成分,可更好地刻画时间序列的复杂动态特征,相比简单滞后模型能捕捉更多的序列依赖和随机扰动信息。
  • 状态空间模型与卡尔曼滤波
    状态空间模型将系统分解为潜在状态变量,适合描述多维度、结构性动态特征;卡尔曼滤波作为其递归估计算法,尤其适用于高频金融和宏观经济数据的实时预测。

这些改进方法在理论和实践中均显著提升了滞后变量模型的适用性,使其能够从单变量延伸至多变量、多阶滞后的复杂动态系统,为政策冲击分析、货币传导机制研究等提供更具解释力与预测力的建模框架。


三、滞后变量模型的阶数确定

滞后变量模型的阶数确定是构建有效模型的关键步骤,常用的方法包括经验法则、信息准则(AIC和BIC)以及模型逐步检验。

经验法则:在实践中,滞后阶数通常基于理论预期或先验知识。例如,在经济领域,某些变量的滞后影响可能需要几个月甚至几年的时间才能显现,因此研究者可以依据这些特征确定滞后期数。
自相关函数(ACF)和偏自相关函数(PACF)图:通过观察ACF和PACF图,可以直观判断滞后项的选择。ACF用于判断MA(q)部分,而PACF用于判断AR(p)部分。滞后阶数对应的自相关或偏自相关值显著下降的那一阶数是AR(p)或MA(q)模型的候选滞后阶数。
信息准则法(AIC/BIC):Akaike信息准则(AIC)和贝叶斯信息准则(BIC)是评估模型优劣的常用工具。它们通过对模型的拟合优度和复杂度进行权衡,帮助选择最佳的滞后阶数。AIC和BIC的值越小,模型越优。在实际建模中,逐步增加滞后项,选择AIC或BIC值最小的模型作为最优滞后阶数。
逐步检验:通过逐步添加滞后项并比较模型的拟合效果和信息准则值,可以逐步确定最优的滞后阶数。此方法结合了数据驱动的优化和逐步验证,能在避免过拟合的同时提升模型的预测性能。
模型残差的检验:通过对模型残差的分析,例如残差自相关检验,可以进一步判断是否有必要增加滞后项。如果残差显示出显著的自相关性,说明现有滞后阶数不足,需要进一步增加滞后期数。

在实际应用中,滞后阶数的选择因数据特性和领域差异而异。例如,经济数据可能存在周期性变化,因此需要选择足够的滞后项来捕捉这一周期性。相反,对于波动较小的时间序列数据,选择较低的滞后阶数可能已经足够。滞后阶数的选择既要考虑模型的预测精度,也要避免模型过度复杂,从而保持模型的解释力和稳健性。


四、案例分析

中国电力工业基本建设投资与发电量的数据见下表,试确定滞后阶数。

年度 基本建设投资 (亿元) 发电量 (亿千瓦时) 年度 基本建设投资 (亿元) 发电量 (亿千瓦时)
1975 30.65 1958 1986 161.6 4495
1976 39.98 2031 1987 210.88 4973
1977 34.72 2234 1988 249.73 5452
1978 50.91 2566 1989 267.85 5848
1979 50.99 2820 1990 334.55 6212
1980 48.14 3006 1991 377.75 6775
1981 40.14 3093 1992 489.69 7539
1982 46.23 3277 1993 675.13 8395
1983 57.46 3514 1994 1033.42 9218
1984 76.99 3770 1995 1124.15 10070
1985 107.86 4107
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.regression.linear_model import OLS

# 数据输入
data = {
    "Year": [1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995],
    "Investment": [30.65, 39.98, 34.72, 50.91, 50.99, 48.14, 40.14, 46.23, 57.46, 76.99, 107.86, 161.6, 210.88, 249.73, 267.85, 334.55, 377.75, 489.69, 675.13, 1033.42, 1124.15],
    "Electricity": [1958, 2031, 2234, 2566, 2820, 3006, 3093, 3277, 3514, 3770, 4107, 4495, 4973, 5452, 5848, 6212, 6775, 7539, 8395, 9218, 10070]
}

df = pd.DataFrame(data)

# 确定最大滞后阶数
max_lag = len(df) // 2 - 1  # 样本量的一半减一
if max_lag < 1:  # 确保最大滞后阶数至少为1
    max_lag = 1

# 绘制ACF和PACF图
plt.figure(figsize=(12, 6))
plt.subplot(211)
plot_acf(df['Electricity'], lags=max_lag, ax=plt.gca())
plt.title('ACF of Electricity')

plt.subplot(212)
plot_pacf(df['Electricity'], lags=max_lag, ax=plt.gca())
plt.title('PACF of Electricity')

plt.tight_layout()
plt.show()

# 根据不同的滞后阶数,建立多元回归模型并计算AIC和BIC
results = []

# 使用循环建立滞后变量
for p in range(1, max_lag + 1):
    # 生成滞后变量
    X = pd.concat([df['Investment'].shift(i) for i in range(1, p + 1)], axis=1)
    X.columns = [f'Investment_lag_{i}' for i in range(1, p + 1)]
    X = sm.add_constant(X)  # 添加常数项
    y = df['Electricity']

    # 处理缺失值
    X = X.iloc[p:].reset_index(drop=True)
    y = y.iloc[p:].reset_index(drop=True)

    # OLS回归
    model = OLS(y, X).fit()
    results.append((p, model.aic, model.bic))

# 找到AIC和BIC最小的组合
results_df = pd.DataFrame(results, columns=['p', 'AIC', 'BIC'])
best_aic = results_df.loc[results_df['AIC'].idxmin()]
best_bic = results_df.loc[results_df['BIC'].idxmin()]

print("AIC最小的p:", best_aic['p'], "AIC值:", best_aic['AIC'])
print("BIC最小的p:", best_bic['p'], "BIC值:", best_bic['BIC'])
#p 对应解释变量 Investment 的滞后阶数,因变量滞后未考虑。
AIC最小的p: 9.0 AIC值: 181.4506402893295
BIC最小的p: 9.0 BIC值: 186.29970678720952

得到分布滞后DLM模型(p=9,基于最优AIC/BIC)

\[\text{Electricity}_t = \alpha + \beta_1 \, \text{Investment}_{t-1} + \beta_2 \, \text{Investment}_{t-2} + \cdots + \beta_9 \, \text{Investment}_{t-9} + \varepsilon_t \]

其中:

  • \(\text{Electricity}_t\) 为第 t 年的用电量
  • \(\text{Investment}_{t-i}\) 为投资的滞后 i 年
  • \(\varepsilon_t\) 为白噪声误差项


总结

滞后变量模型(Lagged Variable Models)是时间序列分析中的重要工具,主要用于捕捉当前因变量与其过去值或其他解释变量的滞后值之间的动态关系,能够有效揭示变量间的相互作用与延迟效应。在建模过程中,滞后阶数的选择至关重要,常通过信息准则如AIC、BIC确定。此外,多重共线性和序列自相关问题也需要特别关注。为了提高模型性能,广义最小二乘法(GLS)和ARMA模型等方法可用于改进滞后变量模型,增强其解释力和预测精度。这些改进有助于更好地处理噪声数据和潜在的模型偏差,确保分析结果更加可靠。
通过合理的滞后变量选择,研究者可以理解经济体中的累积效应,揭示政策实施对经济的长期影响。例如,在宏观经济分析中,滞后模型可以说明过去的GDP增速、利率等对未来经济表现的影响。这不仅有助于预测未来,还可以评估政策的效果。此外,在金融时间序列中,滞后变量模型常用于预测股市波动或公司收益,它可以帮助量化历史表现对当前市场条件的持续影响。

参考资料

  1. 计量经济学分布滞后模型
  2. SPSS—常用计量经济模型汇总/附案例教程
posted @ 2024-10-15 22:06  郝hai  阅读(4680)  评论(0)    收藏  举报