読者です 読者をやめる 読者になる 読者になる

Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第40回 パラメタ推定法(最尤法) 

第40回はパラメタ推定法(最尤法)について書きます。

 

パラメタの推定法はいくつかありますが、回帰分析では特に指定がない限り、「最小二乗法」を使ってパラメタを推定します。しかし、回帰分析の種類によっては、最小二乗法でパラメタを求めることが好ましくない回帰分析も存在します。ロジステック回帰分析などがそうです。そのため、「最尤法」を使ってパラメタを推定することが一般的です。

 

□「最尤法」とはなんなのでしょうか。

まず「尤度」を簡単に説明すると、観測値が与えられた時に、そのような観測値が得られる度合いのことです。そして、それを最大にする値を求める方法が最尤法です。コイン投げの例を通じて見ていきましょう。

 

問題:コインを5回投げて、表が3回、裏が2回の時の尤度はいくらでしょうか。

 

各回のコイン投げが独立なら5回中3回表が出る確率は二項分布により計算できます。

・5C3*θ^3*(1-θ)^2

これはθの関数なので、L(θ)とすると、

・L(θ)=5C3*θ^3*(1-θ)^2

 

このL(θ)が「尤度関数」、θが「尤度」です。

「このθが最大になる=5回中3回表がでやすい」と言えます。

θに値を計算してみるとθ=0.6となり、「コインの表のでる確率は0.6」とするのが、最尤法の考え方です。実際に計算する時は、微分を使って計算しますが、尤度関数が複雑になると、尤度関数を対数化して対数尤度関数を解くことによって尤度を計算します。

掛け算→足し算、割り算→引き算になるから計算しやすくなります。

 

logL(θ)=log(5C3)+log(θ^3)+log(1-θ)^2

logL(θ)=log(5C3)+3log(θ)+2log(1-θ)

 

θで微分して0とおくと0.6が算出されます。

 

最尤推定値の性質(一致性)について見ていきましょう。

サンプルサイズとの関係ですが、最尤推定値はサンプルサイズが大きくなるにつれて、真の値に近づきます。Rを使って実践してみます。

> theta=0.6

> n=100

> mle <- numeric(n)

+ for (i in seq(n)){

+ y <- rbinom(1,size=n,prob=theta)

+ mle[i] <- (y/n)

+ }

> hist(mle)

> mean(mle)

[1] 0.5996

 

f:id:teruaki-sugiura:20150802181405p:plain

> theta=0.6

> n=10000

> mle <- numeric(n)

> for (i in seq(n)){

+ y <- rbinom(1,size=n,prob=theta)

+ mle[i] <- (y/n)

+ }

> hist(mle)

> mean(mle)

[1] 0.5999964

f:id:teruaki-sugiura:20150802181416p:plain

 

以上で第40回はお終い。

 

 

広告を非表示にする