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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。