来自概率向量的马尔可夫链转移矩阵

时间:2013-01-18 16:46:06

标签: r markov-chains

完整的data.frame概述:

'data.frame':   29 obs. of  3 variables:
$ FirmDatum : Date, format: "1982-12-31" "1983-03-31" "1983-06-30" ...
$ fittedSurv: num  0.884 0.839 0.779 0.746 0.817 ...
$ Rating    : chr  "Aa" "Aaa" "B" "Bb" ...

fittedSurv包含概率,列Rating对应于该时间点的概率(fittedSurv)。

对于马尔可夫链转换矩阵,我需要额外的列。仅仅纯粹重新采样概率的单列(向量)不会单独进行。

就推理而言,最有效的方法是什么? 关于正确的R包的可能指示就足够了 - 一个例子就是奖金。

@Jonathan。它可能是。然而,我怀疑随着时间的推移而变化的概率可以被自举,或者重新采样概率向量,从而创建有意义的概率列。类似的东西:

A <- data.frame(X=FrameTs$Rating)
B <- data.frame(replicate(20, sample(as.character(A$X), size=100, replace = TRUE)))

1 个答案:

答案 0 :(得分:1)

可能的解决方案(我不信任)是:

A <- data.frame(X=FrameTs$Rating)
w <- FrameTs$fittedSurv/sum(FrameTs$fittedSurv)
B <- data.frame(replicate(10, sample(as.character(A$X), size=10, replace = TRUE, prob=w)))

在给定概率的情况下产生相等加权的矩阵:

   X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1   A  A  A  A  A  A  B  A  B   B
2   B  A  A  A  A  A  A  A  A   A
3   A  A  A  B  C  A  A  B  B   A
4   A  A  A  A  A  A  A  A  A   A
5   B  A  A  A  B  A  A  A  A   B
6   A  A  B  B  B  A  A  B  A   A
......and so on...

Of course the matrix B size can be extended via replicate(1000, sample(...

基于这个“概率”矩阵(评级),它可能得到马尔可夫转移矩阵。 (包msm等)。输出数据似乎是直观和正确的,但我不相信这种方法