おはようございます!
これまでに、統計モデリングについて勉強してきたことを、少しずつ記事にまとめてきました。
(よかったら、過去の記事もぜひご覧くださいね☺)
さて、統計モデリングとは何かというと、こんなふうに説明されることが多いです。
「データが特定の確率モデルに従って生まれたと仮定し、そのモデルのパラメータを推定することで、現象の理解や予測を行う枠組み」
……うん、最初にこの説明を聞いても、「???」ですよね(笑)
私も最初は、知らない言葉だらけで、「何から手をつければいいの?」と戸惑いました。
前回の記事では、その中でもよく出てくる用語「確率モデル」と「パラメータ」について解説しました。
そして今回は、そのパラメータをどうやって求めるのか、つまり「推定法」についてまとめていこうと思います!
統計モデリングの流れ
まず、統計モデリングの全体像をざっくり整理してみましょう。
データ(観察) ↘
統計モデル(仮定) → 推定法でパラメータを求める → 結果・予測・解釈!
仮説(想定) ↗
用語の説明
-
データ(観察)
実際に集めた測定値(例:身長のデータ、テストの得点、アンケートの回答など)
-
仮説(想定)
「こういう関係があるのでは?」という予測(例:勉強時間が長いとテストの点が高いかも)
-
統計モデル
仮説やデータに基づいて、現象を数式で表したもの
-
推定法
モデルに含まれるパラメータ(未知の数)を、データから推定する方法
-
結果・予測・解釈
推定したパラメータを使って、現象を説明したり、未来を予測したりする
統計モデルとは?
統計モデルとは、データの背後にある仕組みを数式で表したものです。
たとえば、
中学生の体重を予測したいとき、身長の情報があればある程度わかるのでは?
と考えて立てるモデルは、こんな形になります。
体重 = β0 + β1 × 身長 + 誤差
このとき:
-
β0は「切片」
-
β1は「傾き」
身長が高くなると体重も増える、という傾向を表した式ですね。
こうしたX(説明変数)とY(目的変数)の関係を表す枠組みが、統計モデルです。
よく使われるモデルの例
-
単回帰モデル:1つのXからYを予測
-
重回帰モデル:複数のXからYを予測
-
ロジスティック回帰:Yが「はい/いいえ」のときに使う
-
ポアソン回帰:Yが「回数」などのカウントデータのときに使う
推定法とは?
推定法とは、モデルに含まれるパラメータ(β0やβ1など)を、データからどう求めるかという方法のことです。
さきほどの例を再掲すると:
体重 = β0 + β1 × 身長 + 誤差
このモデルで、「β0(切片)」や「β1(傾き)」の値がわかれば、身長から体重を予測できます。
でも、その値は最初からはわからないので、どうやって見つけるか?を考える必要があります。
そのときに使うのが「推定法」です。
代表的な推定法
● 最小二乗法(さいしょうにじょうほう)
-
誤差(予測と実際のズレ)の合計が最小になるようにパラメータを調整する方法。
-
シンプルで直感的。
-
回帰モデルや、データが正規分布しているときによく使う。
● 最尤推定法(さいゆうすいていほう)
-
「このデータが出る確率」が最大になるようにパラメータを決める方法。
-
GLM(一般化線形モデル)など、少し複雑なモデルにも対応。
● ベイズ推定
-
事前にある「知識」や「予想」と、新しく得られたデータの両方を使って推定する方法。
-
結果に「不確実性」を含められる(←これ、実はすごく大事!)
※ベイズ推定はまだ私も勉強中で、うまく説明はできませんが、名前だけは聞いたことがある…という方も多いのでは?
つまり、これまで私たちが行ってきた分析では、基本的に最小二乗法でパラメータを推定できていたのですが、
正規分布を仮定しないようなモデルを使う場合には、最小二乗法では対応できなくなります。
そうなると、より柔軟に対応できる最尤推定法を使う必要が出てくる、というわけです。
このあたりの詳しい話は、また別の記事で紹介しますね!
推定法の限界とこれからの学び
実際のデータは、単純なモデルでは対応できない複雑さを持っていることがあります。
たとえば:
-
最尤推定では対応できない複雑な構造
-
パッケージを使うだけでは柔軟に対応できない
そんなときに注目されるのが、ベイズ推定です。
まだまだ私も理解を深めている途中ですが、今後もっと学んでいきたいと思っています。
おわりに
統計モデリングを学びはじめたころは、「何をやっているのかわからない…」と感じる瞬間も多かったです。
でも、全体の流れや用語の意味がつながってくると、「なるほど!」の連続でした。
私と同じように、「いちばん最初の一歩」を踏み出したばかりの方の助けになれたら嬉しいです。
これからも、わかりやすく楽しく書いていきたいと思います!