sách gpt4 ăn đã đi

python - 了解 statsmodels grangercausalitytests 的输出

In lại 作者:太空狗 更新时间:2023-10-30 00:18:31 26 4
mua khóa gpt4 giày nike

我是 Granger 因果关系的新手,非常感谢有关理解/解释 python statsmodels 输出结果的任何建议。我构建了两个数据集(正弦函数随时间移动并添加了噪声)nhập mô tả hình ảnh ở đây

并将它们放入“数据”矩阵中,信号 1 作为第一列,信号 2 作为第二列。然后我使用以下方法运行测试:

granger_test_result = sm.tsa.stattools.grangercausalitytests(data, maxlag=40, verbose=True)`

结果表明,最佳滞后(就最高 F 检验值而言)是滞后 1。

Granger Causality
('number of lags (no zero)', 1)
ssr based F test: F=96.6366 , p=0.0000 , df_denom=995, df_num=1
ssr based chi2 test: chi2=96.9280 , p=0.0000 , df=1
likelihood ratio test: chi2=92.5052 , p=0.0000 , df=1
parameter F test: F=96.6366 , p=0.0000 , df_denom=995, df_num=1

然而,似乎最能描述数据最佳重叠的滞后约为 25(在下图中,信号 1 已向右移动 25 个点): nhập mô tả hình ảnh ở đây

Granger Causality
('number of lags (no zero)', 25)
ssr based F test: F=4.1891 , p=0.0000 , df_denom=923, df_num=25
ssr based chi2 test: chi2=110.5149, p=0.0000 , df=25
likelihood ratio test: chi2=104.6823, p=0.0000 , df=25
parameter F test: F=4.1891 , p=0.0000 , df_denom=923, df_num=25

我显然误解了这里的内容。为什么预测的滞后与数据的变化不匹配?

此外,谁能向我解释为什么 p 值如此之小以至于对于大多数滞后值而言可以忽略不计?它们仅在滞后大于 30 时才开始显示为非零。

感谢您提供的任何帮助。

câu trả lời hay nhất

如前所述đây ,为了运行格兰杰因果检验,您使用的时间序列必须是固定的。实现此目的的一种常见方法是通过取每个序列的第一个差值来转换两个序列:

x = np.diff(x)[1:]
y = np.diff(y)[1:]

这是我生成的类似数据集在滞后 1 和滞后 25 时的格兰杰因果关系结果比较:

不变

Granger Causality
number of lags (no zero) 1
ssr based F test: F=19.8998 , p=0.0000 , df_denom=221, df_num=1
ssr based chi2 test: chi2=20.1700 , p=0.0000 , df=1
likelihood ratio test: chi2=19.3129 , p=0.0000 , df=1
parameter F test: F=19.8998 , p=0.0000 , df_denom=221, df_num=1

Granger Causality
number of lags (no zero) 25
ssr based F test: F=6.9970 , p=0.0000 , df_denom=149, df_num=25
ssr based chi2 test: chi2=234.7975, p=0.0000 , df=25
likelihood ratio test: chi2=155.3126, p=0.0000 , df=25
parameter F test: F=6.9970 , p=0.0000 , df_denom=149, df_num=25

第一个差分

Granger Causality
number of lags (no zero) 1
ssr based F test: F=0.1279 , p=0.7210 , df_denom=219, df_num=1
ssr based chi2 test: chi2=0.1297 , p=0.7188 , df=1
likelihood ratio test: chi2=0.1296 , p=0.7188 , df=1
parameter F test: F=0.1279 , p=0.7210 , df_denom=219, df_num=1

Granger Causality
number of lags (no zero) 25
ssr based F test: F=6.2471 , p=0.0000 , df_denom=147, df_num=25
ssr based chi2 test: chi2=210.3621, p=0.0000 , df=25
likelihood ratio test: chi2=143.3297, p=0.0000 , df=25
parameter F test: F=6.2471 , p=0.0000 , df_denom=147, df_num=25

我将尝试从概念上解释正在发生的事情。由于您使用的系列具有明显的均值趋势,因此 1、2 等处的早期滞后都在 F 检验中给出了重要的预测模型。这是因为由于长期趋势,您可以很容易地将 x 值 1 与 值负相关。此外(这更像是一种有根据的猜测),我认为你看到滞后 25 的 F 统计量与早期滞后相比非常低的原因是 x 系列解释了很多方差包含在滞后 1-25 的 的自相关中,因为非平稳性赋予自相关更多的预测能力。

关于python - 了解 statsmodels grangercausalitytests 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51772493/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress