この記事でわかること
- ライン名や機種などの質的データをダミー変数で回帰に入れる方法
- ダミー係数の読み方(基準カテゴリとの差)と、3カテゴリ以上の扱い方
- ダミー変数トラップの回避と、ExcelのIF関数での作り方
📌 前提知識:回帰分析のやり方と結果の見方を読んでいると理解しやすくなります
加工温度から製品の引張強度を予測する回帰式を作ったとします。ある程度は説明できたものの、残差を見るとどうも製造ラインごとにクセがある。ラインAとラインBで、同じ温度でも強度が違うようなのです。
「ラインの違いも式に入れたい」。ところがラインは温度のような数値ではありません。文字で書かれた質的なデータを、回帰分析はそのままでは受け付けてくれません。
ここで使うのがダミー変数です。質的なデータを0と1の数値に置き換えて、回帰の説明変数として扱えるようにする手法です。この記事では、ダミー変数の作り方と係数の読み方を、製造ラインの例題で解説します。
ダミー変数を使う場面
ダミー変数は、次のような質的な要因を回帰分析に取り込みたいときに使います。
- 2つの区分:ラインA/ライン B、昼勤/夜勤、新設備/旧設備、合格/不合格の原因側など
- 3つ以上の区分:機種X/Y/Z、工場①/②/③、材料メーカーA/B/Cなど
ポイントは、これらが「大小や順序を持たない区分」だということです。ラインAとラインBに数値的な上下はありません。こうした名義データを、0か1のフラグに変換して回帰に入れます。
なお、予測したい結果(目的変数y)のほうが「合格/不合格」のような2値の場合は、ダミー変数ではなくロジスティック回帰分析を使います。ダミー変数は、あくまで説明変数x側が質的なときの手法です。
ダミー変数とは|質的データを0と1にする
ダミー変数は、あるカテゴリに当てはまるかどうかを1(当てはまる)と0(当てはまらない)で表す変数です。
たとえば「ラインB」というダミー変数を作るとします。その製品がラインB製なら1、そうでなければ0とします。ラインが2つ(AとB)だけなら、この1本のダミー変数で両方を区別できます。ダミーが0ならライン A、1ならラインB、というわけです。
ここで大事なのが基準カテゴリという考え方です。ダミーを「ラインB」で作ると、ラインAはすべてのダミーが0のグループです。この0で表される側(ラインA)を基準カテゴリと呼び、後で見る係数は「基準カテゴリと比べてどうか」を表します。
例題|加工温度とラインで引張強度を予測する
加工温度(連続変数)と製造ライン(質的変数・AとBの2区分)から、引張強度を予測する重回帰分析を考えます。ラインはダミー変数 \(D_B\)(ラインBなら1、ラインAなら0)で表します。得られた回帰式が次だったとします。
\[\text{引張強度} = 400 + 0.5 \times \text{加工温度} + 12 \times D_B\]
回帰の実行手順そのものは、ダミー変数の列を普通の説明変数と同じようにX範囲へ含めるだけです。詳しくは回帰分析のやり方と結果の見方をご覧ください。
この式に加工温度170℃を入れて、ライン別に予測してみます。
- ラインA(\(D_B=0\)):400 + 0.5×170 + 12×0 = 485 MPa
- ラインB(\(D_B=1\)):400 + 0.5×170 + 12×1 = 497 MPa
差は12MPa。これがダミー変数の係数12そのものです。つまりダミー係数は「基準カテゴリ(ラインA)と比べたときの差」を表します。この式の読み方はこうなります。
- 加工温度を1℃上げると、強度は平均0.5MPa上がる(ラインは共通)
- 同じ温度なら、ラインBはラインAより平均12MPa高い
係数そのものの一般的な読み方(符号・単位・他の変数を一定に保つ意味)は、回帰係数の基本と同じです。連続変数の係数の解釈とあわせて理解しておくと迷いません。
3カテゴリ以上とダミー変数トラップ
ラインが3つ(A・B・C)になったらどうするか。ここでよくある誤りが「A用・B用・C用の3本のダミーを作る」ことです。これはやってはいけません。
正しくは、カテゴリ数より1本少ないダミーを作ります。3カテゴリなら2本です。ラインAを基準にして、\(D_B\)(ラインBなら1)と \(D_C\)(ラインCなら1)の2本を用意します。ラインAは両方とも0で表現されます。
| ライン | D_B | D_C |
|---|---|---|
| A(基準) | 0 | 0 |
| B | 1 | 0 |
| C | 0 | 1 |
回帰式が \(\text{引張強度} = 400 + 0.5 \times \text{加工温度} + 12 \times D_B – 8 \times D_C\) だったとすると、読み方はこうです。
- ラインBはラインA(基準)より平均12MPa高い
- ラインCはラインAより平均8MPa低い
- したがってラインBとラインCの差は、12 −(−8)=20MPa
なぜ3本にしてはいけないのか。カテゴリの数だけダミーを作ると、「D_A + D_B + D_C は必ず1」という関係が生まれ、切片と完全に重なってしまいます。この状態をダミー変数トラップと呼びます。説明変数どうしが完全に連動する多重共線性そのもので、回帰計算が不安定化します。1本落として基準カテゴリを作ることで、これを避けます。
ちなみに、説明変数が質的なもの1つだけ(連続変数なし)のダミー回帰は、一元配置分散分析と数学的に一致します。連続変数も一緒に扱えるのが回帰分析の強みです。
Excelでダミー変数を作る
ダミー変数の列は、ExcelならIF関数で一発で作れます。ライン名がA列に入っているとして、B列にラインBのダミーを作るなら次のとおりです。
=IF(A2="B",1,0)
A2がBならIFが1を返し、それ以外は0を返します。3カテゴリなら、もう1列にラインCのダミーを追加します。
=IF(A2="C",1,0)
基準にするライン(この例ではA)のダミー列は作りません。作ってしまうとダミー変数トラップに陥ります。あとは、作った0/1の列を加工温度の列と一緒に「入力X範囲」へ指定して回帰分析を実行するだけです。複数の説明変数を扱う手順は重回帰分析の結果の読み方と変数選択で解説しています。
まとめ
- ダミー変数は、質的データを0と1に変換して回帰の説明変数にする手法
- 2カテゴリはダミー1本。kカテゴリはk−1本を作り、残り1つを基準カテゴリにする
- ダミー係数は「基準カテゴリとの差」を表す
- カテゴリ数だけダミーを作ると多重共線性(ダミー変数トラップ)。必ず1本落とす
- Excelでは
=IF(セル="カテゴリ名",1,0)で作成できる
数値でない要因も、ダミー変数を使えば回帰分析にそのまま組み込めます。説明変数x側が質的ならダミー変数、目的変数y側が2値ならロジスティック回帰、という使い分けを押さえておきましょう。回帰式そのものの作り方は回帰分析のやり方と結果の見方で確認できます。さらに体系的に学びたい方向けに、レベル別のおすすめ書籍を統計学・実験計画法のおすすめ本まとめで紹介しています。

