Controlla la proprietà senza memoria di una catena Markov


17

Sospetto che una serie di sequenze osservate siano una catena di Markov ...

X=(ACDDBACBAACADABCADABE)

Tuttavia, come posso verificare che rispettino effettivamente la proprietà senza memoria di

P(Xi=xi|Xj=xj)?

O almeno dimostrare che sono Markov in natura? Nota che queste sono sequenze osservate empiricamente. qualche idea?

MODIFICARE

Solo per aggiungere, l'obiettivo è quello di confrontare una serie prevista di sequenza da quelle osservate. Quindi apprezzeremmo i commenti sul modo migliore per confrontarli.

Matrice di transizione del primo ordine

Mij=xijmxik
dove m = A..E indica

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)

Autovalori di M

E=(1.0000000000.2283000000.1344000000.11360.0430i000000.1136+0.0430i)

Autovettori di 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)

Le colonne contengono le serie e le righe gli elementi delle sequenze? Qual è il numero osservato di righe e colonne?
mpiktas,


@mpiktas Le righe rappresentano le sequenze osservate indipendenti di transizioni attraverso gli stati AD. Ci sono circa 400 sequenze ... Ricorda che le sequenze osservate non sono tutte della stessa lunghezza. In effetti, la matrice di cui sopra in molti casi è aumentata dagli zeri. Grazie per il collegamento tra l'altro. Sembra che ci sia ancora un notevole spazio di lavoro in questo campo. Hai altri pensieri? Saluti,
HCAI

1
La regressione lineare è stata un esempio per rafforzare il punto della mia tesi. Vale a dire che potrebbe non essere necessario testare direttamente la proprietà Markov, è necessario solo installare un modem che presupponga la proprietà Markov e quindi verificare la validità del modello.
mpiktas,

1
Ricordo vagamente di aver visto da qualche parte un test di ipotesi per H0 = {Markov} vs H1 = {Markov order 2}. Questo potrebbe aiutare.
Stéphane Laurent,

Risposte:


5

Mi chiedo se quanto segue darebbe un test Pearson valido per le proporzioni come segue.χ2

  1. Stimare le probabilità di transizione in un passaggio - l'hai fatto.
  2. Ottieni le probabilità del modello in due passaggi:
    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. Ottieni le probabilità empiriche in due fasi
    p~U,V=i#Xi=V,Xi+2=Ui#Xi=V
  4. Modulo di Pearson statistica test
    TV=#{Xi=V}U(p^U,Vp~U,V)2p^U,V,T=TA+TB+TC+TD

E ' forte la tentazione per me pensare che ogni , in modo che il totale T ~ χ 2 12 . Tuttavia, non ne sono del tutto sicuro, e apprezzerei i tuoi pensieri su questo. Io non sono allo stesso modo non co sertain circa se si ha la necessità di essere paranoico circa l'indipendenza, e vorrei dividere il campione in due metà per stimare p e ˉ p .TUχ32Tχ122p^p¯


Le probabilità non devono avere una distribuzione normale con media 0 e varianza = 1 perché questa sia valida? Sarei molto interessato a sapere cosa ne pensa qualcuno qui.
HCAI,

Questo è ciò che dovrebbero essere i termini della somma, asintoticamente con grandi conteggi.
StasK,

6

La proprietà Markov potrebbe essere difficile da testare direttamente. Ma potrebbe essere sufficiente adattare un modello che assume la proprietà Markov e quindi verificare se il modello è valido. Si può scoprire che il modello montato è una buona approssimazione che è utile per te in pratica, e non devi preoccuparti se la proprietà Markov è davvero valida o meno.

Il parallelo può essere disegnato alla regressione lineare. La pratica abituale non è verificare se la linearità è valida, ma se il modello lineare è un'approssimazione utile.


Questa sembra la migliore opzione nella realtà, solo che in realtà non posso confrontare un modello lineare con nessun dato sperimentale reale. O avevi in ​​mente qualcos'altro?
HCAI

6

Per concretizzare il suggerimento della risposta precedente, è innanzitutto necessario stimare le probabilità di Markov, supponendo che sia Markov. Vedere la risposta qui Stima delle probabilità della catena di Markov

Si dovrebbe ottenere una matrice 4 x 4 sulla base della percentuale di transizioni dallo stato A ad A, da A a B, ecc Chiama questa matrice . M 2 dovrebbe quindi essere la matrice di transizione in due passaggi: da A ad A in 2 passaggi e così via. È quindi possibile verificare se la matrice di transizione a 2 passaggi osservata è simile a M 2 .MM2M2

Dato che disponi di molti dati per il numero di stati, puoi stimare da una metà dei dati e testare M 2 usando l'altra metà: stai testando le frequenze osservate rispetto alle probabilità teoriche di un multinomiale. Questo dovrebbe darti un'idea di quanto sei lontano.MM2

Un'altra possibilità sarebbe vedere se le proporzioni dello stato di base: tempo proporzionale trascorso in A, tempo trascorso in B, corrisponda all'autovettore dell'unità autovalore di M. Se la tua serie ha raggiunto una sorta di stato stazionario, la proporzione di tempo in ciascuna lo stato dovrebbe tendere a quel limite.


C'è un po 'da prendere lì. Ho calcolato la matrice di transizione , ma non sono sicuro di come calcolerai empiricamente M 2 . Potresti chiarire questo punto? Saluti,MM2
HCAI

Inoltre, quest'ultimo commento è molto interessante, anche se non ho il tempo trascorso in ogni stato delle mie sequenze osservate. Ho solo il tempo totale per ogni riga. In modo che ciò possa limitare l'applicabilità di tale metodo. Quali sono i tuoi pensieri?
HCAI,

1
Fallo nello stesso modo in cui hai fatto M, solo invece di guardare le transizioni vicine più vicine, (diciamo, sequenze AB), guarda le coppie che sono 2 a parte. Quindi, se un soggetto diventa ACB, ciò conta ai fini del conteggio delle transizioni AB. Anche ABB. Crea una matrice in cui l'elemento nella riga i, colonna j contiene le transizioni da i a j. Quindi dividi per i totali della colonna. Desideri che le colonne si sommino a 1. Sotto la proprietà Markov, questa matrice dovrebbe essere vicina a M2
Placidia,

RE: equilibrio. Stavo supponendo che le transizioni si verifichino in determinati momenti - diciamo ogni secondo, si passa dallo stato corrente allo stato successivo. È possibile prendere la frequenza degli stati A, B, C e D vicino alle estremità delle sequenze o tra sequenze per stimare il comportamento limite.
Placidia,

In R, se fai autovelox (M), dovresti ottenere gli autovalori e gli autovettori di M. Un autovalore sarà 1. L'autovettore corrispondente dovrebbe essere proporzionale alle proporzioni dello stato stazionario .... se Markov.
Placidia,

2

Oltre alla proprietà Markov (MP), un'ulteriore proprietà è l' omogeneità temporale (TH): può essere Markov ma con la sua matrice di transizione P ( t ) a seconda del tempo t . Ad esempio, esso può dipendere dal giorno della settimana in t se osservazioni sono giornalmente, e quindi una dipendenza X t on X t - 7 condizionato X t - 1 può essere diagnosticato se TH è indebitamente assunto.XtP(t)ttXtXt7Xt1

Supponendo che TH sia valido, un possibile controllo per MP sta verificando che sia indipendente da X t - 2 in base a X t - 1 , come suggerivano Michael Chernick e StasK. Questo può essere fatto utilizzando un test per la tabella di contingenza. Possiamo costruire le n tabelle di contingenza di X t e X t - 2 in base a { X t - 1 = x j } per gli n valori possibili x jXtXt2Xt1nXtXt2{Xt1=xj}nxje testare l'indipendenza. Questo può essere fatto anche usando con > 1 al posto di X t - 2 .Xt>1Xt2

In R, tabelle di contingenza o array sono prodotti agevolmente grazie al fattore facilità e le funzioni apply, sweep. L'idea sopra può anche essere sfruttata graficamente. I pacchetti ggplot2 o reticolo forniscono facilmente grafici condizionali per confrontare le distribuzioni condizionali . Ad esempio, impostando i come indice di riga e jp(Xt|Xt1=xj,Xt2=xi)ij poiché l'indice di colonna nel traliccio dovrebbe condurre a MP in distribuzioni simili all'interno di una colonna.

Il cap. 5 del libro L'analisi statistica dei processi stocastici nel tempo di JK Lindsey contiene altre idee per verificare i presupposti.

enter image description here

[## 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

Penso che placida e mpiktas abbiano entrambi dato approcci molto ponderati ed eccellenti.

P(Xi=x|Xi1=y)P(Xi=x|Xi1=y and Xi2=z)

xyzzyxzyxxyxx

Quindi la statistica del test sarebbe la differenza tra queste proporzioni stimate. La complicazione del confronto standard delle sequenze di Bernoulli è che sono correlate. Ma potresti fare un test bootstrap di proporzioni binomiali in questo caso.

01(0,0)(0,1)(1,0)(1,1)


Vedo a cosa ti riferisci qui, anche se sto trovando il primo paragrafo molto conciso. Ad esempio "Calcola le stime del campione [...], quindi verifica la differenza nelle proporzioni". Cosa intendi con stime di esempio? Sicuramente non ci sarebbe alcuna variazione
P(Xio|Xio-1=y)
o sto fraintendendo il tuo treno di pensieri?
HCAI,

@user1134241 You mentioned "empirically observed", I assumed that you have data from this stochastic sequence. If you want to estimate P(Xi=x|Xi1=y) for each index i-1 where Xi1=y, count the number of times Xi = x and divide it by the number of times Xi1 = y (regardless of what Xi equals). That is an estimate because the observed finite sequence is just a sample of a portion of a sequence of the stochastic process.
Michael R. Chernick

In your last paragraph, let me ask what constitute a success and exactly? In the case where you say a two-step transition: are you saying iji and a 3-step would be ijki?
HCAI

1

You could bin the data into evenly spaced intervals, then compute the unbiased sample variances of subsets {Xn+1:Xn=x1,Xnk=x2}. By the law of total variance,

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

The LHS, if it is almost zero, provides evidence that the transition probabilities do not depend on Xnk, though it is clearly a weaker statement: e.g., let Xn+1N(Xn,Xn1). Taking the expected value of both sides of the above equation, the RHS can be computed from the sample variances (i.e., replacing expected values with averages). If the expected value of the variance is zero then the variance is 0 almost always.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.