双子ママ、今日も楽しい!

双子の2年生の女の子と4歳の男の子を育てています。

リンク関数ってなんだっけ?

おはようございます!

ゆきちゃんママです😊

 

先日書いた「GLM(一般化線形モデル)」の記事、たくさん読んでいただきありがとうございます!

yukichan-mama.com

……なのですが!

 

読んだハズバンドからメッセージが。

「リンク関数の説明がないやん!もしかして、もう初心者の気持ち、忘れちゃったの?」

 

……はい、すみません💦

書き忘れです!(初心者の気持ちはちゃんと覚えてます!笑)

 

というわけで、今日は「リンク関数とは何か」をテーマにお話しします。

 

 

まずおさらい:「確率分布」って何?

GLMではまず、「このデータはどんな分布から生まれているのかな?」と考えます。

これが確率分布です。

 

たとえば——

サイコロなら「出る目(1〜6)」と「それぞれの確率(1/6)」がセットになっていますよね。

それを一般化したものが確率分布。

 

実際のデータでは、

正規分布(二値や平均まわりのデータ)、

ポアソン分布(カウントデータ)、

ガンマ分布(正の連続値)などを使い分けます。

 

 

 

リンク関数とは?

では、いよいよ今日の本題。

リンク関数(link function)とは、

簡単に言えば——

 

データの平均(=期待値)と、説明変数を「うまくつなぐための変換」のこと!

 

GLMは、

「分布の形」と「説明変数との関係」を別々に考えるのがポイント。

 

その“関係”を結びつけてくれるのが、リンク関数なんです。

 

 

 

たとえばこう!

① 普通の線形回帰

Y = β₀ + β₁×X

という形で、Yそのものが説明変数の線形結合で表されます。

 

でもこれ、Yがマイナスになってもいい場合じゃないと困ります。

(人数とか確率とか、マイナスはありえないですよね。)

 

だから、GLMでは「Yをそのまま使う」代わりに、

Yを変換した形(リンク関数)を使うんです。

 

 

 

ポアソン回帰:カウントデータにぴったり

来店人数や正答数など、0以上の整数しかとらないデータは、ポアソン分布でしたよね。

ここでは 対数リンク関数(logリンク) というのを使います。

 

log(λ) = β₀ + β₁×X

 

こうすると、どんなXでも λ = exp(β₀ + β₁×X) なので、

常に0より大きい値が出ます。

 

負の人数なんてありえない!をちゃんと守ってくれるんですね😊

 

 

 

ロジスティック回帰:はい/いいえの世界

「合格/不合格」「買う/買わない」みたいに、0か1の二値データ。

ここでは確率p(=1になる確率)を扱います。

このとき使うのが ロジットリンク関数(logitリンク)

 

log(p / (1 - p)) = β₀ + β₁×X

 

この変換を使うと、どんなにXが大きくても、

pは0〜1の間にちゃんと収まります✨

 

 

 

ガンマ回帰:正の連続値に

金額や反応時間のように、「0より大きい値しかとらないデータ」。

ここでも対数リンクがよく使われます。

「値のスケールが大きく違う」データにもぴったり。

 

 

 

ちょっと補足

リンク関数については、本当は「どんな式でどう使うか」まで理解できるのが理想です。

でも、最初のうちはそこまで気にしなくて大丈夫!

 

実は、どんな分布のときにどんなリンク関数を使うかという“お決まりの組み合わせ”があるので、

まずはその対応関係を覚えておくだけでもOKです😊

ポアソン分布なら対数リンク、二項分布ならロジットリンク……という感じですね✨)

 

 

 

まとめ:GLMの分布とリンク関数の対応

データのタイプ

分布

リンク関数

理由

カウント(人数など)

ポアソン分布

対数リンク log(μ)

平均が0より大きい値しかとれない

二値(はい/いいえ)

二項分布

ロジットリンク log(p/(1-p))

確率を0〜1に収める

正の連続値(時間・金額)

ガンマ分布

対数リンク log(μ)

負の値にならない

 

 

 

まとめの一言

リンク関数とは、「非線形な確率の世界」を「線形モデルの世界」に“橋渡し”するための関数。

 

だから私は、「確率を線形にするための関数」くらいに覚えています😊

 

難しい言葉で正確に言うと、「平均を線形予測子に変換して結びつける関数」だそうですが……なんかちょっと難しい気がしますよね😂

 

今はこのくらいでOK!

そのうち自然に、

 

「リンク関数?ああ、平均を線形予測子に変換して結びつける関数でしょ?」

なんてサラッと言える日が来る……かもしれません(笑)

 

 

ということで、一般化線形モデル(GLM)は、

「確率分布 × リンク関数」で、いろんなデータを扱える万能モデル!

 

早くRで実践したいところですが、まずは事前勉強をしっかり頑張りましょう💪✨

 

今日も最後まで読んでいただき、ありがとうございました🌸

 

PVアクセスランキング にほんブログ村