
- ロジスティック回帰って何?
- どんなときに使うと良いの?
- どんなソフトを使えば良いの?
この記事ではそんな疑問にお答えします。
はじめまして。
IT企業でデータ分析をしています、ナバと申します。
データ分析業務でロジスティック回帰分析を実践している私が、ロジスティック回帰の基礎をわかりやすく解説します。
初心者の方にもわかりやすいように、専門用語や数式をなるべく使わずに説明していきます。
ロジスティック回帰分析とは?
ロジスティック回帰分析とは、
さまざまな要因から、ある事象が発生する確率を予測(または説明)する式を作ることです。
・重回帰分析との違い
重回帰分析の偏回帰係数と定数項を求めるという原理はロジスティック回帰分析でも同じです。
※偏回帰係数と定数項について知りたい方は下記を参照ください。
重回帰分析と大きく違うのは目的変数の種類です。
※目的変数とは、予測したい値のことです。
・重回帰 :目的変数が連続値
・ロジスティック回帰 :目的変数が二値
二値とは文字通り、2つの値しかとらない値のことです。
二値データの例
・患者が病気を発症する/しない
・顧客がローンを返済できる/できない
・顧客がDMに反応する/しない
ロジスティック回帰分析では、目的変数に指定した事象が発生する確率pを予測する式を作成します。
下表は、ロジスティック回帰分析で、生活習慣データをもとに患者が発病する確率を予測する例です。
年齢 | 体重 | 喫煙有無 | 飲酒有無 | 予測値(発病する確率) | 正解(発病:1/未発:0) |
48 | 85 | 1 | 1 | 0.84 | 1 |
36 | 80 | 1 | 0 | 0.78 | 1 |
52 | 72 | 0 | 1 | 0.61 | 0 |
28 | 62 | 0 | 0 | 0.18 | 0 |
39 | 76 | 1 | 0 | 0.48 | 0 |
確率の取り得る範囲は0~1です。
確率を直線に当てはめようとすると、下図の赤線部分のように0~1に収まらない(原理的にありえない)推定値をとってしまいます。

ロジスティック回帰では確率に対し、直線ではなく、シグモイド曲線(上図の青線)を当てはめます。
0から1の間でS字状に変化するシグモイド曲線に当てはめることで、 0から1の確率を推定することができます。
もう少し具体的に説明すると、ロジスティック回帰では以下の①②を実施します。
※下記は少し専門的なので、難しいと感じる方は読み流してください。
①確率をロジットに変換する
ロジスティック回帰では、確率をロジットに変換します。
ロジットとは目的変数である確率を説明変数と線形な関係になるように変換した値です。
線形な関係とは、重回帰分析のように、
説明変数の変化に合わせて目的変数が変化する割合が常に一定な関係を言います。
線形な関係であれば、重回帰分析の原理を応用して、定数と偏回帰係数を求めることができます。

②ロジットを、発生確率(0~1)に変換する
ロジットをシグモイド関数によって確率p(0~1)に変換します。
この確率が、ロジスティック回帰モデルから出力される値となります。

下図はロジットをシグモイド関数で確率0~1に変換するイメージ図です。

ロジスティック回帰分析の用途
ロジスティック回帰分析は、
ある事象が発生する確率を予測(または説明)したいときに向いている分析手法です。
ロジスティック回帰分析で予測する確率の例
・患者が病気を発症する確率
・顧客がローンを返済できる確率
・顧客がDMに反応する確率
事象の発生確率を予測することは、事象が「発生する」/「発生しない」の分類問題を解くことと同じです。
私が業務でロジスティック回帰分析を適用したことがある分類問題は以下の通りです。
・重病を疾患する社員 / 重病を疾患しない社員
・不良品/良品
ここで、注意すべきなのは、
ロジスティック回帰分析は線形分離可能な分類問題に向いていることです。
線形分離可能とは、下のように、目的とする事象を直線でうまく分類できることを言います。

一方で、下のように、直線でうまく分類できない問題を解くには、ロジスティック回帰は適していません。

線形分類が難しい問題は、ロジスティック回帰分析ではなく、非線形分類に適した決定木やSVMといった手法を試してみましょう。
決定木について知りたい方は、下記を参照ください。
ロジスティック回帰分析ができるソフトウェア
ロジスティック回帰分析に対応したソフトウェアはたくさん存在します。
私が業務でよく使うR/Python/SPSS/SASは、ロジスティック回帰分析に対応しています。
もちろんエクセルを使って、簡単なロジスティック回帰分析を実施することができます。
しかし、エクセルの場合、下記のような手間がかかります。
・推定値の計算式を手動で設定
・説明変数の有意性を検討するための計算式を手動で設定
・データの列数、行数が増えたら、その分の計算式を手動で設定
統計解析ソフトのRや、機械学習に強いPythonを使えば、上記の手間を省いて効率よくロジスティック回帰分析を行うことができます。(RとPythonは無償で使えます。)
RはRstudioというツールを使えば、初心者でも簡単に統計解析を始められます。
Rstudioのインストール方法、使い方は下記を参照ください。
まとめ
この記事では、ロジスティック回帰分析の基礎、用途、対応ソフトについて紹介しました。
RやPythonを使ったロジスティック回帰分析は、今後の記事で紹介したいと思います。
最後にデータ分析について、本気で学びたい方にオススメの講座をご紹介します。
本記事に関するご指摘、ご質問がございましたら、Twitterにてお気軽にメッセージをください。
Twitterアカウント:@data_nava
Twitterでも統計学、機械学習について発信しておりますので、フォローいただけると嬉しいです!
データ分析について学びたい方にオススメの講座
【DataMix】データサイエンティスト育成コース

この講座は、未経験の方であってもデータサイエンティストのエントリー職として仕事に就けるレベルにまで引き上げることを目的とした講座です。
データサイエンティストに必要な知識やスキル、考え方を実践的に学ぶことができる約6か月間のプログラムです。
【DataMix】データサイエンティスト育成コースで学べる知識・スキル
・機械学習・統計学に関する基礎知識
・PythonとRによるプログラミング
・自然言語処理
・画像処理(Deep Learning)
・データサイエンスPJの進め方
コメント