私はR markovchainパッケージを使用しようとしていました。R Markovchainパッケージ - 状態行列に基づいてマルコフ連鎖を適合させる
markovchainFit関数とシーケンス行列に関する質問があります。
デフォルトでは、markovchainFit関数は状態のシーケンスをパラメータとして実行されます。 次に、ドキュメント内では、この関数がそのシーケンスをシーケンス・マトリックスに変更し、createSequenceMatrix関数を使用して取得できると言われています。
私の質問は - ですが、何とかmarkovchainFitをパラメータとして(または少なくとも複数のデータシーケンスのvecotrを使って)シーケンスマトリックスで実行できますか?
私のモデルでは複数の吸収状態があるので、私は尋ねています。 これは、例のシーケンスが吸収状態で終了するため、短いかもしれないことを意味します。 私は自分のデータセットに複数のシーケンスを持っており、それらに基づいてシーケンスマトリックスを作成することができます。 しかし、私はmarkovchainFitのパラメータとして使うことができる1つの長いシーケンスを持っていません(各シーケンスは2つの状態の後に吸収されるので)。私の質問で
用語は、次のドキュメントに基づいています。簡単なシナリオが導入された記事の天気例でmarkovchainパッケージ
へ CRAN紹介。 3つの状態(晴れ、曇り、雨)と遷移行列は、入力でのように与えられるがある:そのマトリックスマルコフ連鎖オブジェクトが構築されているに基づい
sunny cloudy rain
sunny 0.7 0.20 0.10
cloudy 0.3 0.40 0.30
rain 0.2 0.45 0.35
:そして
R> weatherMatrix <- matrix(data = c(0.70, 0.2, 0.1,
+ 0.3, 0.4, 0.3,
+ 0.2, 0.45, 0.35), byrow = byRow, nrow = 3,
+ dimnames = list(weatherStates, weatherStates))
R> mcWeather <- new("markovchain", states = weatherStates, byrow = byRow,
+ transitionMatrix = weatherMatrix, name = "Weather")
配列がデータのマルコフ連鎖から生成される - バックそのサンプルからモデルをフィットする方法を実証するために:
R> weathersOfDays <- rmarkovchain(n = 365, object = mcWeather, t0 = "sunny")
次に、新しいマルコフ連鎖は、データに基づいて装着されている:
R> weatherFittedLAPLACE <- markovchainFit(data = weathersOfDays,
+ method = "laplace", laplacian = 0.01,
+ name = "Weather LAPLACE")
R> weatherFittedLAPLACE$estimate
推定結果は、データが元の遷移行列に近い方法を示すために、以下に示す:
cloudy rain sunny
cloudy 0.3944786 0.32110428 0.2844171
rain 0.4050361 0.37972922 0.2152347
sunny 0.1932057 0.07958871 0.7272056
継手が「配列行列」に基づいていると言われています
私の問題は、多くの吸収状態があり、鎖が比較的短いため、複数の配列形式のデータがあることです。
私はそれらをフィードしてモデルにフィットさせたいと思いますが、パッケージはデータの1つのシーケンスを供給することができます。あるいは、上記のように配列行列を構築してモデルに供給することもできますが、パッケージ内で関数を処理することはできません。
短いストーリー - 私は複数の短いデータシーケンスを持っており、それに基づいてマルコフチェーンモデルを適合させたいと思っています。
"シーケンスマトリックス"の特定の例を含めるように質問を編集した方が簡単です。私は自分の背景から、「遷移マトリックス」に基づいて実現を望んでいると言われていたと思いますが、多分異なる用語で作業しています。 –