こんにちは!
スタビジ編集部です!
今回は最尤法について解説していきます!
最尤法とは「観測されたデータからデータから尤度が最大となるパラメータを決定する方法」です。
最尤法の目的として、ある母集団がパラメータがわからない確率分布に従っている場合、母集団から抽出したサンプルから尤もらしいパラメータを推定することを覚えておきましょう!
この記事では、そんな最尤法(最尤推定)の導出方法と最小二乗法との関係について解説していきます!
・最尤法(最尤推定)の導出方法について解説!
・最小二乗法との関係について解説!
最尤法(最尤推定)について解説!
最尤法をコインの例で見ていこう!
まずコインを用いた例を見ていきましょう!
コインの表裏の出る確率は一般的に0.5と言われています。しかしここではイカサマが施されたコインを使っていきましょう!
さてイカサマされたコインを10回使ったら7回表が出ました。ここで求めたいパラメータはイカサマされたコインの表が出る確率\(p\)とします。直感的には\(\frac{7}{10}\)ですが果たしてどうでしょうか?
さて表が出る確率が0.5でないなら、どのようにして求めることができるでしょうか?この時に使う手法が最尤法(最尤推定)になります。
まずコインの確率分布は二項分布に従うと考えられます。二項分布の確率関数は以下の通りです!(表が出る回数:\(k\), 表が出る確率:\(P\))
\(P(X=k)={}_n\mathrm{C}_k P^{k}(1-P)^{n-k}\)
次に二項分布を使ってどうやってパラメータを求めるか解説していきます!
尤度関数
尤度関数とは「求めたいパラメータθを変数とした関数」です。式に表すと以下のようになります!(確率密度関数:\(f(x|θ)\))
\(L(θ|x)=f(x|θ)\)
確率密度関数\(f(x|θ)\)はパラメータθを前提とした\(x\)の関数であることが分かりますね!つまり\(L(θ|x)\)は\(x\)を前提としたパラメータθの関数と考えられます!
この尤度関数から尤もらしいパラメータθを推定するには、尤度関数をθで偏微分した式が0になるパラメータを求めることになります。
\(\frac{\partial L(θ|x)}{\partial θ} = 0\)
尤度推定量の求め方
今回の尤度関数は二項分布を使ったものになることが分かりますね!
\(L(P|k=7)={10 \choose 7} P^{7}(1-P)^{3}\)
なぜこのような式になるかわからない方はぜひ二項分布の記事を読んでみてください!
この尤度関数はlogでまとめると綺麗にまとまるので使っていきましょう!
\(\log{L(P|k=7)} =120(7\log{P}+3\log{(1-P)})\)
次に偏微分をしていきましょう!
\(\frac{\partial \log{L(P|k)}}{\partial P} = 120(\frac{7}{P}-\frac{3}{1-P})\)
したがって偏微分した式が0になるようなPは…?
\(\frac{\partial \log{L(P|k)}}{\partial P} = 120(\frac{7}{P}-\frac{3}{1-P})=0\)
\(\frac{7(1-P)-3P}{P(1-P)}=\frac{7-10P}{P(1-P)}=0\)
イカサマされたコインの表が出る確率Pは\(\frac{7}{10}\)であると分かりましたね!直感的な値と同じことが分かりましたね!
最小二乗法との関係
最尤法を用いた例として最小二乗法が挙げられます。
最小二乗法とは、観測されたデータに一番よく合う直線や曲線を見つけるための方法!
具体的には誤差平方和を最小化するパラメータを推定します。
驚くことに最小二乗法は最尤法に基づいて考えることもできます!
まず残差\(e_{i}(=y_{i}-(a+bx_{1}))\)は正規分布に従っていることがわかっています。
そしてサンプルサイズは\(n\)なので、すべてのデータに対する尤度関数を考える必要があります。
したがって尤度関数は以下のような式になります。
\(L(a,b|x_{i})=\prod_{i=1}^{n}f(x_{i}|a,b)=\prod_{i=1}^{n}\frac{1}{\sqrt{2π}σ}exp(\frac{(y_{i}-(a+bx_{i}))^{2}}{2σ^{2}})\)
これにlog変換を行うと…?
\(\log{L(a,b|x_{i})}=-\frac{1}{2σ^{2}}\sum_{i=1}^{n}(y_{i}-(a+bx_{i}))^{2}-\frac{n}{2}\log{\frac{1}{2πσ^{2}}}\)
この式で\(a,b\)に関わっているのは第1項だけになります。第1項に注目すると、最小二乗法の残差平方和式と同一になりますね!!
これを微分した式を0にできるパラメータ\(a,b\)を求めることができますね!つまり最小二乗法は最尤法で解釈することが可能であると分かりました!
最尤法 まとめ
本記事では最尤法についてまとめました!
今回は二項分布を使いましたが、様々な分布にも応用が可能です!ぜひ勉強しましょう!
このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
当メディアでは、データサイエンティストの経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組み合わせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
データサイエンスに関する記事はこちら!
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!