素人用語での最尤推定(MLE)


91

誰もが素人の言葉で最尤推定(MLE)について詳しく説明してもらえますか?数学的導出または方程式に入る前に、基礎となる概念を知りたいと思います。


9
どのような答えを求めているのかは不明です。たとえば、どのような可能性があるか知っていますか?そうでない場合は、最初にそれを調べることをお勧めします。
Glen_b

4
さらに、あるレベルでの数学を含まない答えは不十分だと思います。
グレッグマクファーレン14

1
このリンクを試してください。MLE、MAP、EMについてはかなり明確な説明があります。MLEの基本的な考え方を簡単な言葉で説明していると思います。
ニミッシュクルカルニ14

2
これにより、MLEの非常に直感的な説明が得られると思います。概念がまだ明確でない場合は、いくつかの基本的な統計をブラッシュアップすることが理想だと思います。
-KartikKannapur

回答:


75

データがあるとします。データが何らかの分布(おそらくはガウス分布)からのものであると仮定したいとします。データの元になる可能性のある無限の数の異なるガウス分布があります(ガウス分布が持つことができる無限の数の平均と分散の組み合わせに対応します)。MLEは、データと「最も一貫性のある」ガウス分布(平均と分散)を選択します(一貫性の正確な意味については、以下で説明します)。

したがって、データセットがあるとします。そのデータが得られる可能性のある最も一貫性のあるガウスは、平均が3、分散が16です。他のガウスからサンプリングされた可能性があります。ただし、平均が3で分散が16であるものは、次の意味でデータと最も整合性があります。観察した特定の値を取得する確率は、この平均と分散の選択の方が他の選択よりも大きくなります。y={1,3,7}Yy

回帰への移行:平均が定数である代わりに、平均は回帰方程式で指定されたデータの線形関数です。したがって、ようなデータと以前のがあるとしましょう。そのガウス分布の平均は、近似回帰モデルになりました。ここで、x={2,4,10}y β Xβ^β = [ - 1.9 0.9 ]β^=[1.9,.9]

GLMへの移行:Gaussianを他の分布(指数関数族から)に置き換えます。平均は、リンク関数によって変換された回帰方程式で指定されたデータの線形関数になりました。したがって、。ここで、logitの場合はです(二項データを使用)。g(Xβ)g(x)=ex/(1+ex)


28
MLEは、データが与えられた場合に最も可能性の高いガウス分布を選択します。」うーん、実際にはそうではありません。MLEは、データが最もありそうなガウス分布を選択しますか?「最も可能性の高いガウス」を選択することとは少し異なります。最も可能性の高いガウスを選択するのに、事前の信念を考慮する必要はありませんか?
ジェイクウェストフォール14

9
@ACDこれは単に不完全ではないと思いますが、正しい直感を提供します。たとえば、尤度関数が複数の最大値を持っているなどの特別なケースを議論しないことに問題は見られません。しかし、観測されたデータを生成する可能性が最も高い分布と、データが与えられた場合に最も可能性の高い分布との違いは、頻度論的推論とベイジアン推論の非常に基本的な違いです。したがって、そのように説明すると、将来のための障害を作成しているだけです。
エリック14

6
確かに大丈夫ですが、あなたが書いたものよりも正確な概念説明は理解しにくいですか?そうは思いません。私はあなたの答えのほとんどは大丈夫だと思いますが、後世のために、「最も可能性の高いガウス」について議論することを避けるために、フレーズの一部をわずかに編集して、代わりに私たちが望むものを指摘することをお勧めしますMLの下で(口語的に)「可能性が高い」ということは、仮説ではなくデータです。これはささいなことですが、それ以外の良い答えに対する重要な編集であると思います。
ジェイクウェストフォール14

7
@マックス:最終的に先に進み、この答えを修正してくれてありがとう!将来の読者のためにここに明示的に書くことは理にかなっていると思います。上記のエリックとジェイクのコメントで表明された批評は、回答が編集された後はもう適用されません。
アメーバ

7
ただ飛び込んでください:私の答えに与えられたすべての注意と改善に感謝します。編集について最初はheしていたことをおologiesびします(これは良いことです)-私は自分の答えの単純さが損なわれるのを見るのを嫌がりました。それはほとんど起こらなかった。
generic_user

66

最尤推定(MLE)は、 観測データを説明する最も可能性の高い関数を見つける手法です。数学は必要だと思いますが、怖がらせないでください!

平面に点のセットがあり、データに最もよく当てはまる関数パラメーターおよびを知りたいとしましょう(この場合、これを作成するために指定したので関数を知っています)例ですが、私と一緒に耐えます)。、β σx,yβσ

data   <- data.frame(x = runif(200, 1, 10))
data$y <- 0 + beta*data$x + rnorm(200, 0, sigma)
plot(data$x, data$y)

データポイント

MLEを実行するには、関数の形式について仮定する必要があります。線形モデルでは、点は平均および分散正規(ガウス)確率分布に従うと仮定します: 。この確率密度関数の式は次のとおりです。σ 2 Y = NX β σ 21xβσ2y=N(xβ,σ2)

12πσ2exp((yixiβ)22σ2)

見つけたいのは、すべての点についてこの確率を最大化するパラメーターおよびです。これは「尤度」関数、βσ(xi,yi)L

L=i=1nyi=i=1n12πσ2exp((yixiβ)22σ2)
さまざまな理由から、尤度関数のログを使用する方が簡単です:
log(L)=i=1nn2log(2π)n2log(σ2)12σ2(yixiβ)2

これをRの関数としてコーディングできます。θ=(β,σ)

linear.lik <- function(theta, y, X){
  n      <- nrow(X)
  k      <- ncol(X)
  beta   <- theta[1:k]
  sigma2 <- theta[k+1]^2
  e      <- y - X%*%beta
  logl   <- -.5*n*log(2*pi)-.5*n*log(sigma2) - ( (t(e) %*% e)/ (2*sigma2) )
  return(-logl)
}

この関数は、と異なる値で、表面を作成します。σβσ

surface <- list()
k <- 0
for(beta in seq(0, 5, 0.1)){
  for(sigma in seq(0.1, 5, 0.1)){
    k <- k + 1
    logL <- linear.lik(theta = c(0, beta, sigma), y = data$y, X = cbind(1, data$x))
    surface[[k]] <- data.frame(beta = beta, sigma = sigma, logL = -logL)
  }
}
surface <- do.call(rbind, surface)
library(lattice)
wireframe(logL ~ beta*sigma, surface, shade = TRUE)

尤度面

ご覧のように、この表面のどこかに最大点があります。Rの組み込み最適化コマンドを使用して、このポイントを指定するパラメーターを見つけることができます。これは、真のパラメーターを明らかにすることにかなり近い 0,β=2.7,σ=1.3

linear.MLE <- optim(fn=linear.lik, par=c(1,1,1), lower = c(-Inf, -Inf, 1e-8), 
                    upper = c(Inf, Inf, Inf), hessian=TRUE, 
                    y=data$y, X=cbind(1, data$x), method = "L-BFGS-B")
linear.MLE$par


## [1] -0.1303868  2.7286616  1.3446534

通常の最小二乗線形モデルの最尤であるためlm、同じ答えが得られるのは理にかなっています。(標準エラーの決定にはが使用されることに注意してください)。σ2

summary(lm(y ~ x, data))

## 
## Call:
## lm(formula = y ~ x, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3616 -0.9898  0.1345  0.9967  3.8364 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.13038    0.21298  -0.612    0.541    
## x            2.72866    0.03621  75.363   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.351 on 198 degrees of freedom
## Multiple R-squared:  0.9663, Adjusted R-squared:  0.9661 
## F-statistic:  5680 on 1 and 198 DF,  p-value: < 2.2e-16

この素晴らしく有用な答えを@gregmacfarlaneに感謝します。マイナーポイント:最初にRコードでbetaとsigma2を定義してはいけません data$y <- 0 + beta*data$x + rnorm(200, 0, sigma2) か?そして0 +便利ですか?
エメリービル

1
はいbetasigma2このコードを実行するために定義する必要があります。パラメーターを「発見」できるようにそれらを非表示にしました。パラメーターは、MLEの実行時にはほとんど不明です。
グレッグマクファーレン

また、0 +実際には何も実行されないことも正しいです。回帰モデルには通常インターセプトがあるため、これを含めました。MLEを最適化しようとしていた場合やbetasigma2 alpha(あなたが4次元でプロットするRパッケージの知っている限り!)、私はかなり表面プロットを表示しませんでした
gregmacfarlane

2
@gregmacfarlaneのすばらしい回答であり、私を大いに助けてくれました。ただし、分散と標準偏差には多少の誤差があります。こちらをご覧ください。stats.stackexchange.com/questions/267534/...
ハイタオ・ドゥ

2
@ hxd1011この間違いを指摘してくれてありがとう。エラーを修正しました。
グレッグマクファーレン

28

パラメーターの最尤(ML)推定値は、実際に観測されたデータが最も可能性が高いパラメーターの値であり、パラメーターの他の可能な値と比較しています。

その考えは、実際の観測データにゼロ以外の(おそらく小さな)確率でつながる可能性のある「真の」パラメーター値がいくつもあるということです。ただし、ML推定では、観測データに最も高い確率でつながるパラメーター値が提供されます。

これは、実際にデータを生成した可能性が最も高いパラメーターの値と混同しないでください!

この区別について、Sober(2008、pp。9-10)からの次の文章が好きです。この文章では、で示される観測データと示される仮説があります。HOH

「可能性」は専門用語であることを覚えておく必要があります。Hの尤度Pr(O | H)とHの事後確率Pr(H | O)は異なる量であり、異なる値を持つことができます。Hの可能性は、HがOに与える確率ではなく、HがOに与える確率です。家の屋根裏部屋からノイズが聞こえるとします。あなたはボウリングにグレムリンがあるという仮説を考えます。屋根裏部屋でグレムリンがボウリングしている場合は、おそらくノイズがあるため、この仮説の可能性は非常に高いです。確かに、ボウリングにグレムリンが存在する可能性が非常に高いとノイズが考えているとは思わないでしょう。この例では、Pr(O | H)は高く、Pr(H | O)は低くなっています。グレムリンの仮説は(技術的な意味で)高い可能性を持ちますが、低い確率を持ちます。

上記の例では、MLはグレムリン仮説を支持します。この特定のコミカルな例では、明らかに悪い選択です。しかし、他の多くのより現実的なケースでは、MLの推定値は非常に合理的なものかもしれません。

参照

Sober、E.(2008)。証拠と進化:科学の背後にある論理。ケンブリッジ大学出版局。


8
これは、この重要なポイントを明確かつ単純にする最初の答えのように思えます。ただし、データが離散的(2項データなど)の場合は、「最も高い確率で観測データが得られます」が、データが連続している場合は「最高結合密度で観測データが得られます」 (通常のデータのように)。
グン

6
ありがとう@gung。私はあなたが言及専門的に承知していますが、私は「共同密度」のいずれかの議論は「素人の用語」のためのストレッチのビットになると少し心配だった...
ジェイクウェストフォール

私はあなたに同意します、そしてあなたはこれについて知っていたと思いました。このスレッドの別の場所で出てきたので、私はそれについて言及したいと思った。
グン

16

MLEは、観測したデータを観測する確率を最大化する対象のパラメーターの値です。言い換えれば、観測されたデータが観測された可能性が最も高いのは、パラメーターの値です。


2
そして、このように最大化された尤度関数が、その反転側で、連続確率変数からの確率密度関数であるとしたらどうでしょうか?MLEはまだ確率を最大化しますか?そうでない場合、それは何をしますか?
アレコスパパドプロ14

@AlecosPapadopoulos尤度関数はパラメーターの確率関数と見なすことができ、MLEはその確率関数を最大化するパラメーター値です。しかし、あなたの質問はより多くのニュアンスがあることを示唆していますか?
ハイゼンベルグ14

4
@Heisenberg回答は、尤度関数をサンプルの結合確率関数として扱いました(MLはパラメーターに対して最大値を提供するため、任意のサンプルの確率を最大化します)。RVの者が離散しているとき、彼らは、共同密度以来、連続しているではないとき、これは正しい工事がで同時確率ではありません。私はこれを「ニュアンス」として特徴付けません。離散世界と連続世界の根本的な違いです。
アレコスパパドプロス14

@AlecosPapadopoulosなるほど。したがって、「確率関数」対「密度関数」という言葉の使用に問題があります。それは正しいです。
ハイゼンベルク14

@ Alecos Papadopoulos:ここでの本当のポイントは、多分、離散的なケースでMLEを正当化するのは直接的なことですが、連続的なケースでは追加の引数が必要であり、データポイントの周りの -cubeの結合確率を見つけることができます。そして、十分に小さい場合、の具体的な値は重要ではないことにしてください。ϵ ϵϵϵϵ
kjetil bハルヴォルセン

10

ある(多くの)数学を使用せずに何かを言うすることができますが、最大尤度の実際の統計的な用途のために、あなたは数学を必要とします。

最尤推定は、哲学者が最良の説明または誘duction に対する推論と呼ぶものに関連しています。いつもこれを使用しています!最尤法 duction致であるとは言いません。その用語ははるかに広く、ベイジアン推定のいくつかのケース(経験的事前確率を含む)もおそらくprobably致と見なすことができます。http://plato.stanford.edu/entries/abduction/#Acaから取られたいくつかの例 https://en.wikipedia.org/wiki/Abductive_reasoning も参照して ください (コンピューターサイエンスでは、「誘duction」は-確率モデル。)

  1. 「最近、ティムとハリーが友好関係を終わらせたひどい列を持っていることを知っています。今では、ティムとハリーが一緒にジョギングをしているのを見たと誰かが言います。あなたは彼らが再び友人であると結論付けます。」これは、その結論が、あなたが説明しようとしている観察を、彼らがまだ話していないという代替案よりも可能性が高いからです。

別の例:幼稚園で働いていて、ある日、子供が奇妙な方法で歩き始め、足を骨折したと言ったとします。調べて、何も間違っていないことを見つけます。次に、子供はしばしば説明されているように動作するため、両親の1人が足を骨折したと合理的に推測できます。これは「最良の説明への推論」であり、(非公式)最尤の例です。(そして、もちろん、説明が間違っているかもしれない、それはたぶん、確かではない。.致/最大尤度は確実な結論を与えることができない)。

アブダクションとは、データ内のパターンを見つけ、それらのパターンの可能性を高める可能性のある理論を検索することです。そして、観察されたパターンを最大限に可能にする可能な説明を選択することは、まさに最尤です!

科学における誘ductionの主な例は進化です。進化を意味する単一の観測はありませんが、進化により、観測されたパターンは他の説明よりも可能性が高くなります。

別の典型的な例は医療診断ですか?どの可能な医学的状態が、症状の観察されたパターンを最も可能性が高いものにしますか?繰り返しますが、これも最尤法です!(または、この場合、ベイジアン推定がより適している可能性があります。さまざまな説明の事前確率を考慮する必要があります)。しかし、それは専門的で、この場合には、我々は経験的統計モデルの自然の一部として見ることができる事前分布、および私たちが呼び出すことができモデルを、私たちが呼ぶ前には、いくつかの(*)は任意の統計的な慣例です。

MLEの素人用語の説明に関する元の質問に戻るために、ここに1つの簡単な例を示します。6歳と7歳の娘がいるとき、私は彼らにこれを尋ねました。私たちは2つのur(2つの靴箱)を作り、1つには2つの黒いボール、8つは赤いボール、もう1つには入れ替わる数字を入れました。次に、urを混ぜて、ランダムに1つのurを描きます。次に、その骨urからランダムに1つのボールを取りました。赤だった。

それから私は尋ねた:どのボールから赤いボールが引かれたと思いますか?約1秒考えた後、彼らは(合唱団で)答えました:8つの赤いボールを持つものから!

それから私は尋ねた:なぜあなたはそう思いますか?そして、再び、約1秒後(再びインコワール):「そのため、赤いボールを描く方が簡単だから!」つまり、easy = more probableです。それは最尤法であり(確率モデルを作成するのは簡単です)、それは「最良の説明への推論」、つまり、致です。

(*)なぜ「任意」と言うのですか?医学的診断の問題を継続するために、患者は、医師が以前に見なかった状態を診断するのにいくらか困難な人だと言います。次に、患者との話し合いの中で、彼が少し前に熱帯アフリカのどこかを訪れたことが起こります。これは新しいデータですが、典​​型的なモデル(この種の状況で、公式または非公式に使用される)でのその効果は、マラリアのような熱帯病がより高くなるので、難しい説明の前を変更することです事前確率。したがって、新しいデータの分析に入力されます。


「帰納的推論と最尤推定」のグーグルは、多くの関連するヒットを与えます。
kjetil bハルヴォルセン14

1
(1/2)こんにちはkjetil、これは素晴らしい答えです。感謝しています。(また、あなたの娘についての宣伝文句がかわいいです。:))いずれにせよ、私は「可能性」の私自身の強力な理解を構築する上で苦労しています、と私は上の私の質問を定式化してきたここに
クレアトロン

1
(2/2)特に、私は理解しようとしているi)可能性を述べる正しい方法が常に:「パラメーターの可能性」、(決して「データの可能性」)、およびii)が英語で読み取られるかどうかを理解しようとしています。「data = xの場合のparameter = thetaの尤度は、 data = x、与えられたパラメーター= theta)。」これは英語の正しい構文解析ですか?または、左側は「data = xの確率、params = thetaでPARAMETERIZED」と読みますか?前もって感謝します!L(θ|x)=P(x|θ)
クレアトロン

9

θθ

θθθ

(データが連続して読み取られる場合、「確率」から「確率密度」を読み取ります。したがって、インチで測定される場合、密度はインチあたりの確率で測定されます。)


3
y

@ DimitriyV.Masterov実際、そうではありません。私が正しく覚えていれば、たとえ可能であっても、尤度は「フィッシャーによると」「乗法定数まで」だけ定義されました。
Glen_b

@Dimitriy、良い点; 追加しました。
スコルチ

1
@Glen、ほとんどの目的-尤度比検定、最尤推定-定数を削除できます。ネストされていないモデル間でAICを比較することはできません。とにかく素人の定義に入る必要があるとは思わないでください。
スコルチ

1
同じ定数を削除する限り、それでも可能です。
Glen_b

6

ゲームをプレイしましょう:私は暗い部屋にいます、誰も私が何をするのか見ることができませんが、あなたは(a)サイコロを投げて「1」の数を「成功」として数えるか、(b)コインを投げる頭の数を「成功」として数えます。

私が言ったように、あなたは私が2つのうちどちらをするのかわかりませんが、私はあなたに1つだけの情報を与えます:私はあなたが100回サイコロを投げたか、100回コインを投げ、17回成功したことを伝えます。

問題は、私がサイコロを投げたか、コインを投げたかどうかを推測することです。

あなたはおそらく私がサイコロを投げたと答えるでしょう。

もしそうなら、おそらく100回の実験のうち17回の成功を観察した場合、コインを投げたよりもサイコロを投げた可能性が高いので、おそらく「可能性を最大化することで推測した」でしょう。

したがって、あなたがしたことは、「成功の確率」(サイコロの場合は1/6、コインの場合は1/2)の値を取得することです。サイコロを100回投げて「1」を17倍にするチャンスは、コインを100回投げて17回投げるチャンスよりも高くなります。


私の答えで言ったように、「誘duction」または「最良の説明への推論」。
kjetil bハルヴォルセン

@kjetil b halvorsen:何を言いたいのか分からない?

上記の回答と比較するだけです。これらの用語は、ほぼ同じアイデアのために他の分野(哲学、CS)で使用されます:全体的に事実に最も適合する説明を選択し、最尤につながる確率論的モデルを使用します。
kjetil bハルヴォルセン

@kjetil b halvorsen:私の例は大丈夫だと結論付けることができますか?素人の言葉で同じことを言うには:-)?

1

XμμμLμfμ

L(μ|X)=i=1Nf(xi,μ)

または対数尤度:

lnL(μ|X)=i=1Nlnf(xi,μ)

μf

μ

まず、いくつかの偽データを生成します。

set.seed(123)
x <- rnorm(1000, 1.78)

μX

llik <- function(mu) sum(log(dnorm(x, mu)))

μ

ll <- vapply(seq(-6, 6, by=0.001), llik, numeric(1))

plot(seq(-6, 6, by=0.001), ll, type="l", ylab="Log-Likelihood", xlab=expression(mu))
abline(v=mean(x), col="red")

同じことが、ブルートフォースよりも賢い方法で関数の最大値を探す最適化アルゴリズム使用して、より速く達成できます。このような例は複数あります。たとえば、Rで最も基本的なものの1つは次のとおりです。optimize

optimize(llik, interval=c(-6, 6), maximum=TRUE)$maximum

ここに画像の説明を入力してください

μ1.78μoptimize

この例では、複数のアプローチを使用して、尤度関数を最大化する値を見つけ、パラメーターの「最良」値を見つける方法を示します。


0

{y1,y2,,yn}θ={μ,σ2}{y1,y2,,yn}θ={μ,σ2}p(y1,y2,,yn|θ)

L(θ|y1,y2,,yn)θL(θ)θ{μ,σ2}L{μ,σ2}L(θ)


0

コインを持っているとします。それを投げると、頭か尾のどちらかを与えることができます。しかし、それが公正なコインかどうかはわかりません。1000回投げます。それは頭として1000回現れ、決して尾として現れません。

0.52000

MLEは、このような状況で最良の説明を見つけるのを支援しようとします-何らかの結果があり、その結果をもたらす可能性が最も高いパラメーターの値を把握したい場合。ここでは、2000のトスから2000の頭があります。したがって、MLEを使用して、頭を取得する確率が2000のトスから2000の頭を取得することを説明します。

これは最尤推定量です。現在見ている結果を生成した可能性最も高いパラメーター(ここでは、確率分布関数)を推定します。

1


-1

私がMLEを理解する方法は次のとおりです。あなたは、自然が見たいものだけを見ることができます。あなたが見るものは事実です。これらのファクトには、それを生成した基本的なプロセスがあります。これらのプロセスは隠されており、不明であり、発見する必要があります。質問は次のとおりです。観察された事実を考えると、プロセスP1がそれを生成した可能性はどのくらいですか?プロセスP2が生成した可能性はどのくらいですか?など...これらの可能性の1つはすべて最大になるでしょう。MLEは、最大尤度を抽出する関数です。

コイントスを考えてください。コインは偏っています。バイアスの程度は誰にもわかりません。o(すべての尾)から1(すべての頭)までの範囲で指定できます。公正なコインは0.5(頭/尾も同様)です。10回のトスを行い、7つのヘッドを観察すると、MLEは10回のトスで7つのヘッドの観察された事実を生成する可能性が高いバイアスの程度です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.