问题包似乎错误计算条件概率?

时间:2017-04-14 15:35:36

标签: r statistics probability bayesian

我正在使用R中的prob包来计算条件概率。

我的数据集是

 Q1 Q2 Q3 Q4 

  1  1  0  0  
  0  0  0  0  
  0  1  0  1  
  0  1  0  1  

我想计算prob(Q2 = 1给定Q4 = 1),据我所知它应该是1.但是当我在R中使用以下命令时

Prob(a,Q2==1,Q4==1)它返回0.5

怎么回0.5?是0.5,对吗?我怀疑我的回答。

第二个问题是如果我将数据集更改为

  Q1 Q2 Q3 Q4 
  1  1  0  0 
  1  0  1  0 
  0  1  0  1 
  1  1  1  1 

当我使用上述数据并计算上述概率时,它返回1。 当我不改变Q2和Q4时,概率如何变化。
我的想法是两种情况都应该相同。

如何通过其他参数Q1和Q3的变化来改变它。我认为它应该改变,因为P(Q2 = 1 / Q4 = 1)与Q1和Q3无关。

1 个答案:

答案 0 :(得分:2)

问题在于Prob使用intersect排除了重复项。所以它的计算是sum(intersect(A, B)$probs)/sum(B$probs),即0.25 / 0.5 = 0.5。

如果你想要正确的计算,你必须使用这样的独有概率(第3行的概率为50%):

a <-read.table(text="Q1 Q2 Q3 Q4
  1  1  0  0
  0  0  0  0
  0  1  0  1",header=TRUE,stringsAsFactors=FALSE)
a$probs <-c(0.25,0.25,0.5)

Prob(a,event=Q2==1,given=Q4==1)
[1] 1

关于您的第二个问题,Prob工作正常,因为intersect没有删除重复项,因为第3行和第4行不同。