Verifique a propriedade sem memória de uma cadeia de Markov

17

Suspeito que uma série de sequências observadas sejam uma cadeia de Markov ...

X=(ACDDBACBAACADABCADABE)

No entanto, como eu poderia verificar se eles realmente respeitam a propriedade sem memória de

P(Xi=xi|Xj=xj)?

Ou pelo menos provar que eles são Markov na natureza? Note que estas são sequências empiricamente observadas. Alguma ideia?

EDITAR

Apenas para acrescentar, o objetivo é comparar um conjunto de seqüências previsto dos observados. Gostaríamos de receber comentários sobre a melhor forma de compará-los.

Matriz de transição de primeira ordem

Mij=xijmxik
que 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)

Valores próprios de M

E=(1.00000 00 00 00 00 0-0,222830 00 00 00 00 00,13440 00 00 00 00 00,1136-0,0430Eu0 00 00 00 00 00,1136+0,0430Eu)

Autovetores de 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)
HCAI
fonte
As colunas contêm a série e as linhas os elementos das sequências? Qual é o número observado de linhas e colunas?
Mpgtas 17/09/12
2
Possível duplicado: stats.stackexchange.com/questions/29490/…
mpiktas
@mpiktas As linhas representam as seqüências observadas independentes de transições pelos estados AD. Existem cerca de 400 seqüências ... Lembre-se de que as seqüências observadas não têm o mesmo comprimento. De fato, em muitos casos, a matriz acima é aumentada por zeros. Obrigado pelo link, a propósito. Parece que ainda há espaço considerável para o trabalho nesse campo. Você tem mais algum pensamento? Saudações,
HCAI
1
A regressão linear foi um exemplo para reforçar o argumento do meu argumento. Ou seja, talvez você não precise testar a propriedade Markov diretamente, é necessário ajustar apenas algum modem que assuma a propriedade Markov e, em seguida, verifique a validade do modelo.
mpiktas 19/09/12
1
Lembro-me vagamente de ter visto em algum lugar um teste de hipótese para H0 = {Markov} vs H1 = {Markov order 2}. Isso poderia ajudar.
Stéphane Laurent

Respostas:

5

Gostaria de saber se o seguinte daria um teste de Pearson válido para proporções da seguinte maneira.χ2

  1. Estime as probabilidades de transição em uma etapa - você fez isso.
  2. Obter as probabilidades modelo de dois
    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. Obter as probabilidades empíricos de dois passos
    p~U,V=i#Xi=V,Xi+2=Ui#Xi=V
  4. Estatística de teste forma Pearson
    TV=#{Xi=V}U(p^U,Vp~U,V)2p^U,V,T=TA+TB+TC+TD

É tentador para mim pensar que cada , de modo que o total T ~ χ 2 12 . No entanto, não tenho muita certeza disso e agradeceria sua opinião sobre isso. Eu não sou também não co sertain sobre se é preciso ser paranóico sobre a independência, e gostaria de dividir a amostra em metades para estimar p e ˉ p .TUχ32Tχ122p^p¯

StasK
fonte
As probabilidades não precisam ter uma distribuição normal com média 0 e variância = 1 para que isso ocorra? Eu ficaria muito interessado em saber o que alguém pensa aqui.
HCAI 25/09/12
É assim que os termos da soma devem ser, assintoticamente com grandes contagens.
Stask
6

A propriedade Markov pode ser difícil de testar diretamente. Mas pode ser suficiente ajustar um modelo que assume a propriedade Markov e depois testar se o modelo é válido. Pode acontecer que o modelo ajustado seja uma boa aproximação útil para você na prática, e você não precisa se preocupar se a propriedade Markov realmente é válida ou não.

O paralelo pode ser desenhado para a regressão linear. A prática usual não é testar se a linearidade é válida, mas se o modelo linear é uma aproximação útil.

mpiktas
fonte
Essa parece ser a melhor opção na realidade, apenas não posso comparar um modelo linear a nenhum dado experimental real. Ou você tinha outra coisa em mente?
HCAI
6

Para concretizar a sugestão da resposta anterior, primeiro você deseja estimar as probabilidades de Markov - assumindo que seja Markov. Veja a resposta aqui: Estimando as probabilidades da cadeia de Markov

Você deve obter uma matriz 4 x 4 com base na proporção de transições de estado A para A, de A para B, etc. Chame esta matriz . H 2 deve ser, em seguida, a matriz de transição de dois passos: A para A em 2 passos, e assim por diante. Você pode então testar se a sua matriz de transição de 2 etapas observada é semelhante ao M 2 .MM2M2

Como você possui muitos dados para o número de estados, pode estimar partir da metade dos dados e testar M 2 usando a outra metade - você está testando frequências observadas em relação às probabilidades teóricas de um multinomial. Isso deve lhe dar uma idéia de quão longe você está.MM2

Outra possibilidade seria ver se as proporções do estado básico: tempo de proporção gasto em A, tempo gasto em B, corresponde ao vetor próprio da unidade de valor próprio de M. Se sua série atingiu algum tipo de estado estacionário, a proporção de tempo em cada Estado deve tender a esse limite.

Placidia
fonte
Há um pouco para tomar there.I calcularam a transição da matriz , mas não tenho certeza de como você calcular o M 2 empiricamente. Você poderia esclarecer esse ponto? Atenciosamente,MM2
HCAI
Além disso, o último comentário é muito interessante, embora eu não tenha tempo gasto em cada estado das minhas seqüências observadas. Eu só tenho o tempo total para cada linha. Portanto, isso pode limitar a aplicabilidade desse método. Quais são seus pensamentos?
HCAI 20/09/12
1
Faça da mesma maneira que você fez M, apenas em vez de olhar para as transições vizinhas mais próximas (digamos, sequências AB), observe pares que estão separados por 2. Portanto, se um sujeito for ACB, isso conta para a sua contagem de transição AB. O mesmo acontece com a ABB. Crie uma matriz em que o item da linha i, coluna j, contenha as transições de i para j. Em seguida, divida pelos totais da coluna. Você quer que as colunas para resumir a 1. Sob a propriedade de Markov, essa matriz deve ser perto de M2
Placidia
RE: equilíbrio. Eu estava assumindo que as transições ocorrem em momentos determinados - digamos, a cada segundo, você passa do estado atual para o próximo estado. Você pode medir a frequência dos estados A, B, C e D perto do final das sequências ou entre sequências para estimar o comportamento do limite.
Placidia
Em R, se você fizer o eigen (M), deverá obter os autovalores e autovetores de M. Um autovalor será 1. O autovetor correspondente deve ser proporcional às proporções no estado estacionário .... se Markov.
Placidia
2

Além da propriedade Markov (MP), uma propriedade adicional é a homogeneidade do tempo (TH): pode ser Markov, mas com sua matriz de transição P ( t ), dependendo do tempo t . Por exemplo, pode depender do dia da semana em t se as observações forem diárias e, em seguida, uma dependência X t em X t - 7 condicionada a X t - 1 pode ser diagnosticada se TH for indevidamente assumido.XtP(t)ttXtXt7Xt1

Supondo que TH seja válido, uma possível verificação para MP está testando que é independente de X t - 2 condicional em X t - 1 , como sugeriram Michael Chernick e StasK. Isso pode ser feito usando um teste para tabela de contingência. Podemos construir as n tabelas de contingência de X t e X t - 2 condicionais em { X t - 1 = x j } para os n valores possíveis x jXtXt2Xt1nXtXt2{Xt1=xj}nxje teste a independência. Isso também pode ser feito usando com > 1 no lugar de X t - 2 .Xt>1Xt2

Em R, tabelas de contingência ou matrizes são facilmente produzido graças ao factor de instalação e as funções apply, sweep. A idéia acima também pode ser explorada graficamente. Os pacotes ggplot2 ou lattice fornecem facilmente gráficos condicionais para comparar distribuições condicionais . Por exemplo, definindo i como índice de linha ejp(Xt|Xt1=xj,Xt2=xi)ij como o índice da coluna em treliça no MP deve levar a distribuições semelhantes dentro de uma coluna.

O cap. 5 do livro A análise estatística de processos estocásticos no tempo de JK Lindsey contém outras idéias para verificar suposições.

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")

]

Yves
fonte
2

Penso que placida e mpiktas deram abordagens muito atenciosas e excelentes.

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

xyzzyxzyxxyxx

Então a estatística do teste seria a diferença entre essas proporções estimadas. A complicação para a comparação padrão das seqüências de Bernoulli é que elas estão correlacionadas. Mas você pode fazer um teste de autoinicialização de proporções binomiais neste caso.

01(0,0), (0,1), (1,0) and (1,1) where the first component is the two stage outcome and the second is the corresponding three stage outcome. You can then apply McNemar's test to the table.

Michael R. Chernick
fonte
I see what you are referring to here although I'm finding the first paragraph very terse however. For example "Compute sample estimates[...], then test for difference in proportions". What do you mean by sample estimates? Surely there would be no variance in
P(Xi|Xi1=y)
or am I misunderstanding your train of thought?
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.

Luke O'Connor
fonte