Проверка свойства памяти Маркова без памяти


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

2
Возможный дубликат: stats.stackexchange.com/questions/29490/…
mpiktas

@mpiktas Строки представляют собой независимые наблюдаемые последовательности переходов через состояния AD. Есть около 400 последовательностей ... Имейте в виду, что наблюдаемые последовательности не имеют одинаковую длину. Фактически вышеприведенная матрица во многих случаях дополняется нулями. Спасибо за ссылку, кстати. Похоже, что в этой области еще много работы. У тебя есть еще мысли? С Уважением,
HCAI

1
Линейная регрессия была примером, подтверждающим мой аргумент. Т.е. вам может не потребоваться тестировать свойство Markov напрямую, вам нужно только установить модем, который принимает свойство Markov, а затем проверить на корректность модели.
mpiktas

1
Я смутно помню, что где-то видел проверку гипотезы для H0 = {Маркова} против H1 = {Маркова порядка 2}. Это может помочь.
Стефан Лоран

Ответы:


5

Интересно, даст ли следующее действительный тест Пирсона для пропорций следующим образом.χ2

  1. Оцените вероятности перехода за один шаг - вы сделали это.
  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. Получить двухэтапные эмпирические вероятности
    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

Это заманчиво для меня, чтобы думать, что каждый , так что общее количество . Однако я не совсем уверен в этом и буду признателен за ваши мысли по этому поводу. Я также не уверен в том, нужно ли быть параноиком в отношении независимости, и хотел бы разбить выборку пополам, чтобы оценить и . Т ~ χ - 12 р ° рTUχ32Tχ122p^p¯


Разве вероятности не должны иметь нормальное распределение со средним 0 и дисперсией = 1, чтобы это сохранялось? Мне было бы очень интересно узнать, что кто-нибудь думает здесь.
HCAI

Вот каковы должны быть суммы в сумме, асимптотически с большим количеством.
StasK

6

Свойство Маркова может быть трудно проверить напрямую. Но этого может быть достаточно для подгонки модели, которая предполагает свойство Маркова, а затем для проверки правильности модели. Может оказаться, что подобранная модель является хорошим приближением, которое полезно для вас на практике, и вам не нужно беспокоиться о том, действительно ли свойство Маркова действительно выполняется или нет.

Параллель можно провести к линейной регрессии. Обычная практика состоит не в том, чтобы проверить, имеет ли место линейность, а в том, является ли линейная модель полезным приближением.


Это кажется лучшим вариантом в реальности, только я не могу сравнить линейную модель с какими-либо фактическими экспериментальными данными. Или вы имели в виду что-то еще?
HCAI

6

Чтобы конкретизировать предложение предыдущего ответа, вы сначала хотите оценить вероятности Маркова - предполагая, что это Марков. Смотрите ответ здесь Оценка вероятностей цепей Маркова

Вы должны получить матрицу 4 х 4 на основе доли переходов из состояния А к А, от А до В и т.д. Вызывайте эту матрицу . Тогда M 2 должна быть двухступенчатой ​​матрицей перехода: от A до A за 2 шага и так далее. Затем вы можете проверить, похожа ли ваша наблюдаемая двухступенчатая матрица перехода на M 2.MM2M2 .

Поскольку у вас много данных о количестве состояний, вы можете оценить половине данных и проверить M 2MM2 используя другую половину - вы проверяете наблюдаемые частоты по теоретическим вероятностям полинома. Это должно дать вам представление о том, как далеко вы находитесь.

Другой возможностью было бы посмотреть, соответствуют ли пропорции основного состояния: пропорция времени, проведенного в A, времени, проведенного в B, соответствует собственному вектору собственного значения единицы M. Если ваша серия достигла какого-то устойчивого состояния, доля времени в каждом государство должно стремиться к этому пределу.


Там есть что взять. Я вычислил матрицу переходов , но я не уверен, как вы вычислите M 2 эмпирически. Не могли бы вы уточнить этот момент? С уважением,MM2
HCAI

Кроме того, последний комментарий очень интересен, хотя у меня нет времени, проведенного в каждом состоянии моих наблюдаемых последовательностей. У меня есть только общее время для каждой строки. Так что это может ограничить применимость этого метода. о чем ты думаешь?
HCAI

1
Сделайте это так же, как вы делали M, только вместо того, чтобы смотреть на переходы ближайших соседей (скажем, последовательности AB), смотрите на пары, разделенные двумя. Таким образом, если субъект получает ACB, это учитывается при подсчете переходов AB. Как и АББ. Создайте матрицу, в которой элемент в строке i, столбце j содержит переходы i в j. Затем разделите на столбцы итогов. Вы хотите, чтобы столбцы суммировали до 1. В свойстве Маркова эта матрица должна быть близка к M2
Плацидия

RE: равновесие. Я предполагал, что переходы происходят в установленные моменты - скажем, каждую секунду вы переходите из текущего состояния в следующее состояние. Можно оценить частоту состояний A, B, C и D вблизи концов последовательностей или между последовательностями, чтобы оценить предельное поведение.
Плацидия

В R, если вы делаете собственные (M), вы должны получить собственные значения и собственные векторы M. Одно собственное значение будет равно 1. Соответствующий собственный вектор должен быть пропорционален вашим установившимся пропорциям .... если Марков.
Плацидия,

2

Помимо марковского свойства (MP), еще одним свойством является временная однородность (TH): может быть марковским, но с переходной матрицей P ( t ), зависящей от времени t . Например, это может зависеть от дня недели в момент времени t, если наблюдения являются ежедневными, и тогда зависимость X t от X t - 7, обусловленная X t - 1, может быть диагностирована, если TH неправильно принят.XtP(t)ttXtXt7Xt1

Предполагая, что TH имеет место, возможной проверкой MP является проверка того, что не зависит от X t - 2, условно для X t - 1 , как предложили Майкл Черник и StasK. Это можно сделать с помощью теста на непредвиденные обстоятельства. Мы можем построить n таблиц сопряженности для X t и X t - 2, условных на { X t - 1 = x j } для n возможных значений x jXtXt2Xt1nXtXt2{Xt1=xj}nxjи проверить на независимость. Это также можно сделать, используя с > 1 вместо X t - 2Xt>1Xt2 .

В R, Таблица или массивы легко получены благодаря фактору объекту и функциям apply, sweep. Идея выше также может быть использована графически. Пакеты ggplot2 или решетка легко предоставляют условные графики для сравнения условных распределений . Например, установка i в качестве индекса строки и индекса столбца в решетке должна в MP приводить к аналогичным распределениям внутри столбца.p(Xt|Xt1=xj,Xt2=xi)ij

Глава 5 книги Статистический анализ случайных процессов во времени Дж. К. Линдси содержит другие идеи для проверки предположений.

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

Я думаю, что placida и mpiktas дали очень продуманные и превосходные подходы.

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

xyzzyxzyxxyxx как сбои.

Тогда статистикой теста будет разница между этими оценочными пропорциями. Сложность стандартного сравнения последовательностей Бернулли заключается в том, что они коррелированы. Но в этом случае вы можете выполнить тест начальной загрузки биномиальных пропорций.

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


P(Xi|Xi1=y)

ii1i1ii1i

ijiijki

1

{Xn+1:Xn=x1,Xnk=x2}

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

XnkXn+1N(Xn,Xn1)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.