2017-04-14 4 views
1

Rのprobパッケージを使用して条件付き確率を計算しています。probパッケージが条件付き確率を誤って計算しているようですか?

私のデータセットは、私はR

で次のコマンドを使用する場合、PROB(Q2 = 1与えられたQ4 = 1)を計算するために私の知識に従って、それは1でなければなりません。しかしたい

Q1 Q2 Q3 Q4 

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

です

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 

に設定データを変更した場合

2番目の質問があり、私はQ2を変更するわけではないとき、確率の変更を来る方法1. とQ4。
どちらの場合も同じであるはずです。

他のパラメータQ1とQ3の変更によって、どのように変化しますか。私は、P(Q2 = 1/Q4 = 1)がQ1とQ3から独立しているので、それは変化すべきだと思います。

+1

質問を更新して再現性を持たせてください。私たちのR端末で実行してprobパッケージから取得した結果を複製できるデータとコードが含まれています。 – josliber

+0

私は0.25でprobsを持っています – user395882

+0

@ Marat:あなたの意見によると正解は何ですか?これは私の答えで私に疑いを抱かせてしまった。 – user395882

答えて

2

Probは、重複を除いたintersectを使用しています。従って計算は、0.25/0.5 = 0.5であるsum(intersect(A, B)$probs)/sum(B$probs)です。あなたの2番目の質問については

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 

Probintersectので、正しく動作している:あなたは正しい計算をしたい場合は

は、あなたがそうのような排他的な確率を使用する必要があります(3行目では、50%の確率を持っています) 3行目と4行目が異なるため重複を取り除いていません。

+0

私は 'Prob'にバグを発見したと思います。これを修正するには、何かlinke 'p < - sum(x $ probs [g&r])/ sumによって' p

+1

@MaratTalipov私の意見では、バグではないかもしれませんが、誤って指定されたサンプルスペースに対して機能性や警告を追加する可能性はあります。 – Frank

+0

@Frank、重複の初期テストのようなもの?おそらく、あなたは正しいです。 –

関連する問題