Excelでロジスティック回帰分析を完全再現する方法

AI用語

ロジスティック回帰分析は、購買するかしないか、退職するかしないかなど、結果が「はい・いいえ」で分かれる事象を予測するときに役立つ手法です。統計ソフトやプログラミングが必要と思われがちですが、実はExcelだけでも十分に実行できます。ソルバー機能を使えば、対数尤度を最大化して係数を推定し、確率を計算するまでをすべて再現可能です。

この記事では、Excelでロジスティック回帰を行うための手順を、データの準備からソルバー設定、オッズ比の解釈、モデル精度の確認まで順を追って解説します。読み終えるころには、自分のデータを使って「Yes/Noを予測する分析」をExcelで再現できるようになるはずです。

📖この記事のポイント

  • Excelでもソルバーを使えばロジスティック回帰を完全再現できる!
  • 尤度最大化によって係数を推定し、確率を算出する手順を理解できる!
  • オッズ比を用いて各変数の影響方向と強さを定量的に解釈できる!
  • 混同行列・ROC・AUCを使ってモデル精度をExcelで数値化できる!
  • 多変量・多クラス分類には限界があり、PythonやRへの移行が有効!
  • Excelはロジスティック回帰を“仕組みから理解する”最適教材である!
  • たった2時間の無料セミナー会社に依存しない働き方&AIスキルを身につけられる!
  • 今すぐ申し込めば、すぐに月収10万円UPを目指すための超有料級の12大特典も無料でもらえる!

\ 累計受講者10万人突破 /

無料特典を今すぐ受け取る
監修者プロフィール
森下浩志
日本最大級のAI情報プラットフォーム「romptn ai」編集長。著書に「0からはじめるStable Diffusion」「0からはじめるStable Diffusion モデル・拡張機能集編」など、AmazonベストセラーのAI関連書籍を多数執筆。AIにおける情報の非対称性を解消するための社内研修や出張講義も行う。

Excelでもロジスティック回帰はできる?

H3:ロジスティック回帰の基本構造を理解する

ロジスティック回帰は、結果が0か1のどちらかに分類されるときに、その「1になる確率」を求める分析手法です。線形回帰では目的変数が数値(売上や点数など)であるのに対し、ロジスティック回帰は確率を推定します。
出力は0〜1の範囲に収まり、次のようなロジスティック関数で表されます。

  • 確率 = 1 / (1 + exp(−(b₀ + b₁x₁ + b₂x₂ + …)))
  • b₀は切片、b₁・b₂は各説明変数の重み(係数)を意味する

この関数の形は「S字型(シグモイド曲線)」を描き、変数の増減に応じて確率がなめらかに変化します。この特性により、「ある条件で結果が発生する確率」をモデル化できるのです。

重回帰との違い(比較表)

比較項目重回帰分析ロジスティック回帰分析
目的変数連続値(例:売上、点数)二値(例:購入/非購入)
出力実数値0〜1の確率
関数形線形関数ロジスティック関数
評価指標決定係数、残差尤度、正解率、AUC

H3:Excelで実現する仕組み

Excelには「分析ツール」に回帰分析機能がありますが、ロジスティック回帰には対応していません。
そこで利用するのがソルバー機能です。ソルバーは、指定したセルの値(目的関数)を最大化または最小化するために、変数セルを自動的に調整するツールです。
この仕組みを使い、「対数尤度(log-likelihood)」を最大化するように係数を推定します。

Excelで行う流れは次の通りです。

  • 目的変数(Y)と説明変数(X)を整える
  • ロジット(b₀ + b₁X₁ + b₂X₂)の計算式を設定する
  • 確率を1 / (1 + EXP(−ロジット))で求める
  • 尤度を=Y*LN(p)+(1−Y)*LN(1−p)で計算
  • ソルバーで対数尤度の合計を最大化するように最適化

この手順により、ExcelでもPythonやRの統計モデルと同等の結果を得られます。
小規模データの可視化や教育・検証用途には十分な精度を持っています。

ソルバーを使ったロジスティック回帰の実装手順

H3:データを整える

まず、Excel上で分析に使うデータを準備します。目的変数(Y)は「1=起こる」「0=起こらない」という二値データにしておきます。説明変数(X)は数値化しておく必要があります。たとえば「男性/女性」のようなカテゴリは、ダミー変数(男性=1、女性=0など)に変換します。

次に、すべてのデータの右側に「定数項(1の列)」を追加します。これは回帰式の切片に相当する部分です。Excelシート上では、下のような構成が分かりやすいでしょう。

列名内容
A列Y(結果)0 or 1
B列X1(特徴1)数値
C列X2(特徴2)数値
D列定数項1

この形を整えることで、後の計算式をスムーズに設定できます。


H3:ロジットと確率を計算する

準備したデータをもとに、まずロジット(z値)を求めます。
ロジットとは、説明変数を係数で線形結合したもので、以下のように計算します。

  • ロジット(z)= b₀ + b₁×X₁ + b₂×X₂

Excel上では、次のような数式で表せます。

=($E$2*B2)+($E$3*C2)+$E$4
(ここでE2~E4が係数セルです。初期値として0を入れておきます)

次に、確率(p)を求めます。ロジスティック関数をExcel関数で表すと以下のとおりです。

=1/(1+EXP(-F2))
(F2がロジット値のセル)

これで「各データが1になる確率」が求まります。


H3:対数尤度を作る

確率pが得られたら、モデルの当てはまりを評価するために「対数尤度(log-likelihood)」を計算します。尤度とは「観測データがモデルによってどれほど説明できているか」を示す指標です。
各行で次の式を計算し、全体の合計をとります。

  • 対数尤度 = Y×LN(p) + (1−Y)×LN(1−p)

Excelでは次のように入力します。
=A2*LN(G2)+(1−A2)*LN(1−G2)

最後に、全行の合計を=SUM(H2:H101)のように求めます。
この「合計対数尤度」をソルバーの目的セルとして使用します。


H3:ソルバーを設定して最適化する

ソルバーはExcel上部メニューの「データ」タブから起動します。
もし表示されていない場合は、「アドイン」設定から追加してください。

設定項目は次のとおりです。

  • 目的セル:対数尤度の合計セル
  • 最大化を選択(最尤推定のため)
  • 変数セル:係数b₀, b₁, b₂のセル範囲
  • ソルバーの種類:GRG非線形
  • 制約条件:特になし(初期値を0に設定)

設定後、「実行」を押すとソルバーが自動的に係数を更新し、対数尤度が最大化されます。
正しく設定されていれば、確率列や予測結果が現実的な値に変化します。


H3:結果を確認する

最適化後の係数が求まったら、モデル式が完成です。得られた係数を使って確率列を更新し、判定基準(例:確率が0.5以上なら1、それ以外は0)で分類結果を出します。

  • 判定式の例:=IF(G2>=0.5,1,0)

分類結果を確認することで、モデルがどの程度正しく判別しているかを把握できます。
これでExcel上でのロジスティック回帰の基本実装は完了です。

結果の読み方とオッズ比の解釈

H3:係数の符号と大きさを読み解く

ソルバーで推定した係数は、説明変数が目的変数(1になる確率)にどのような影響を与えるかを示します。符号がプラスであれば確率を上昇させ、マイナスであれば低下させる効果があります。例えば「広告クリック率の予測」で、説明変数X1が「広告表示回数」の場合、係数が正なら「表示回数が増えるほどクリック確率が高くなる」と解釈できます。

ただし、係数自体は「確率をどの程度変えるか」を直接表すものではありません。ロジスティック回帰では確率変化が非線形であるため、数値の大きさはオッズ比で解釈するのが一般的です。


H3:オッズ比を求めて確率変化を理解する

オッズ比とは、「ある変数が1単位増加したとき、事象が起こるオッズ(確率/1−確率)が何倍になるか」を示す指標です。Excelでは、推定した係数をEXP関数で変換して求められます。

  • オッズ比 = EXP(係数)

例として、係数が0.7の場合:
=EXP(0.7) → 約2.01
つまり、変数が1単位増加するごとに、事象が発生するオッズが約2倍になるという意味になります。

この変換をすべての係数に適用し、表として整理すると見やすくなります。

変数名係数(b)オッズ比=EXP(b)解釈の方向
定数項−0.500.61基本確率を下げる傾向
X1(表示回数)0.702.01表示回数が多いほど確率↑
X2(価格)−0.200.82価格が高いほど確率↓

H3:オッズ比の読み方と注意点

オッズ比が1を超えると確率を高め、1未満だと確率を下げる方向に作用します。ただし、値が大きくてもサンプル数が少ない場合や、変数間の相関が強い場合は過大評価になることがあります。
そのため、オッズ比は「影響の方向と相対的な大きさをみる指標」として扱い、絶対的な確率変化と混同しないように注意が必要です。

読み取りのコツ:

  • 係数の符号=効果の方向
  • オッズ比の大きさ=影響の強さ
  • 極端なオッズ比(10倍以上など)はデータの偏りを疑う

モデルの精度を確かめる(混同行列・ROC・AUC)

H3:混同行列で予測結果を確認する

ロジスティック回帰で得られた確率を、0.5を基準に「1(発生)」または「0(非発生)」と分類します。この分類結果と実際の結果を突き合わせることで、モデルがどれだけ正確に予測できたかを把握できます。その際に使うのが「混同行列(confusion matrix)」です。

混同行列では、次の4つの組み合わせを数え上げます。

  • 真陽性(TP):実際1、予測1
  • 偽陽性(FP):実際0、予測1
  • 真陰性(TN):実際0、予測0
  • 偽陰性(FN):実際1、予測0

Excelでは COUNTIFS 関数で求められます。

条件Excel式の例
TP=COUNTIFS(A2:A101,1,I2:I101,1)
FP=COUNTIFS(A2:A101,0,I2:I101,1)
TN=COUNTIFS(A2:A101,0,I2:I101,0)
FN=COUNTIFS(A2:A101,1,I2:I101,0)

これらを表に整理すると、モデルの正答・誤答の傾向が明確になります。

予測1予測0
実際1TPFN
実際0FPTN

H3:精度指標を計算する

混同行列をもとに、モデル全体の性能を数値化します。Excel関数を使って次の指標を求めます。

  • 正解率(Accuracy) = (TP + TN) / (TP + TN + FP + FN)
  • 再現率(Recall) = TP / (TP + FN)
  • 適合率(Precision) = TP / (TP + FP)
  • F1スコア = 2 × (Precision × Recall) / (Precision + Recall)

再現率が高いモデルは「見逃しが少ない」、適合率が高いモデルは「誤判定が少ない」傾向を示します。分析の目的(例:不正検知、購買予測)によって、どの指標を重視するかが変わります。


H3:ROC曲線とAUCで全体性能を評価する

モデルの判定しきい値(0.5など)を変化させたときの性能を可視化するのがROC曲線です。
Excelでも簡易的に描くことができます。

手順は以下のとおりです。

  1. しきい値を0.00〜1.00まで0.05刻みで作成
  2. 各しきい値でTPR(真陽性率)とFPR(偽陽性率)を算出
     - TPR = TP / (TP + FN)
     - FPR = FP / (FP + TN)
  3. TPRを縦軸、FPRを横軸にして散布図を作成(折れ線)
  4. 曲線の下の面積(AUC)を台形近似で計算

AUCが1に近いほど性能が高く、0.5ならランダム予測と同等です。
AUCを求める簡易式の例:
=1 - TRAPZ(FPR列,TPR列)(台形則を実装して近似)


H3:最適なしきい値を見つける

しきい値を固定せず、F1スコアやYouden指数(TPR−FPR)が最大になる値を探すことで、
モデルの目的に合った分類基準を決められます。Excelでは、各しきい値ごとのF1やTPR−FPRを列に並べ、=MAX(F1列) の行に対応するしきい値を「最適」として選びます。

これにより、「0.5固定では得られない、実務的な最適精度」を確認できます。

Excelの限界と次のステップ

H3:Excelでできること

Excelは直感的に操作でき、データ規模が小さければ実務レベルのロジスティック回帰も再現できます。
とくに次のような分析は、十分Excelで完結可能です。

  • 数百件〜数千件程度のデータ
  • 説明変数が10個以下のシンプルなモデル
  • 二値分類(購入/非購入、合格/不合格など)
  • 結果の可視化や係数の解釈までの理解を目的とするケース

Excelの関数だけでモデルの中身を確認できるため、学習教材やレポート分析にも向いています。


H3:Excelでは難しい領域

一方で、データ量が多い、変数が多い、あるいはモデルを自動化したい場合は、Excelの限界が明確になります。主な制約は次の通りです。

制約の内容説明
多変量・高次元変数が多いとソルバーの収束が遅く、不安定になりやすい
欠損値処理関数では自動補完や欠損対応が難しい
正則化過学習を防ぐL1/L2正則化などは非対応
多クラス分類2値以外の分類(例:3カテゴリ)は手動で分ける必要がある
再現性ソルバーの初期値により結果がわずかに変動する場合がある

こうした場合は、Excelを超えて専門ツールへ切り替えるのが現実的です。


H3:次のステップで使えるツール

Excelで基礎を理解したら、より大規模・高精度な分析を行うために、PythonやRへの移行を検討するのがおすすめです。それぞれの特徴を簡単にまとめると次のようになります。

ツール特徴向いている人
Python(scikit-learn)コードが簡潔で自動化が容易。正則化や多クラス分類も対応実務で継続的にモデルを回したい人
R(glm関数)統計分析に特化し、有意性検定やモデル比較が充実学術・研究目的の分析を行う人

PythonやRでは、Excelで行ってきた手順がすべて自動化され、数行のコードで係数推定から評価まで一括実行できます。Excelでの理解を土台にこれらのツールへ進むことで、分析の幅が一気に広がります。


H3:まとめとしての位置づけ

Excelでロジスティック回帰を実装する経験は、分析の「しくみ」を深く理解するうえで非常に有効です。仕組みを手で確かめながら操作することで、モデルの意味や限界が直感的に分かります。
一方で、実務で継続的に予測モデルを運用するには、Excelを卒業してスクリプト言語やBIツールへのステップアップが必要です。

Excelは“学びの最初のステージ”として最適な環境であり、分析思考を磨くための強力な教材と言えるでしょう。

よくある質問(FAQ)

Q1. Excelの「分析ツール」にロジスティック回帰はないの?

A. 分析ツールで実行できるのは「線形回帰」までで、確率を扱うロジスティック回帰は含まれていません。
ただし、ソルバーを使えば最尤推定による係数の最適化が可能です。これにより実質的に同等の分析が行えます。


Q2. ソルバーを実行しても収束しないのはなぜ?

A. 初期値の設定やデータスケールが原因で、最適化がうまく進まないことがあります。
以下の点を見直すと改善しやすいです。

  • 係数セル(b₀, b₁, …)の初期値を0付近に設定する
  • 極端に大きい値や0が多い列はスケーリングする
  • ソルバーのオプションで「反復回数の上限」を増やす

Q3. 確率のしきい値は0.5で固定していいの?

A. 一般的には0.5が基準ですが、実務では目的に応じて調整します。
再現率を重視する場合は低めに、誤判定を減らしたい場合は高めに設定します。
ExcelでF1スコアやYouden指数を使って最適なしきい値を探すと効果的です。


Q4. オッズ比が1未満のときはどう解釈すればいい?

A. 1未満は「その変数が増えると事象が起こりにくくなる」ことを示します。
たとえば「価格」の係数がマイナスでオッズ比0.8なら、価格が1単位上がるごとに購入確率が下がる傾向にある、という意味です。


Q5. アドインを使うと何が変わる?

A. 無料アドイン「Real Statistics」を使えば、ソルバー設定をせずにワンクリックで係数・p値・AUCを算出できます。
ただし、内部処理を理解していないと結果の意味を誤解することもあるため、まずは手動実装を経験しておくと安心です。

まとめ

  • Excelの「ソルバー」でロジスティック回帰を再現できる
  • 尤度を最大化して係数を推定する手順が基本
  • オッズ比で各変数の影響方向と強さを解釈できる
  • 混同行列やROCでモデル精度を数値化できる
  • 多クラス分類や正則化はExcelでは困難
  • PythonやRに移る前の基礎理解として最適

分析をExcelで手動実装することで、機械的なツール操作だけでは得られない「モデルの仕組み」を体感できます。データの意味を考えながら検証する姿勢こそが、統計的思考の第一歩です。

romptn ai厳選のおすすめ無料AIセミナーでは、AIの勉強法に不安を感じている方に向けた内容でオンラインセミナーを開催しています。

AIを使った副業の始め方や、収入を得るまでのロードマップについて解説しているほか、受講者の方には、ここでしか手に入らないおすすめのプロンプト集などの特典もプレゼント中です。

AIについて効率的に学ぶ方法や、業務での活用に関心がある方は、ぜひご参加ください。

\累計受講者10万人突破/