このブログ記事に対しては,他のブログ記事と同様,筆者個人にすべての責任があります.所属組織は,一切,関与していません.
このブログ記事は,黒木さんによる以下のつぶやきに続く一連のスレッドに対する応答です.長くなりましたので,Twitterでのリプライではなく,ブログ記事にしました.
#統計 普通の常識では、
— 黒木玄 Gen Kuroki (@genkuroki) September 21, 2021
Aと仮定したときにBが導かれる
という数学的結果を、様々な「誤差」が伴う現実に適用する場合には、
Aに近い状況のもとでBに近いことが成立する
の形式で使用するのが普通だと思います。
I=Jという数学的仮定は、現実への応用時にはI≈Jに緩められ、誤差が増える。
続く
いつもありがとうございます.
私が論点をずらしてしまうかとは思いますが,このブログ記事では次の3点を述べます.
- ご指摘に応え,私が「」と述べていた箇所を,「」に修正します.
- 私のTwitterでの予想は「1970年代の赤池先生は,を(分析者の)主観的判断と考えていた」というものです.
- ではない場合のAICのロバスト性を乱数シミュレーション実験で確認する場合,やる気になれば肯定的な結果も出せるし,否定的な結果も出せると思います.
「」を「」に修正します
私が呟いたことは,<1970年代の赤池先生は,を分析者の主観的判断と考えていた>というものです.ご指摘されてみると,「」と表記すると,とがピッタリ一致しているように読めます.1970年代の赤池先生もさすがに完全に一致とは思っていなかったでしょうから,以後「」と変更いたします.
1970年代の赤池先生のに対する考え方
私の予想(<1970年代の赤池先生は,を分析者の主観的判断と考えていた>)の根拠は,引用した論文(赤池 1976)を,文字通りに読めば,そのように(少なくとも私には)読めるからです.私がそのように解釈した文章を再掲します.
一方,があるによって と与えられる状態を想定することは,ひとつの主観的な行動原理である.有意性検定も AICのこの行動原理によって働いている.(p.9)
赤池弘次(1976)「情報量規準とは何か:その意味と将来への展望」『数理科学』152, 5-11
ただし,1980年以降の赤池先生がどのようにを考えていたかは,(私はよく分からなかったので)この前のつぶやきでは触れないでいました.いま現在も,よく分かっていません.
1980年以降は,「実用上は(通常,分析者が仮定するモデルは真の分布にそんなに遠くないので)やはりAICはうまく働く」と赤池先生は考えていたのかもしれませんし,考えていなかったのかもしれません.
最晩年(2009年3月14日あたり)に書かれた,International Encyclopedia of Statistical Science(Springer, オンライン版)の"Akaike's Information Criterion"の説明を見ると,
In typical application of the method of maximum likelihood, ...
とだけ書かれており,<分析者によって仮定された分布が真の分布を包含していること>は触れられていません.
「納度」についての論文である赤池(2008)では,次のような説明が少しなされています.
情報量規準 AIC の利用の展開を通じて,統計モデルの観測値に基づく評価値として,想定するモデルと真のモデル,あるいは理想的なモデルとの近似度の評価として,対数尤度を利用することが一般化した.これは真のモデルが不明,あるいは人により異なる場合にも合理的な評価と見なされるという,対数尤度の間主観性に基づくものである.(p.253)
赤池弘次(2008)「納度の概念の利用について」統計数理 56(2), 253-258
いずれにしても,赤池先生の論文を,質・量ともに読みこんでおらず,<1970年代の赤池先生は,を分析者の主観的判断と考えていた>という私の予想は単なる確証バイアスなのかもしれませんし,特に1980年以降の考え方の変遷はよく分かりません.
乱数シミュレーション実験では,どちらの結果も出せちゃう
赤池先生がどのように考えていたかは置いておいて,現実的な実用においてからのズレに対して,AICがどれぐらいロバストかは,私は数理にも実務にも疎いので,分かっていません.
1つだけ私が言えることは(わざわざ言うまでもないですが),妄想上の乱数シミュレーション実験では,となる例も,とが異なる例も作り出すことはできるということだけです.
となっている例だけ見れば,「実用上,問題ないね」となりますし,そうでない例だけを取り出せば「実用には耐えられないね」となるでしょう.
実用に合わせた乱数シミュレーション実験をすればいいのかもしれませんが,実用上では「真の分布」は不明なことにしているので,現実的・実用的な前提を設定するのは難しいと私は思います.
一応,両方の数値例を,S-hacking(シミュレーションハッキング)をして作り出してみました.S-hackingとは,シミュレーションの設定を色々と試し,自分の都合がよい結果だけを報告するインチキ行為です.
以下のシミュレーション例はあくまでS-hackingというインチキをした結果であり,何の意味もありません.どちらの結果もお気軽に出せることを例示するためだけに,S-hackingをしました.
以下が用いたJuliaコードです(実際には別のマイナーなプログラム言語にて自分の都合がいい結果が出るのを確認した後,それをJuliaに移植しました,Juliaもよく分かっていないので,汚いコードですみません....)
using Distributions
using Random
function calc_emlogf_and_aic(nsim, n, true_model, my_models)
n_my_models = length(my_models)
logf = zeros(n_my_models)
aic = zeros(n_my_models)
for i in 1:nsim
xt = rand(true_model, n)
xv = rand(true_model, n)
for j in 1:n_my_models
fit_model = fit_mle(my_models[j], xt)
logf[j] = logf[j] + sum(logpdf(fit_model, xv))
aic[j] = aic[j] + sum(logpdf(fit_model, xt)) - length(params(fit_model))
end
end
return [logf/nsim, aic/nsim]
end
Random.seed!(99999)
print(calc_emlogf_and_aic(1e6, 300, Gamma(20, 0.05), [Normal]))
print(calc_emlogf_and_aic(1e6, 300, Exponential(1), [Normal]))
print(calc_emlogf_and_aic(1e6, 300, Gamma(2.32, 1.0), [Normal, Exponential]))
# 真の分布がGamma(20, 0.05),あてはめた分布が正規分布
# 期待平均対数尤度:22.58037711801546
# AIC(の-0.5倍) :22.75427456712602
# 真の分布が指数分布,あてはめた分布が正規分布
# 期待平均対数尤度:-428.24091640772633
# AIC(の-0.5倍) :-425.23723892046803
# 真の分布 Gamma(2.32, 1.0)
# 正規分布 指数分布
# 期待平均対数尤度:-553.572848659754 -552.676966249488
# AIC(の-0.5倍) :-552.2373503875936 -553.2298269847855
黒木さんがTwitterにて挙げた例1のような設定(ガンマ分布 Gamma(20, 0.05)に対して正規分布を仮定)ならば, AIC(を-0.5倍したもの)の平均は,期待平均対数尤度にかなり近くなっています.両者は,AIC(を-0.5倍したもの)の平均は22.6,期待平均対数尤度は22.8となっています.
しかし,例2のような設定ならば,AIC(を-0.5倍したもの)の平均は,期待平均対数尤度から離れた値となっています.前者が-425.2なのに対し,後者は-428.2です.
また,例3のような設定ならば,AIC(を-0.5倍したもの)の平均と期待平均対数尤度はまあまあ近いのですが,2つの仮定したモデルにおいて,AIC(を-0.5倍したもの)の平均の大小関係と,期待平均対数尤度の大小関係が逆になっています.
これら例2と例3は,繰り返しになりますが,S-hackingという不正なインチキをして,シミュレーションの設定を調整したものです.このようなS-hackingという不正なインチキをすれば,成立する例も,成立しない例もどちらともお気軽に出せちゃいます(... わざわざ,言うまでもありませんが…),
なお,これらの例は現実的な利用例にもなっていないと思います.のこの例での多くの統計ユーザーの第1選択はヒストグラムを描くことであり,第2選択はQQプロットを描くことでしょう.ヒストグラムやQQプロットを描けば,この例では,正規分布にも,指数分布にも,データが適合していない見た目ですぐに分かるでしょう.つまり,例2や例3でのAICによるモデル選択は「リンゴとミカンのどちらが自動車?」みたいな選択になっていますが,多くの分析者はこの例の状況ではそのような馬鹿げた選択は行わないと私は(主観的に)思います.
AICを用いるときに「真の分布」は知らないことになっています.「真の分布」が分からないと,たぶん, なのか否か(もしくは,とのズレがAICを利用できるほどに影響していないか否か)は知ることができません. を何かしらの数理的根拠で分析者は正当化していないという意味で,通常の多くのAIC利用者は,を主観的に判断していると言えるのではないかと私は思います.
最後に
数理に強ければ,うまいことズレを表現して,どれぐらいのズレの時にどれぐらいAICによる判断が妥当でなくなるかを示せるのでしょうけれども,私にはその技術はありません.また,からのズレを検出する方法も提案されていそうですが,私は調べておらず,まったく知りません.
このブログ記事に対しては,他のブログ記事と同様,筆者個人にすべての責任があります.所属組織は,一切,関与していません.