私はpgmpy Python packageを使ってある種の状態間の遷移確率を知ろうとしていますが、モデルに適合すると条件付き確率が正しくないことがわかります。pgmpyが不正確な条件付き確率を返す
私が話している問題の非常に単純化された例として、AとBの2つの状態からなるベイジアンネットワークを考えてみましょう。 Aが0であればBは1であり、Aが1であるときはBはゼロであるということである。このような状況を記述したコードは次式で与えられます。私たちは、その後model.cpds[1]
を呼び出すことにより、フィットの条件付き確率を調べしかしとき
import pandas as pd
from pgmpy.models import BayesianModel
data = pd.DataFrame(data={'A': [0, 0, 1, 1, 1, 1], 'B': [1, 1, 0, 0, 0, 0]})
model = BayesianModel([('A', 'B')])
model.fit(data)
、我々はpgmpyには、次の学習したことを見つける:
+------+------+------+
| A | A(0) | A(1) |
+------+------+------+
| B(0) | 0.5 | 0.5 |
+------+------+------+
| B(1) | 0.5 | 0.5 |
+------+------+------+
それはべき学んだ
+------+------+------+
| A | A(0) | A(1) |
+------+------+------+
| B(0) | 0.0 | 1.0 |
+------+------+------+
| B(1) | 1.0 | 0.0 |
+------+------+------+
ここで何が起こっているのですか?これは非常に基本的な例であり、私は狂ったように感じる。ありがとう