在R和Python中给出不同的pvalue的BoxLjung测试

2024-10-05 15:23:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有R语言的代码,我正在将其翻译成Python,以解决可伸缩性问题,以便与PySpark一起工作。我正在比较R和Python是否得到相同的结果。我正在用外生特征拟合auto-ARIMA模型。当我用Box Ljung测试残差的自相关时,我得到了不同的p值,但是当我比较残差时,它们非常接近。R考虑自由度,而Python没有。哪种方式更合适?在

数据可以从here下载。如下图所示,R使用的自由度为5,p值为0.3017。对于Python,它不使用自由度,并且p值的数组非常高。如果去掉自由度,用R进行测试,得到的结果是一样的(0.80958073)。在

R>

library(forecast)
library(readr)
df = read_csv('uschange.csv')
df = as.matrix(df)
my_fit <- auto.arima(df[,"Consumption"], xreg=df[,"Income"])
checkresiduals(fit, plot = FALSE)

Ljung-Box test data: Residuals from Regression with ARIMA(1,0,2) errors Q* = 6.0465, df = 5, p-value = 0.3017 Model df: 5. Total lags used: 10

Python

^{pr2}$

第二个数组是p值:

(array([0.00775255, 0.04434567, 0.37206872, 0.57959716, 0.87815042, 1.30443762, 1.83487883, 5.90958235, 6.05594458, 6.06726358]),

array([0.92983808, 0.97807118, 0.94595004, 0.9653037 , 0.97178326, 0.97141244, 0.96841158, 0.6573594 , 0.73430632, 0.80958073]))


Tags: csv代码box语言dfautolibrary特征