マルコフ連鎖のメモリレスプロパティをチェックする


17

観測された一連のシーケンスはマルコフ連鎖であると思われます...

X=(ACDDBACBAACADABCADABE)

しかし、のメモリレスプロパティを実際に尊重していることをどのように確認でき

P(Xi=xi|Xj=xj)?

または、少なくとも彼らが本質的にマルコフであることを証明しますか?これらは経験的に観察されたシーケンスであることに注意してください。何かご意見は?

編集

付け加えると、目的は、観測されたシーケンスと予測されたシーケンスのセットを比較することです。したがって、これらを比較する最善の方法に関するコメントをいただければ幸いです。

一次遷移行列

Mij=xijmxik
ここで、m = A..E状態

M=(0.18340.30770.07690.14790.28400.46970.11360.00760.25000.15910.18270.24040.22120.19230.16350.23780.18180.06290.33570.18180.24580.17880.11730.17880.2793)

M固有値

E=(1.0000000000.2283000000.1344000000.11360.0430i000000.1136+0.0430i)

M固有ベクトル

V=(0.44720.58520.42190.23430.0421i0.2343+0.0421i0.44720.78380.42110.44790.2723i0.4479+0.2723i0.44720.20060.37250.63230.63230.44720.00100.70890.21230.0908i0.2123+0.0908i0.44720.05400.05890.2546+0.3881i0.25460.3881i)

列には系列が含まれ、行にはシーケンスの要素が含まれますか?観測された行と列の数は?
mpiktas


@mpiktas行は、状態ADを通過する遷移の独立した観測シーケンスを表します。約400個のシーケンスがあります...観察されるシーケンスはすべて同じ長さではないことに注意してください。実際、多くの場合、上記の行列にはゼロが追加されます。ちなみにリンクありがとうございます。この分野にはまだかなりの作業の余地があるようです。他に考えはありますか?よろしく、
-HCAI

1
線形回帰は、私の論点を強化するための例でした。つまり、マルコフのプロパティを直接テストする必要はないかもしれませんが、マルコフのプロパティを想定し、モデルの有効性をチェックするモデムを取り付けるだけで済みます。
mpiktas

1
H0 = {Markov} vs H1 = {Markov order 2}の仮説検定をどこかで見たことを漠然と覚えています。これは役立ちます。
ステファンローラン

回答:


5

次のようにプロポーションの有効なピアソンテストが得られるのではないかと思います。χ2

  1. ワンステップ遷移確率を推定します-あなたはそれをやった。
  2. 2ステップモデルの確率を取得します。
    p^U,V=Prob[Xi+2=U|Xi=V]=W{A,B,C,D}Prob[Xi+2=U|Xi+1=W]Prob[Xi+1=W|Xi=V]
  3. 2段階の経験的確率を取得します
    p~U,V=i#Xi=V,Xi+2=Ui#Xi=V
  4. フォームピアソン検定統計
    TV=#{Xi=V}U(p^U,Vp~U,V)2p^U,V,T=TA+TB+TC+TD

それぞれので、合計となると思うのは魅力的です。しかし、私はそれを完全に確信しているわけではなく、これについてのあなたの考えに感謝します。同様に、独立性について偏執的である必要があるかどうかについて不確実ではなく、およびを推定するためにサンプルを半分に分割したいと思い。 T χ 2 12 P ˉ PTUχ32Tχ122p^p¯


確率は、これが保持されるために平均が0で分散が1の正規分布を持つ必要はありませんか?ここで誰が何を考えているのか知りたいです。
HCAI

それは、合計内の用語が漸近的に大きなカウントであると想定されるものです。
StasK

6

マルコフ特性を直接テストするのは難しいかもしれません。しかし、マルコフ特性を前提とするモデルに適合し、モデルが成立するかどうかをテストすれば十分かもしれません。当てはめられたモデルは実際にはあなたにとって有用な良い近似であり、マルコフ特性が本当に成り立つかどうかを心配する必要がないことが判明するかもしれません。

線形回帰に対して平行線を引くことができます。通常は、線形性が保持されるかどうかをテストするのではなく、線形モデルが有用な近似であるかどうかをテストします。


これは実際には最良の選択肢のように思えますが、線形モデルを実際の実験データと実際に比較することはできません。それとも、何か他のことを考えていましたか?
HCAI

6

前の応答の提案を具体化するには、まずマルコフ確率を推定します-それがマルコフであると仮定します。回答を参照してくださいマルコフ連鎖確率の推定

状態AからA、AからBなどへの遷移の割合に基づいて4 x 4マトリックスを取得する必要があります。このマトリックス呼び出します。その場合、は2ステップの遷移行列になります。AからAへの2ステップなどです。その後、観測された2ステップ遷移行列が類似しているかどうかをテストできます。M 2 M 2MM2M2

状態の数について多くのデータがあるため、データの半分からを推定し、残りの半分を使用してをテストできます。多項分布の理論的確率に対して観測周波数をテストしています。それはあなたがどれだけ離れているかのアイデアを与える必要があります。M 2MM2

別の可能性は、基本的な状態の割合:Aで費やされた時間、Bで費やされた時間、Mの単位固有値の固有ベクトルと一致するかどうかを確認することです。系列が何らかの定常状態に達した場合、状態はその制限に傾向があるはずです。


移行マトリックス計算しましたが、経験的に計算する方法がわかりません。その点を明確にできますか?よろしく、M 2MM2
HCAI

また、後者のコメントは非常に興味深いものですが、観測されたシーケンスの各状態に費やす時間はありません。各行の合計時間しかありません。そのため、そのメソッドの適用可能性が制限される場合があります。あなたの考えは何ですか?
HCAI

1
Mと同じ方法で、最も近い隣接遷移(シーケンスABなど)を見る代わりに、2つ離れているペアを見てください。したがって、被験者がACBになった場合、それはAB移行カウントにカウントされます。ABBも同様です。行i、列jのアイテムがiからjへの遷移を含むマトリックスを作成します。次に、列の合計で除算します。列を合計して1にする必要があります。マルコフプロパティの下では、この行列はM2
Placidia

RE:平衡。遷移は設定された瞬間に発生すると想定していました。たとえば、1秒ごとに、現在の状態から次の状態に遷移するとします。A、B、C、およびD状態の頻度をシーケンスの終わり近くで、またはシーケンス全体で取得して、制限動作を推定できます。
プラキディア

Rでは、eigen(M)を実行すると、Mの固有値と固有ベクトルを取得する必要があります。1つの固有値は1になります。対応する固有ベクトルは、定常状態の比率に比例する必要があります。
プラキディア

2

マルコフ特性(MP)を超えて、さらなる特性は時間均一性(TH)ですはマルコフにできますが、遷移行列 は時間依存します。例えば、それはで平日に依存し得る観察を毎日している場合、次いで依存 にを条件 THを不当とすると診断することができます。Pt t t X t X t 7 X t 1XtP(t)ttXtXt7Xt1

THが成り立つと仮定すると、MPの可能なチェックは、Michael ChernickとStasKが示唆したように、が条件とするから独立していることをテストしています。これは、分割表のテストを使用して実行できます。およびの分割表を、可能な値 についてを条件に作成し、独立性をテストできます。代わりにして を使用することもできます。XtXt2Xt1nXtXt2{Xt1=xj}nxjXt>1Xt2

Rにおいて、偶発テーブルまたはアレイを容易におかげで産生される因子の機能と機能をapplysweep。上記のアイデアは、グラフィカルに活用することもできます。パッケージggplot2またはラティスは、条件付き分布を比較する条件付きプロットを簡単に提供します。たとえば、トレリスのを行インデックスとして、を列インデックスとして設定すると、MPの下で列内に同様の分布が生じるはずです。p(Xt|Xt1=xj,Xt2=xi)ij

チャップ。本 5 JK Lindseyによる時間内の確率過程の統計分析には、仮定をチェックするための他のアイデアが含まれています。

ここに画像の説明を入力してください

[## simulates a MC with transition matrix in 'trans', starting from 'ini'
simMC <- function(trans, ini = 1, N) {
  X <- rep(NA, N)
  Pcum <- t(apply(trans, 1, cumsum))
  X[1] <- ini 
  for (t in 2:N) {
    U <- runif(1)
    X[t] <- findInterval(U, Pcum[X[t-1], ]) + 1
  }
  X
}
set.seed(1234)
## transition matrix
P <- matrix(c(0.1, 0.1, 0.1, 0.7,
              0.1, 0.1, 0.6, 0.2,
              0.1, 0.3, 0.2, 0.4,
              0.2, 0.2, 0.3, 0.3),
            nrow = 4, ncol = 4, byrow = TRUE)
N <- 2000
X <- simMC(trans = P, ini = 1, N = N)
## it is better to work with factors
X <- as.factor(X)
levels(X) <- LETTERS[1:4]
## table transitions and normalize each row
Phat <- table(X[1:(N-1)], X[2:N])
Phat <- sweep(x = Phat, MARGIN = 1, STATS = apply(Phat, 1, sum), FUN = "/")
## explicit dimnames
dimnames(Phat) <- lapply(list("X(t-1)=" ,"X(t)="),
                         paste, sep = "", levels(as.factor(X)))
## transition 3-fold contingency array
P3 <- table(X[1:(N-2)], X[2:(N-1)], X[3:N])
dimnames(P3) <- lapply(list("X(t-2)=", "X(t-1)=" ,"X(t)="),
                       paste, sep = "", levels(as.factor(X)))
## apply ONE indendence test 
fisher.test(P3[ , 1, ], simulate.p.value = TRUE)
## plot conditional distr.
library(lattice)
X3 <- data.frame(X = X[3:N], lag1X =  X[2:(N-1)], lag2X = X[1:(N-2)])
histogram( ~ X | lag1X + lag2X, data = X3, col = "SteelBlue3")

]


2

placidaとmpiktasはどちらも非常に思慮深く優れたアプローチを提供していると思います。

場合、私はちょうど1を参照するには、テストを構築することができることを追加したいので、私は答えています異なっている。P(Xi=x|Xi1=y)P(Xi=x|Xi1=y and Xi2=z)

私は、、、および値を選択します。これらの場合、からへの遷移がxyzzyx発生します。両方の確率のサンプル推定値を計算します。次に、比率の違いをテストします。これの難しい側面は、比率が等しく、チェーンが定常でマルコフであるという帰無仮説の下で、2つの推定値の分散を取得することです。その場合、2つのすべてのステージ遷移を見て、それらを対応する3つのステージ遷移と比較するだけで、これらのペアの結果のセットが少なくとも2つの時点で分かれている結果のみを含む場合、帰無仮説の下で、共同の結果のシーケンス成功は、次のように定義されるのへへの移行およびすべての他の二つの段階遷移zyx y x xxx失敗は帰無仮説の下での一連の独立したベルヌーイ試行を表すためです。同じことが、すべてのからへの遷移を成功として定義し、他の1ステージからへの遷移を失敗として定義するために機能します。yxx

その場合、検定統計量はこれらの推定比率の差になります。ベルヌーイ配列の標準比較の複雑さは、それらが相関していることです。ただし、この場合は二項比率のブートストラップテストを実行できます。

他の可能性は、が失敗でが成功で、セル頻度がペア、、およびここで、最初のコンポーネントは2段階の結果であり、2番目は対応する3段階の結果です。その後、McNemarのテストをテーブルに適用できます。1 0 0 )、 0 1 1 0 )、 1 1 01(0,0)(0,1)(1,0)(1,1)


最初の段落は非常に簡潔ですが、ここであなたが言及していることはわかります。たとえば、「サンプルの推定値を計算[...]してから、比率の差をテストします」。サンプル推定値とはどういう意味ですか?確かに差異はないでしょうか、それともあなたの思考の流れを誤解していますか?
P(Xi|Xi1=y)
HCAI

@ user1134241「経験的に観測された」とおっしゃいましたが、この確率的シーケンスからのデータがあると仮定しました。あなたはPを推定したい場合は(X = X | X = y)の各インデックスのi 1 X = yと、回数Xの数カウント = xとし、数で割り回数X = y(Xが何に等しいかに関係なく)。観測された有限シーケンスは確率過程のシーケンスの一部の単なるサンプルであるため、これは推定値です。ii1i1ii1i
マイケルR.チャーニック

あなたの最後のパラグラフで、成功を構成するものを正確に尋ねてみましょう。2ステップの遷移を言う場合:と言って、3ステップはでしょうか?ijiijki
HCAI

1

データを等間隔にビン化し、サブセットの不偏サンプル分散を計算できます。合計分散の法則により、{Xn+1:Xn=x1,Xnk=x2}

Var[E(Xn+1|Xn,Xnk)|Xn]=Var[Xn+1|Xn]E(Var[Xn+1|Xn])

LHSは、ほぼゼロの場合、遷移確率が依存しないという証拠を提供しますが、明らかに弱いステートメントです。たとえば、。上記の式の両側の期待値を使用して、サンプルの分散からRHSを計算できます(つまり、期待値を平均で置き換えます)。分散の期待値がゼロの場合、分散はほとんど常に0です。 X N + 1N X NX N - 1XnkXn+1N(Xn,Xn1)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.