#統計 私のツイッターでの設定(笑)のせいでずっと見えていなかったのですが、チョー算数問題における「掛算には順序があるから、掛算には順序がある」に類似の反応があったことに気付いたので記録に残しておく。

会話する価値が無さそうに見えたので安心してミュートしました。ごめんなさい。続く ImageImage
#統計 オーバーフィッティングを防ぐために使用可能ないわゆる「正則化」「罰則項」については、数値実験すれば色々納得できることも多いのですが、平易な証明付きのシンプルなモデルをいじりたいならば、James-Stein推定について調べてみると良いと思います。
#統計 その設定はこうです。

(1) データX=(X_1,…,X_n)が未知の平均μ_0=(μ_{01},…,μ_{0n})と単位行列の分散共分散行列を持つ多変量正規分布に従ってランダムに生成されている。

(2) データから平均μ_0を推定したい。

データ中の数値の個数と推定したい数値の個数が等しいという厳しい状況。続く
#統計 一般に少ないデータから多数のパラメータを推定しようとするとオーバーフィッティングが容易に起こります。

James-Stein推定の設定はそのような状況の最もシンプルな場合だと考えられます。

設定がシンプルなので大学1年で習う数学の知識の範囲ですべてを正確に計算できるという利点がある。
#統計 最もシンプルな推定法は、ランダムに生成されているデータX=(X_1,…,X_n)そのものの値を未知である真の期待値μ_0=(μ_{01},…,μ_{0n})の推定量だとすることです。

この推定法は、単位行列の分散共分散行列を持つ多変量正規分布モデルによる最尤法の結果に一致します。続く
#統計 データX=(X_1,…,X_n)そのものの値を未知である真の期待値μ_0=(μ_{01},…,μ_{0n})の推定量だとすると、推定の二乗誤差は

(X_1 - μ_{01})² + … + (X_n - μ_{0n})²

になり、これの期待値は各X_iの分散1のn個の和なので n になります。

実は、二乗誤差の期待値をこれより小さくできます!続く
#統計 少ないデータから多数のパラメータを最尤法で推定すると、容易にオーバーフィッティングが起こることをよく知っている現代の我々であれば、上のシンプルな推定がデータに適合させすぎた推定になっている可能性に気付くはずです。

実際にそうなっていることを示したのがSteinさんです。
#統計 そしてSteinさんの発見を改良したのがJamesさんだったはず。(私は自力で再構成できると原論文を読まないことが多い。ごめんなさい。)

最尤法では推定量μ̂=(μ̂_1,…,μ̂_n)を

(X_1 - μ_1)² + … + (X_n - μ_n)²

を最小化するμとして決定することになります。

以下n≧3と仮定します。
#統計 原点を中心とするJames-Stein推定の処方箋はこうです。

①データX=(X_1,…,X_n)の二乗和X²=(X_1)²+…+(X_n)²を計算し、λ/(λ+1)=(n-2)/X²でλを定める。

②罰則項付きの

(X_1 - μ_1)² + … + (X_n - μ_n)² + λ((μ_1)²+…+(μ_n)²)

を最小化するμで推定量μ̃を定める。
#統計 その結果は

③ μ̃_i = (1 - (n-2)/X²)X_i

これが原点を中心とした場合のシンプルなJames-Stein推定量です。(他にも色々なヴァリエーションがある)

④ 推定量μ̃=(μ̃_1,…,μ̃_n)の二乗誤差の期待値は

n - (n-2)²E[1/X²]

になり、nより小さくなる。

この④の計算は面倒だが大学1年レベル。
#統計 罰則項

λ((μ_1)²+…+(μ_n)²)

の追加は、ridge正則化とよく呼ばれています。

この罰則項の追加による推定は、パラメータμ_iに関する正規分布の事前分布でのMAP法(事後確率最大化法)とも一致しています。
#統計 以上で紹介したJames-Stein推定は、データに合わせて事前分布のハイパーパラメータλを適切に決めた場合の事後確率最大化法の特別な場合になっているというわけ。

その御利益は二乗誤差の期待値を下げられることです。不偏推定ではなくなる。バイアスとヴァリアンスのバランスを調節している。
#統計 James-Stein推定のような

 事前分布によるオーバーフィッティングの緩和の具体例

を地道な計算で理解した人であれば、そこで出て来る罰則項としての事前分布を「主観的信念を表すもの」と解釈しなければ__いけない__と言われても、「は?」という気持ちしか湧いて来ないと思います。
#統計 ところが、ある種のサークル内では、おそらく(私には正確にイメージすることができそうもないことなのですが)、「事前分布は主観を表すものであるから、そうでなければいけない」のように信じられており、それに合わせて「主観」などの言葉遣いが調節されている。
#統計 さすがにそういう人達の相手をするのは時間の無駄です。

次の世代には時間の無駄になると警告しながら、地道にフォローしておくと教養になりそうな話題(例えばJames-Stein推定)について紹介したいと思うのはとても自然なことだと思います。
#統計 James-Stein推定については私自身による解説と #Julia言語 による数値的な確認のコードと計算結果が

genkuroki.github.io/documents/Stat…

で公開されています。

正則化によってオーバーフィッティングを緩和する方法の非常にシンプルな例になっています。
#統計 「事前分布を主観的信念の表現だみなさなければいけないという考え方は誤り」という主張は、「掛算には順序がなければいけないという考え方は誤り」とほとんど同程度に穏健で常識的な考え方であり、どちらについても反対して来たことのみを理由に「こりゃダメだ」と積極的に判断するべきです。

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with 黒木玄 Gen Kuroki

黒木玄 Gen Kuroki Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @genkuroki

13 Nov
#統計 「真の分布」というのはジャーゴン(特定分野の特殊な言い回し)です。文字通りの意味にとってはいけない。

未知のものについての推測の勝ち目を増やすために数学を利用するためには、その未知のものとその推測方法の両方を数学的に定式化して性質を調べておく必要があります。続く
#統計 その未知のものを確率分布でモデル化するときのその確率分布を「真の分布」と呼ぶ人たちがいます。私は「未知の分布」(unknown distribution)という言い方をした方が誤解が少なくなると思っているのですが、「真の分布」というジャーゴンは結構広く普及していると思います。続く
#統計 未知のものの側のモデル化に付ける条件が少なければ少ないほど、適用できる未知のものの種類が増えるのですが、何の条件も付けないと実践的に役に立ちそうな推測を何もできなくなるので、応用先を狭めてかつ狭めすぎないように条件を付けるのが普通です。
Read 16 tweets
12 Nov
#統計 渡辺澄夫『ベイズ統計の理論と方法』の読み方①は

①頻度主義とベイズ主義を分けるダメな考え方の心の中からの排除

その次は

②自分でWAICやLOOCVをコンピュータ上で計算して、各種の定理を数値的に確認するという読み方

がお勧め。具体的にはp.119の定理15のβ=1の場合を確認するべき。続く
#統計 細かい計算や証明のフォローは上の②の後の③でよいと思う。

渡辺さんの本は数学的に難しい話をしている部分が多いのですが、それ以外によく宣伝されているダメな考え方への対策になっている解説も多数含まれており、そこから入ることができます。最初はそこを読むとよいと思う→①
#統計 あと、途中の計算や証明を飛ばして読んでも、コンピュータを使える人なら自分でWAIC(W_n)やLOOCV(C_n)を自分で実装して計算できるように書いてあります。

具体的な計算例を1つも知らずに証明を読んでも無意味だと思うので、証明を読み始める前にコンピュータで計算できるようになっておくべき。
Read 13 tweets
11 Nov
#統計 尤度の簡単な例

パラメータp_1,…,p_r (どれも非負の実数で総和は1)の多項分布モデルのデータk_1,…,k_r (どれも非負の整数で総和はn)に関する尤度函数は

L(p_1,…,p_r) = (n!/(k_1!…k_r!)) p_1^{k_1}…p_r^{k_r}.

最尤法の解は

p_i = k_i/n (i=1,…,r).
#統計 多くの場合に対数尤度函数の-1倍

-log L(p_1,…,p_r) = -Σ_{i=1}^r k_i log p_i + (定数略)

の方が扱いやすい。これを Σ_{i=1}^r p_i = 1 という条件のもとで最小化するには、Lagrangeの未定乗数法を使ったり、Gibbsの情報不等式を使えば簡単である。お好きな方法でどうぞ、という感じ。
#統計 そういう易しいが「実戦的な」計算をやらないと、

* Lagrangeの未定乗数法



* Jensenの不等式 (Gibbsの情報不等式を特殊な場合に含む)

などの

これこそ神!

と言えるような素晴らしい結果を大学1年のときにすでに習っていることに気付かずに終わる可能性が高い。
Read 10 tweets
11 Nov
#統計 Kullback-Leibler情報量

D(q||p) = ∫ q(x) log(p(x)/q(x)) dx

の統計学への応用におけるq,pに関する非対称性を理解するには、Sanovの定理について学ぶに限ります。

続く
#統計 分布pに従う乱数発生で分布qをシミュレートしたときに、もしもp≠qならば、確率的に指数函数的な速さでボロが出るのですが、その速さがKullback-Leibler情報量になっているというのがSanovの定理の内容です。

だからモデル分布pで真の分布をシミュレートしたい人にとってKL情報量は基本的。
#統計 大雑把に言うと、分布pのi.i.d. X_1, X_2, … について、

(X_1,…,X_nの経験分布がqに近い確率) = exp(-n D(q||p) + o(n))

となるという結果がSanovの定理。ちょっと雑すぎる説明ですが、「qに近い」の程度の違いはo(n)の項に吸収される。

1つ前のツイートと比較すると理解が深まるはず。
Read 29 tweets
10 Nov
#統計 WAICやLOOCVも計算してくれるベイズ統計のパッケージを使ったWAICやLOOCVの変種の計算は、多くの場合にWAICの誤用になっている疑いがあります。

本当は誰かが「WAIC警察」や「LOOCV警察」をやるべきかも。
#統計 Stanに代表されるMCMCのツールを使った計算では、所謂「階層ベイズモデル」になっているのが普通です。

その場合には、予測性能(汎化性能)を評価したい予測分布の正しいWAICやLOOCVの計算にはほとんどの場合に内部パラメータでの(数値)積分が必要なはずであり、結構面倒です。
#統計 Stanに与えるモデルの情報だけで、予測分布の定義は一意に決まらないので、予測分布に関する情報も欲しければ追加の情報をコンピュータに教えてあげる必要があります。

必要な数値積分をそのままクソ重くなることが多いはずなので、汎用のソフトを作るのは難しい問題だと思う。
Read 6 tweets
9 Nov
#統計 真の分布があるという仮定はもちろん都合の良い仮定です。真の分布についてのなにがしかの仮定のもとでのみ有効な数学的道具を現実に応用する場合には、必要に応じて真の分布に関する想定も疑う必要があります。続く
#統計 これは『統計的有意性とP値に関するASA声明』 biometrics.gr.jp/news/all/ASA.p… にも書いてあることにも類似していて、何かの妥当性を疑う場合には【背後にある仮定】を全部まるっと丸ごと疑う必要があります。(もちろん、それぞれの項目ごとに疑わしさには違いがあることにも注意する。)
#統計 例えば、サイコロを何度もふってどの目がどれだけの確率で出るかを推定する場合には、通常、サイコロの出目のデータの真の生成法則は未知の分布のi.i.d.でよく近似できると想定しますが、サイコロが脆弱で振るたびにちょっとずつ壊れてしまう場合にはその想定が不適切であることは明らか(笑)
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!