arima
位于 stats
包(package)。 说明
将 ARIMA 模型拟合到单变量时间序列。
用法
arima(x, order = c(0L, 0L, 0L),
seasonal = list(order = c(0L, 0L, 0L), period = NA),
xreg = NULL, include.mean = TRUE,
transform.pars = TRUE,
fixed = NULL, init = NULL,
method = c("CSS-ML", "ML", "CSS"), n.cond,
SSinit = c("Gardner1980", "Rossignol2011"),
optim.method = "BFGS",
optim.control = list(), kappa = 1e6)
参数
x |
单变量时间序列 |
order |
ARIMA 模型非季节性部分的规范:三个整数分量 是 AR 阶数、差分度和 MA 阶数。 |
seasonal |
ARIMA 模型的季节性部分的规范,加上周期(默认为 |
xreg |
(可选)外部回归量的向量或矩阵,其行数必须与 |
include.mean |
ARMA 模型是否应该包含均值/截距项?对于无差异序列,默认值为 |
transform.pars |
逻辑性;如果为真,则对 AR 参数进行变换以确保它们保持在平稳区域内。不用于 |
fixed |
与要估计的系数总数相同长度的可选数值向量。它应该是这样的形式 其中
如果任何 AR 参数固定,则参数 |
init |
初始参数值的可选数值向量。除回归系数外,缺失值将用零填充。 |
method |
拟合方法:最大似然或最小化条件平方和。默认值(除非有缺失值)是使用 conditional-sum-of-squares 查找起始值,然后查找最大似然值。可以缩写。 |
n.cond |
仅在通过 conditional-sum-of-squares 拟合时使用:要忽略的初始观测值的数量。如果小于 AR 项的最大滞后,它将被忽略。 |
SSinit |
指定计算似然状态空间初始化的算法的字符串;有关详细信息,请参阅 |
optim.method |
该值作为 |
optim.control |
|
kappa |
差分模型中过去观测值的先验方差(作为创新方差的倍数)。不要减少这个。 |
细节
ARMA 模型的不同定义对于 AR 和/或 MA 系数具有不同的符号。这里使用的定义有
因此MA系数的符号与S-PLUS的符号不同。此外,如果 include.mean
为 true(ARMA 模型的默认值),则此公式适用于 而不是 。对于具有差分的 ARIMA 模型,差分序列遵循 zero-mean ARMA 模型。如果包含 xreg
项,则线性回归(如果 include.mean
为真且没有差异,则使用常数项)将与误差项的 ARMA 模型进行拟合。
估计的方差矩阵是从对数似然的 Hessian 矩阵中找到的,因此可能只是一个粗略的指导。
优化由 optim
完成。如果 xreg
中的列粗略缩放至零均值和单位方差,则效果最佳,但会尝试估计合适的缩放比例。
值
类 "Arima"
及其组件的列表:
coef |
AR、MA 和回归系数的向量,可以通过 |
sigma2 |
创新方差的 MLE。 |
var.coef |
系数的估计方差矩阵 |
loglik |
(差异数据的)最大对数似然,或所使用的近似值。 |
arma |
规范的紧凑形式,作为向量给出 AR、MA、季节性 AR 和季节性 MA 系数的数量,以及周期以及非季节性和季节性差异的数量。 |
aic |
对应于对数似然的 AIC 值。仅对 |
residuals |
适合的创新。 |
call |
匹配的调用。 |
series |
系列的名称 |
code |
|
n.cond |
拟合中未使用的初始观测值的数量。 |
nobs |
|
model |
表示拟合中使用的卡尔曼滤波器的列表。请参阅 |
装配方法
确切的可能性是通过 ARIMA 过程的状态空间表示以及卡尔曼滤波器发现的创新及其方差来计算的。差分 ARMA 过程的初始化使用平稳性,并且基于 Gardner 等人 (1980)。对于差分过程,非平稳组件被赋予扩散先验(由 kappa
控制)。仍受扩散先验控制的观测值(通过至少 1e4
的卡尔曼增益确定)被排除在似然计算之外。 (在没有缺失值的情况下,当排除的观测值正是因差异而删除的观测值时,这给出了与 arima0
相当的结果。)
允许缺失值,并在方法 "ML"
中精确处理。
如果 transform.pars
为 true,则使用替代参数化来完成优化,该参数化是 Jones (1980) 建议的变体,并确保模型是平稳的。对于 AR(p) 模型,参数化是通过部分自相关的反正切函数进行的:相同的过程(分别)应用于 AR 和季节性 AR 项。 MA 项在优化期间不被限制为可逆,但如果 transform.pars
为 true,它们将在优化后转换为可逆形式。
提供条件平方和主要用于说明目的。这将计算从观察 n.cond
开始的拟合创新的平方和(其中 n.cond
至少是 AR 项的最大滞后),将所有早期创新视为零。参数 n.cond
可用于允许不同拟合之间的比较。 “部分对数似然”是第一项,即估计均方对数的一半。允许缺失值,但会导致许多创新缺失。
当指定回归量时,除非任何系数是固定的,否则它们会在拟合之前正交化。将回归量粗略缩放至零均值和单位方差可能会有所帮助。
注意
结果可能与 S-PLUS 的 arima.mle
不同,后者计算条件似然且不包括模型中的均值。此外,arima.mle
使用的约定反转了 MA 系数的符号。
对于 ARMA 模型或没有缺失值的差分模型,arima
与 arima0
非常相似,但可以准确处理有缺失值的差分模型。它比 arima0
稍慢,特别是对于季节性差异模型。
例子
arima(lh, order = c(1,0,0))
arima(lh, order = c(3,0,0))
arima(lh, order = c(1,0,1))
arima(lh, order = c(3,0,0), method = "CSS")
arima(USAccDeaths, order = c(0,1,1), seasonal = list(order = c(0,1,1)))
arima(USAccDeaths, order = c(0,1,1), seasonal = list(order = c(0,1,1)),
method = "CSS") # drops first 13 observations.
# for a model with as few years as this, we want full ML
arima(LakeHuron, order = c(2,0,0), xreg = time(LakeHuron) - 1920)
## presidents contains NAs
## graphs in example(acf) suggest order 1 or 3
require(graphics)
(fit1 <- arima(presidents, c(1, 0, 0)))
nobs(fit1)
tsdiag(fit1)
(fit3 <- arima(presidents, c(3, 0, 0))) # smaller AIC
tsdiag(fit3)
BIC(fit1, fit3)
## compare a whole set of models; BIC() would choose the smallest
AIC(fit1, arima(presidents, c(2,0,0)),
arima(presidents, c(2,0,1)), # <- chosen (barely) by AIC
fit3, arima(presidents, c(3,0,1)))
## An example of using the 'fixed' argument:
## Note that the period of the seasonal component is taken to be
## frequency(presidents), i.e. 4.
(fitSfx <- arima(presidents, order=c(2,0,1), seasonal=c(1,0,0),
fixed=c(NA, NA, 0.5, -0.1, 50), transform.pars=FALSE))
## The partly-fixed & smaller model seems better (as we "knew too much"):
AIC(fitSfx, arima(presidents, order=c(2,0,1), seasonal=c(1,0,0)))
## An example of ARIMA forecasting:
predict(fit3, 3)
参考
Brockwell, P. J. and Davis, R. A. (1996). Introduction to Time Series and Forecasting. Springer, New York. Sections 3.3 and 8.3.
Durbin, J. and Koopman, S. J. (2001). Time Series Analysis by State Space Methods. Oxford University Press.
Gardner, G, Harvey, A. C. and Phillips, G. D. A. (1980). Algorithm AS 154: An algorithm for exact maximum likelihood estimation of autoregressive-moving average models by means of Kalman filtering. Applied Statistics, 29, 311-322. doi:10.2307/2346910.
Harvey, A. C. (1993). Time Series Models. 2nd Edition. Harvester Wheatsheaf. Sections 3.3 and 4.4.
Jones, R. H. (1980). Maximum likelihood fitting of ARMA models to time series with missing observations. Technometrics, 22, 389-395. doi:10.2307/1268324.
Ripley, B. D. (2002). “Time series in R 1.5.0”. R News, 2(2), 2-7. https://www.r-project.org/doc/Rnews/Rnews_2002-2.pdf
也可以看看
predict.Arima
、 arima.sim
用于从 ARIMA 模型进行模拟、tsdiag
、 arima0
、 ar
相关用法
- R arima.sim 从 ARIMA 模型进行模拟
- R arima0 时间序列的 ARIMA 建模 – 初步版本
- R ar.ols 通过 OLS 将自回归模型拟合到时间序列
- R ar 将自回归模型拟合到时间序列
- R aggregate 计算数据子集的汇总统计
- R alias 查找模型中的别名(依赖项)
- R anova.glm 广义线性模型拟合的偏差分析
- R anova.mlm 多元线性模型之间的比较
- R addmargins 在多维表或数组上设置任意边距
- R anova 方差分析表
- R asOneSidedFormula 转换为单边公式
- R as.hclust 将对象转换为 hclust 类
- R ansari.test 安萨里-布拉德利检验
- R approxfun 插值函数
- R add1 在模型中添加或删除所有可能的单项
- R acf 自协方差和互协方差以及相关函数估计
- R aov 拟合方差分析模型
- R ave 因子水平组合的组平均值
- R acf2AR 计算精确拟合 ACF 的 AR 过程
- R anova.lm 线性模型拟合的方差分析
- R stlmethods STL 对象的方法
- R medpolish 矩阵的中值波兰(稳健双向分解)
- R naprint 调整缺失值
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 ARIMA Modelling of Time Series。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。