假设我有每周测量我孩子 C 身高的数据。大概有一个积极的趋势,由于增长,以及由于测量误差引起的一些噪音,甚至可能是季节性的(冬靴或理发增加了额外的高度)。如果想预测 C 未来的身高(比如说 t+s),我可能会使用 ARIMA 模型,它将下周 C 的身高表示为他前几周身高的函数。
现在假设在过去,我有另外 2 个孩子,A 和 B,他们比 C 大。因此我有关于我孩子在时间 t+s 的身高分布的先验信息。如何将其纳入我的预测中?
例如,考虑以下数据。请注意,虽然 C6(t=6 时 C 的高度)未知,但 A6 和 B6 是已知的。
set.seed(1)
A = seq(1,6,.5) + rnorm(11)/4
B = seq(1,6,.5) + rnorm(11)/4
C = c((seq(1,3,.5) + rnorm(5)/4), rep(NA, 6))
df = data.frame(A, B, C)
> df
A B C
1 0.8433865 1.097461 1.018641
2 1.5459108 1.344690 1.002662
3 1.7910928 1.446325 2.154956
4 2.8988202 2.781233 2.485968
5 3.0823769 2.988767 2.961051
6 3.2948829 3.495952 NA
7 4.1218573 4.235959 NA
8 4.6845812 4.705305 NA
9 5.1439453 5.148475 NA
10 5.4236529 5.729744 NA
11 6.3779453 6.195534 NA
我考虑使用 2NN(2 个最近邻)来预测 C6。2NN 将 C6 估计为 2.485968 和 2.961051 的平均值,这不是很好(尽管如果我们对数据进行差异化,我们会得到更好的结果)。
或者,我们可以说 C6 是先前观察的预期值,因此在这种情况下为 (3.2948829, 3.495952)/2。
我可以使用哪些其他方法将这些先验信息纳入我的预测?我能否以某种方式将我的 ARIMA 预测与这些先验信息结合起来形成一个整体预测?
我也开始研究贝叶斯时间序列、动态线性模型和状态空间模型,但在这些领域没有太多经验,可以使用指针。


