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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。