You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

statsmodels的plot_acf、plot_pacf函数滞后数异常问题咨询

statsmodels plot_acf/plot_pacf绘图不一致问题解决方案
  • 你遇到的默认输出最大滞后数为20的问题,确实是参数默认值导致的。statsmodels 0.12.2版本中,plot_acf、plot_pacf函数的lags参数默认值为20,未手动指定时就会只绘制到滞后20阶的结果。部分教程使用的旧版本statsmodels默认规则不同,或教程示例数据样本量更大,才会出现相同代码输出不一致的情况。
  • 报错Can only compute partial correlations for lags up to 50% of the sample size.是PACF的计算逻辑限制:偏自相关系数的计算要求滞后阶数最多不能超过样本量的50%。你可以先打印当前加载的时间序列长度,确认可设置的最大滞后数,再对应调整。

调整后复现代码

from pandas import read_csv
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.graphics.tsaplots import plot_pacf
from matplotlib import pyplot
series = read_csv('stationary.csv', header=None, index_col=0, parse_dates=True, squeeze=True)
# 打印样本量,确认最大可设置的PACF滞后数
print(f"当前时间序列样本量:{len(series)},最大可设PACF滞后数:{len(series)//2 - 1}")
pyplot.figure()
pyplot.subplot(211)
# lags参数替换为你要复现的教程中的最大滞后数
plot_acf(series, ax=pyplot.gca(), lags=30)
pyplot.subplot(212)
# 若PACF数值和教程不一致可调整method参数,ywm为0.12版本默认值,yw为旧版本默认值
plot_pacf(series, ax=pyplot.gca(), lags=30, method='ywm')
pyplot.show()

若当前数据集样本量不足,你需要替换为和教程一致的原始数据集,保证样本量满足滞后数的2倍要求,否则无法复现相同的绘图结果。

内容的提问来源于stack exchange,提问作者hdabdelatif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 21:24:04