KalmanLike
位於 stats
包(package)。 說明
使用卡爾曼濾波查找(高斯)對數似然,或用於預測或平滑。
用法
KalmanLike(y, mod, nit = 0L, update = FALSE)
KalmanRun(y, mod, nit = 0L, update = FALSE)
KalmanSmooth(y, mod, nit = 0L)
KalmanForecast(n.ahead = 10L, mod, update = FALSE)
makeARIMA(phi, theta, Delta, kappa = 1e6,
SSinit = c("Gardner1980", "Rossignol2011"),
tol = .Machine$double.eps)
參數
y |
單變量時間序列。 |
mod |
說明狀態空間模型的列表:請參閱“詳細信息”。 |
nit |
計算初始化的時間。 |
update |
如果 |
n.ahead |
需要預測的前方步驟數。 |
phi, theta |
長度為 的數字向量給出 AR 和 MA 參數。 |
Delta |
差分係數向量,因此 ARMA 模型適合 |
kappa |
差分模型中過去觀測值的先驗方差(作為創新方差的倍數)。 |
SSinit |
指定計算狀態空間初始化的 |
tol |
當 |
細節
這些函數與具有狀態向量‘的一般單變量狀態空間模型一起使用a”,過渡“a <- T a + R e’, 和觀測方程‘y = Z'a + eta’, 。可能性是估計後的輪廓可能性 .
該模型被指定為至少包含組件的列表
T
-
轉移矩陣
Z
-
觀測係數
h
-
觀察方差
V
-
'RQR’’
a
-
當前狀態估計
P
-
狀態不確定性矩陣的當前估計
Pn
-
狀態不確定性矩陣
KalmanForecast
更新)。 在時間 的估計(未由
KalmanSmooth
是 tsSmooth
的主力函數。
makeARIMA
構造 ARIMA 模型的狀態空間模型,另請參閱 arima
。
狀態空間初始化多年來一直使用 Gardner 等人的方法 (SSinit = "Gardner1980"
)。然而,當接近非平穩時,有時會出現缺陷。因此,將來它可能會被替換為默認值,並且僅出於可重複性的原因而保留。因此,建議顯式指定 SSinit
,特別是在 arima()
中。 "Rossignol2011"
方法已由 Raphael Rossignol 大學提出並部分記錄。格勒諾布爾,於 2011 年 9 月 20 日(請參閱下麵的 PR#14682),後來由 Matwey V. Kornilov 移植到 C。它通過差分方程的方法(Brockwell 和 Davis 第 93 頁)計算 的協方差矩陣,這顯然是由 Gardner 等人的裁判建議的(參見他們論文的第 314 頁)。
值
對於 KalmanLike
,包含組件 Lik
(對數似然減去一些常數)和 s2
的列表,即 的估計值。
對於 KalmanRun
,包含組件 values
的列表,長度為 2 的向量,給出 KalmanLike
、 resid
(殘差)和 states
的輸出,同時狀態估計,每個矩陣一行觀察時間。
對於 KalmanSmooth
,包含兩個組件的列表。組件 smooth
是基於所有觀測值的狀態估計 n
x p
矩陣,每次一行。分量 var
是方差矩陣的 n
by p
by p
數組。
對於 KalmanForecast
,包含組件 pred
、預測和 var
、預測誤差的未縮放方差(乘以 s2
)的列表。
對於 makeARIMA
,包含其參數組件的模型列表。
警告
這些函數被設計為從其他函數調用,這些函數檢查傳遞的參數的有效性,因此很少進行檢查。
例子
## an ARIMA fit
fit3 <- arima(presidents, c(3, 0, 0))
predict(fit3, 12)
## reconstruct this
pr <- KalmanForecast(12, fit3$model)
pr$pred + fit3$coef[4]
sqrt(pr$var * fit3$sigma2)
## and now do it year by year
mod <- fit3$model
for(y in 1:3) {
pr <- KalmanForecast(4, mod, TRUE)
print(list(pred = pr$pred + fit3$coef["intercept"],
se = sqrt(pr$var * fit3$sigma2)))
mod <- attr(pr, "mod")
}
參考
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.
R bug report PR#14682 (2011-2013) https://bugs.r-project.org/show_bug.cgi?id=14682.
也可以看看
相關用法
- R stlmethods STL 對象的方法
- R medpolish 矩陣的中值波蘭(穩健雙向分解)
- R naprint 調整缺失值
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
- R formula 模型公式
- R nls.control 控製 nls 中的迭代
- R aggregate 計算數據子集的匯總統計
- R deriv 簡單表達式的符號和算法導數
- R kruskal.test Kruskal-Wallis 秩和檢驗
- R quade.test 四方測試
- R decompose 移動平均線的經典季節性分解
- R plot.stepfun 繪製階躍函數
- R alias 查找模型中的別名(依賴項)
- R qqnorm 分位數-分位數圖
- R eff.aovlist 多層方差分析的計算效率
- R pairwise.t.test 成對 t 檢驗
- R loglin 擬合對數線性模型
- R predict.smooth.spline 通過平滑樣條擬合進行預測
- R bartlett.test 方差齊性的 Bartlett 檢驗
- R influence.measures 回歸刪除診斷
- R loess.control 設置黃土參數
- R Normal 正態分布
- R summary.lm 總結線性模型擬合
- R Uniform 均勻分布
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Kalman Filtering。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。