【ITニュース解説】GLMs in R Explained: Linear, Log-Linear, and Logistic Regression with Examples
2025年09月17日に「Dev.to」が公開したITニュース「GLMs in R Explained: Linear, Log-Linear, and Logistic Regression with Examples」について初心者にもわかりやすく解説しています。
ITニュース概要
一般化線形モデル(GLM)は、線形回帰では扱いにくい、様々な分布を持つデータ(カウント、比率、カテゴリなど)を分析する統計モデルだ。対数線形回帰で指数的な関係を、ロジスティック回帰で二値の事象の確率をモデル化できる。GLMは多様なデータを柔軟に扱い、現実世界の複雑な関係を解明する強力なツールとなる。
ITニュース解説
データサイエンスや応用研究の根幹には統計モデリングがあり、その中でも線形回帰は多くのデータアナリストが最初に学ぶ手法である。これは、ある結果を示す変数(目的変数)と、それに影響を与える変数(独立変数)の関係性を線で表す基本的なモデルだ。目的変数が正規分布という、左右対称の釣鐘型のような形に従う場合には線形回帰はうまく機能する。しかし、実際のデータはそう単純ではないことが多い。例えば、商品の売上個数や顧客がサービスを解約するかどうか、病気の進行度合い、Webサイトのクリック数などは、必ずしも正規分布のきれいな形にはならない。
このような現実世界の多様なデータに対応するために登場するのが、一般化線形モデル(GLM)だ。GLMは線形回帰の考え方を拡張し、より幅広い種類の分布や、変数間の関係性を調整する「リンク関数」と呼ばれる仕組みを利用できるようにする。これにより、正規分布しないカウントデータ、割合、あるいは「はい/いいえ」のようなカテゴリカルな結果など、さまざまなタイプの目的変数をモデル化することが可能になる。
GLMの基本的な形として、まず線形回帰を改めて見てみよう。線形回帰は最もシンプルなGLMの一つであり、以下の二つの前提に基づいている。一つは、目的変数が正規分布に従うこと。もう一つは、独立変数と目的変数の関係が直線的であることだ。具体的な数式で表すと、「Y = α + βX」となる。ここでYは目的変数、Xは独立変数、αは切片(Xが0のときのYの値)、βは傾き(Xが1単位変化したときのYの変化量)を表す。これらの係数は、観測データとモデルの予測値との誤差(残差)を最小にするように、最小二乗法という手法で推定される。
しかし、目的変数が常に正の値を取る場合や、個数を表す場合など、正規分布しないデータでは線形回帰が問題を引き起こすことがある。例えば、コカ・コーラの売上と気温の関係を考えてみよう。気温が上がれば売上も増えるが、その関係は直線的ではなく、指数関数的に増加する傾向がある。このデータを線形回帰でモデル化すると、低い気温の時に売上がマイナスになるなど、非現実的な予測が出てしまうことがある。この例では、モデルの予測精度を示す指標であるRMSE(二乗平均平方根誤差)も高くなり、モデルがあまり現実を捉えられていないことがわかる。
このような指数関数的な成長や減少を示すデータには、対数線形回帰が適している。例えば、複利で増える預金、教育年数と共に増加する給与、気温や広告費によって増える売上などがこれに該当する。これらの関係は「Y = a ⋅ b^X」のような形で表される。この式の両辺を対数変換すると、「log(Y) = log(a) + (log(b)) ⋅ X」という形になり、目的変数Yの対数と独立変数Xが直線的な関係を持つように変換される。これにより、線形回帰の手法を適用できるようになるのだ。
先のコカ・コーラの売上の例で、売上を対数変換してから線形回帰を適用してみよう。すると、RMSEが劇的に低くなり、マイナスの売上を予測することも無くなる。この単純な変換によって、非現実的だったモデルが信頼性の高いものへと変化する。対数変換は他にも、データが偏った分布(歪んだデータ)を持つ場合の分散を安定させたり、変数間の乗法的な関係を線形関係に変換したりといった利点がある。対数変換を用いたモデルには、目的変数のみを対数変換する対数線形モデル、独立変数のみを対数変換する線形対数モデル、両方を対数変換する対数対数モデルの三種類がある。それぞれ、係数の解釈が異なり、例えば対数線形モデルでは、独立変数が1単位変化したときの目的変数のパーセンテージ変化として係数を解釈できるため、経済学やマーケティングなどの分野で特に価値がある。
次に、目的変数が連続的な数値ではなく、「成功か失敗か」「購入したかしないか」のようなカテゴリカルな結果を取る場合にどうするかを考える。このような二値のデータを扱うのが二項ロジスティック回帰だ。もし線形回帰をそのまま使ってしまうと、0から1の確率の範囲を超えた予測値を出してしまう可能性があるため不適切である。二項ロジスティック回帰では、ロジスティック関数(シグモイド関数とも呼ばれる)というS字型の関数を使って、イベントが発生する確率をモデル化する。この関数は、どのような入力値に対しても出力値を必ず0から1の範囲に収めるため、確率のモデル化に適している。数式は「P(Y=1|X) = 1 / (1 + e^-(α+βX))」となる。
例えば、サッカー選手の練習時間によってペナルティキックの成功(1)か失敗(0)かを予測するケースを考えてみよう。このデータをロジスティック回帰で分析すると、練習時間が増えるにつれてキックが成功する確率が高まる、という現実世界に即した結果を得られる。ロジスティック回帰は、二値の結果を扱う強力な方法を提供する。さらに、結果が二値だけでなく、複数のカテゴリを持つ場合(例:顧客がA、B、Cどのクーポンを使うか)には多項ロジスティック回帰が、カテゴリに順序がある場合(例:顧客満足度を「悪い」「普通」「良い」で評価)には順序ロジスティック回帰が利用され、GLMの応用範囲はさらに広がる。
GLMの真の力は、その柔軟性にある。GLMを使えば、正規分布しない目的変数(例えば、カウントデータ、二値データ、歪んだデータなど)を適切にモデル化できる。また、対数関数やロジスティック関数などの「リンク関数」を用いることで、非線形な関係性を持つデータも線形モデルの枠組みで分析できるようになる。これにより、非線形な成長パターンも直線的なトレンドとして解釈しやすくなる。コカ・コーラの売上予測、金融商品の利息計算、あるいはサッカーの試合結果の予測など、多様な問題に対してGLMは統計的に妥当で、かつ解釈しやすいモデルを提供する。
GLMは従来の線形回帰の限界を超え、より広範囲のデータ分布や関係性に対応できる強力なツールであることがわかる。線形回帰が非正規なデータで限界を迎える様子や、対数線形回帰によって指数関数的な成長を正確にモデル化する方法、そして二項ロジスティック回帰によってカテゴリカルな結果の確率を推定する方法を学んできた。GLMはデータサイエンスにおいて非常に実用的かつ広く使われるツールの一つであり、R言語のglm()関数のような組み込み機能を使うことで、その実装も比較的容易に行える。売上予測、リスクモデリング、医療データの分析、分類問題など、どのような分野においても、GLMは正確で意味のある予測を行うための強固な統計的基盤を提供する。