我通过 R 中的 arima 函数估计了 ARIMA 模型的参数,并计算了每个参数的 t 比率或 t 统计量。现在我想找到 t 检验的 p 值,我的自由度是多少?是我观察的次数吗?
ARIMA 模型中的自由度
机器算法验证
时间序列
t检验
有马
2022-04-15 17:33:35
2个回答
假设你有一个, 和长度,那么你有自由程度。然后您正在建模的变量的前两个值被“使用”,您将拥有拟合值,和自由程度。
在 R 中使用 AR:
对于 ARIMA(2,0,0),df = N - 2
包括截距 df = N - 3
包括截距和时间趋势(即 xreg = 1:N)df = N - 4。
在下面的代码中,使用最大似然估计系数来完成 AR(2)。在其他语言(如 SAS)中,平方误差和均方误差之和是使用适当的自由度数自动计算的。
您可以看出自由度为 N + X(其中 X = -4),因为:
一开始所有积分都是免费的。X = 0
它是 AR(2),因此两点不是自由的。
X = X - 2
包括一个拦截,另一个点失去了自由:
X = X - 1
包括一个外部回归量(这里是时间分量,1:长度(y),即 1 到 y 的数量),另一点失去了自由度:
X = X - 1
因此 X = -4 因为 4 个点失去了自由。
y_ar <- arima(y, order = c(2,0,0), # AR(2)
method = "ML, # maximum likelihood
include.mean = TRUE, # include intercept
# see the following link for details on irregularities in R
# given this parameter
# https://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm
transform.pars = FALSE, # best practice for method = "ML"
xreg = 1:length(y)) # includes time trend as external regressors
sse = sum(y_ar$residuals^2)
mse = sum(y_ar$residuals^2)/(length(y) - 4)
# 4 parameters
其它你可能感兴趣的问题