R 从模拟中寻找条件概率和联合概率
考虑状态空间S={1,2}和转移矩阵的马尔可夫链 初始分布α=1/2,1/2 假设模拟的源代码如下所示:R 从模拟中寻找条件概率和联合概率,r,markov-chains,markov,R,Markov Chains,Markov,考虑状态空间S={1,2}和转移矩阵的马尔可夫链 初始分布α=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)
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
}
以下各项的价值是什么
PX1=1,X3=1
PX5=2 | X0=1,X2=1
例2
我试了以下方法:
平均sim[4,]==1&&sim[2,]==1
?
c1,2*平均值[2,]
什么是2?其余的我说得对吗
请解释您的回答。关于1,您几乎是正确的:无论您使用&&还是&,都存在差异,请参见 应该是
mean(sim[1 + 1, ] == 1 & sim[1 + 3, ] == 1)
那么2由
mean(sim[1 + 5, sim[1 + 0, ] == 1 & sim[1 + 2, ] == 1] == 2)
如果条件事件{X0=1,X2=1}未出现在模拟中,则可能会得到NaN
最后,第3点是
mean(sim[1 + 2, ])
因为期望值的自然估计量只是样本平均值
利用问题结构,状态2是吸收状态。X1=1和X3=1的唯一方法是,如果它从1开始,并且在每个中间步骤中,它都会继续访问状态1。因此,答案是0.54=0.0625。
在模拟方面,而不是
mean(sim[4, ] == 1 && sim[2, ]== 1
应该是
mean(sim[4, ] == 1 & sim[2, ]== 1
&&仅检查第一个组件
对于第二部分,一种可能的方法是注意
PX5=2 | X0=1,X2=1=PX5=2,X0=1,X2=1/PX0=1,X2=1
然后你可以先分别估计分子和分母,然后计算比率
或者,PX5=2 | X0=1,X2=1=PX5=2 | X2=1=PX3=2 | X0=1
对于第三个问题,EX2是一个单一的数字,它不是一个向量。可通过meansim[3,]
@user366312,meansim[2]只给出一个数字,而c1,2是一个向量。即使meansim[2]是一个向量,也需要对结果求和。而且,在你的结果中并不总是有一和二。解决方案的正确版本应为sumas.numericnamestablesim[2,]*tablesim[2,]/10。最后,您需要第3行而不是第2行。
mean(sim[4, ] == 1 && sim[2, ]== 1
mean(sim[4, ] == 1 & sim[2, ]== 1