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

Python实现数组列表转可读表格及ARIMA中Ljung-Box结果保存

解决Ljung-Box检验结果可读性差并保存为文本表格的问题

我完全懂你的困扰!statsmodels返回的Ljung-Box检验结果默认是一堆数组元组,直接看简直像天书。别担心,咱们用pandas把它转换成规整的表格,再保存到文本文件就搞定了。

步骤1:先搞懂检验结果的结构

当你设置boxpierce=True时,acorr_ljungbox会返回一个包含4个数组的元组,对应:

  • 第1个数组:Ljung-Box统计量(每个滞后阶数对应一个值)
  • 第2个数组:Ljung-Box统计量对应的p值
  • 第3个数组:Box-Pierce统计量
  • 第4个数组:Box-Pierce统计量对应的p值

步骤2:用Pandas把数组转成可读表格

Pandas的DataFrame是处理这类结构化数据的神器,直接把数组打包成表格就行。完整代码示例如下:

import pandas as pd
from statsmodels.stats import diagnostic as dst

# 假设db['FTSEMIB']是你的时间序列数据
# 运行Ljung-Box检验,包含Box-Pierce结果
ljung_results = dst.acorr_ljungbox(db['FTSEMIB'], lags=10, boxpierce=True)

# 拆分结果元组到单独变量,方便后续处理
lb_stat, lb_pval, bp_stat, bp_pval = ljung_results

# 生成滞后阶数列表(对应1到10阶)
lags_list = list(range(1, 11))

# 创建DataFrame,构建清晰的表格结构
results_table = pd.DataFrame({
    '滞后阶数': lags_list,
    'Ljung-Box统计量': lb_stat.round(4),  # 保留4位小数,让表格更整洁
    'Ljung-Box p值': lb_pval.round(4),
    'Box-Pierce统计量': bp_stat.round(4),
    'Box-Pierce p值': bp_pval.round(4)
})

# 把滞后阶数设为索引,表格看起来更直观
results_table.set_index('滞后阶数', inplace=True)

# 打印看看整理后的效果
print("整理后的Ljung-Box检验结果:")
print(results_table)

运行这段代码后,你会看到类似这样的清晰表格:

Ljung-Box统计量  Ljung-Box p值  Box-Pierce统计量  Box-Pierce p值
滞后阶数                                                            
1              0.2345        0.6278          0.2312        0.6301
2              1.1234        0.5702          1.1109        0.5728
...             ...           ...             ...           ...
10             5.6789        0.8321          5.6123        0.8367

步骤3:把表格保存到文本文件

用to_string()方法可以把DataFrame转换成纯文本格式的表格,然后写入文件:

# 保存到文本文件,指定utf-8编码避免乱码
with open('ljung_box_test_results.txt', 'w', encoding='utf-8') as file:
    file.write("Ljung-Box & Box-Pierce 检验结果\n")
    file.write("="*60 + "\n")
    file.write(results_table.to_string())

打开生成的ljung_box_test_results.txt文件,就能看到和控制台打印一样清晰的表格啦!

额外小提示

如果你不需要Box-Pierce结果,只需要把boxpierce=True改成boxpierce=False,然后调整DataFrame的列即可,代码逻辑是完全一样的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:14:11