选择合适的模型

Python 中的时间序列分析

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

识别 AR 模型的阶数

  • AR(p) 模型的阶数通常未知
  • 确定阶数的两种方法
    • 偏自相关函数(PACF)
    • 信息准则
Python 中的时间序列分析

偏自相关函数(PACF)

Python 中的时间序列分析

在 Python 中绘制 PACF

  • 与 ACF 类似,但使用 plot_pacf 而非 plt_acf
  • 导入模块
    from statsmodels.graphics.tsaplots import plot_pacf
    
  • 绘制 PACF
    plot_pacf(x, lags= 20, alpha=0.05)
    
Python 中的时间序列分析

不同 AR 模型的 PACF 对比

  • AR(1)

  • AR(3)

  • AR(2)

  • 白噪声

Python 中的时间序列分析

信息准则

  • 信息准则:将拟合优度按参数个数进行调整
  • 两个常用的调整后拟合优度指标
    • AIC(赤池信息准则)
    • BIC(贝叶斯信息准则)
Python 中的时间序列分析

信息准则

  • 估计输出
Python 中的时间序列分析

在 statsmodels 中获取信息准则

  • 之前已学习如何拟合 AR 模型
    from statsmodels.tsa.arima_model import ARIMA
    mod = ARIMA(simulated_data, order=(1,0))
    result = mod.fit()
    
  • 获取完整输出
    result.summary()
    
  • 或仅获取参数
    result.params
    
  • 获取 AIC 与 BIC
    result.aic
    result.bic
    
Python 中的时间序列分析

信息准则

  • 将模拟的 AR(3) 与不同 AR(p) 模型拟合
  • 选择 BIC 最小的 p 值
Python 中的时间序列分析

Passons à la pratique !

Python 中的时间序列分析

Preparing Video For Download...