Нахождение условных и совместных вероятностей из моделирования - PullRequest
0 голосов
/ 10 мая 2019

Рассмотрим цепочку Маркова с пространством состояний S = {1, 2} и переходной матрицей

enter image description here

и начальное распределение α = (1/2, 1/2) .

Предположим, исходный код для симуляции следующий:

alpha <- c(1, 1) / 2
mat <- matrix(c(1 / 2, 0, 1 / 2, 1), nrow = 2, ncol = 2) 

chainSim <- function(alpha, mat, n) 
{
  out <- numeric(n)
  out[1] <- sample(1:2, 1, prob = alpha)
  for(i in 2:n)
    out[i] <- sample(1:2, 1, prob = mat[out[i - 1], ])
  out
}

Предположим, что следующее является результатом пятиэтапного моделирования цепочки Маркова, повторенного 10 раз:

> sim
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    2    1    1    2    2    2    1    1    1     2
[2,]    2    1    2    2    2    2    2    1    1     2
[3,]    2    1    2    2    2    2    2    1    2     2
[4,]    2    2    2    2    2    2    2    1    2     2
[5,]    2    2    2    2    2    2    2    2    2     2
[6,]    2    2    2    2    2    2    2    2    2     2

Какими будут значения следующих?

  1. P (X 1 = 1, X 3 = 1)

  2. P (X 5 = 2 | X 0 = 1, X 2 = 1)

  3. Е (Х 2 * +1048 *) * ** 1050 тысяча сорок девять ** * 1 051

Я пробовал их следующим образом:

  1. mean(sim[4, ] == 1 && sim[2, ]== 1)
  2. c(1,2) * mean(sim[2, ])

Что будет (2)? Я в порядке с остальными?

Пожалуйста, объясните ваш ответ.

Ответы [ 2 ]

1 голос
/ 10 мая 2019

Вы почти правы относительно 1: есть разница, используете ли вы && или &, см.

?`&&`

Это должно быть

mean(sim[1 + 1, ] == 1 & sim[1 + 3, ] == 1)

Тогда 2 - этозадается

mean(sim[1 + 5, sim[1 + 0, ] == 1 & sim[1 + 2, ] == 1] == 2)

, где вы можете получить NaN в случае, если условное событие {X 0 = 1, X 2 = 1} не имеетt появляется в вашей симуляции.

Наконец, точка 3 равна

mean(sim[1 + 2, ])

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

0 голосов
/ 10 мая 2019
  1. Воспользуйтесь преимуществом структуры проблемы, состояние 2 является поглощающим состоянием.Единственный способ для X 1 = 1 и X 3 = 1 , если он начинается с 1 и на каждом промежуточном шаге, онпродолжайте посещать состояние 1. Следовательно, ответ будет (0,5) 4 = 0,0625 .

С точки зрения симуляции, а не

mean(sim[4, ] == 1 && sim[2, ]== 1

Это должно быть

mean(sim[4, ] == 1 & sim[2, ]== 1

&& проверять только первый компонент.

Для второй части одним из возможных способов является отметить, что

P (X 5 = 2 | X 0 = 1, X 2 = 1) = P (X 5 = 2, X 0 = 1, X 2 = 1) / P(X 0 = 1, X 2 = 1)

, из которых вы можете сначала оценить числитель и знаменатель отдельно, а затем вычислить соотношение,

В качестве альтернативы, P (X 5 = 2 | X 0 = 1, X 2 = 1) = P (X 5 = 2 | X 2 = 1) = P (X 3 = 2 | X 0 = 1)

Что касается третьего вопроса, E (X 2 ) - это одно число, а не вектор.Это можно оценить как mean(sim[3,])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...