Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P150,151のBICについて質問させてください。【訂正:BICの良さの大小が逆になっています】 #30

Open
KENJI-JIN opened this issue Mar 22, 2021 · 3 comments
Labels
誤植 誤植

Comments

@KENJI-JIN
Copy link

pgmpyのBIC計算が
BICm=lm(Θm|X)-0.5km(logN)
となっており、手計算したBICに-0.5かけたものになっている
と書かれています。

手計算の式
image
ではいいモデルほど対数尤度が大きくなる(?)ので、小さいほどいいモデルとなりそうな気がします。
(私の対数尤度の理解が間違っているかもしれません。)
↓のサイトでは上記の式で小さいほうがいいモデルとの表記があります。
https://www.jmp.com/support/help/ja/14-2/flm-statistical-details-15.shtml

ですので、上記の式に-0.5をかけた
BICm=lm(Θm|X)-0.5km(logN)
は大きいほどいいモデルとなりそうな気がしますが、
本には小さな値ほどいいモデルなので、
という記載があります。

お手数ですが、解説いただけないでしょうか?

@YutaroOgawa YutaroOgawa changed the title P150,151のBICについて質問させてください。 P150,151のBICについて質問させてください。【BICの良さの大小が逆になっています】 Mar 22, 2021
@YutaroOgawa YutaroOgawa changed the title P150,151のBICについて質問させてください。【BICの良さの大小が逆になっています】 P150,151のBICについて質問させてください。【訂正:BICの良さの大小が逆になっています】 Mar 22, 2021
@YutaroOgawa YutaroOgawa added the 誤植 誤植 label Mar 22, 2021
@YutaroOgawa
Copy link
Owner

YutaroOgawa commented Mar 22, 2021

@KENJI-JIN さま

ご指摘いただき、ありがとうございます。
私の解説が逆向きになっていました。
大変申し訳ございません。

以下訂正し、本Issueに誤植ラベルを用意し、他の読者の皆様の参考にさせてください。

ーーーーーーーー
p. 151 中段
ーーーーーーーー
(訂正前)
 先ほどの正解のDAGでのBICが-21.6 であったのに対して、-21.4 と大きな値になりました。
ここで使用しているpgmpyのBICの定義では、より小さな値になるほど(負の方向に大きな
値になるほど)良いモデルであるため、正解ではないDAGでは、正解のDAGに比べてBIC
の値が悪いことが分かります。

(訂正後)
 先ほどの正解のDAGでのBICが-21.6 であったのに対して、-21.4 と大きな値になりました。
ここで使用しているpgmpyのBICの定義では、より大きな値になるほど(負の方向に小さな
値になるほど)良いモデルであるため、今回はたまたま正解ではないDAGの方が、
値が良くなっています(データ数が少ないことが主たる原因と思われます)。

※7_2_bayesian_network_bic.ipynbのセル3でデータ数を増やし、

num_data = 10 を num_data = 100などにすると、誤ったモデルでは負の方向に大きなBICとなり、悪いモデルになることを確認できます。

ーーーーーーーーー
多々、クリティカルな間違えが多く、ご迷惑をおかけしております。
大変申し訳ございません。

気になった点については、このようにどんどんご指摘いただけると非常に助かります。
お手数をおかけしますが、今後ともどうぞよろしくお願いいたします。

@KENJI-JIN
Copy link
Author

KENJI-JIN commented Mar 22, 2021

ご回答ありがとうございます。上記承知しました。
今後とも疑問点がありましたら質問させていただきますのでよろしくお願いいたします。

@YutaroOgawa
Copy link
Owner

@KENJI-JIN さま

上記少し、話と私の表現がややこしくて大変申し訳ございません。

num_data = 10 を num_data = 100などにすると、誤ったモデルでは負の方向に大きなBICとなり、悪いモデルになることを確認できます。

を丁寧に記述すると、
ーーー
pgmpyのBICの定義は、「対数尤度-0.5kln(n)」となっており、一般的な対数尤度に-0.5がかけ算されています。
その結果、pgmpyにおいて当てはまりの良いモデルとは、pgmpy-BICの値が大きなモデルとなります。

逆に誤ったモデルでは負の方向に(絶対値が)大きなBICとなり、すなわち、pgmpy-BICの値が小さな値になります。
ーーー

たくさん、誠にありがとうございます。
言葉に尽くせぬほどに、感謝しております。

今後とも、遠慮なくどんどんとご質問、ご指摘をいただければ幸いです。

どうぞ宜しくお願い致します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
誤植 誤植
Projects
None yet
Development

No branches or pull requests

2 participants