Dummy Coding
Dummy Coding タブでは、カテゴリ変数(名義尺度・順序尺度)を数値のダミー変数(0/1)に変換します。回帰分析や GLM にカテゴリ変数を組み込むための前処理です。
基本的な使い方
Dummy Coding を開く
メニューバーから Data > Dummy Coding... を選択すると、新しい Dummy Coding タブが開きます。
変換を設定する
- Dataset ドロップダウンで変換対象のデータセットを選択
- 列の設定テーブルで各列の Scale と Action を設定
- Encoding Preview セクションで変換内容を確認
- Create Dataset をクリック
- データセット名を入力して OK をクリック
このページで使用するデータ
この説明では、5人のアンケートデータ(survey.csv)を使用します。blood_type と education がカテゴリ変数です。
| name | age | blood_type | education |
|---|---|---|---|
| Alice | 28 | A | college |
| Bob | 35 | B | graduate |
| Carol | 42 | O | college |
| Dave | 31 | A | high_school |
| Eve | 26 | AB | graduate |
列の設定
Scale(測定尺度)
| 尺度 | 説明 | ダミー変数への変換 |
|---|---|---|
| nominal | 名義尺度 | 可能 |
| ordinal | 順序尺度 | 可能 |
| interval | 間隔尺度 | 不可(数値としてそのまま使用) |
| ratio | 比率尺度 | 不可(数値としてそのまま使用) |
Scale はドロップダウンで変更できます。
Action(アクション)
| アクション | 説明 |
|---|---|
| Not included | 出力データセットから除外する |
| Include as-is | 列をそのまま出力に含める |
| Dummy code | ダミー変数に変換する(元の列は除外) |
| Dummy code (keep original) | ダミー変数に変換し、元の列も保持する |
Dummy code / Dummy code (keep original) はカテゴリ変数(nominal / ordinal)にのみ選択可能です。boolean 型の列は対象外です。
変換の仕組み
k 個のカテゴリから k-1 個のダミー変数を生成し、1つのカテゴリを参照カテゴリ(reference category)として省略します1。
- カテゴリのユニーク値を抽出します
- アルファベット順にソートします
- 最初のカテゴリを参照カテゴリとして除外します
- 残りの k-1 個のカテゴリに対してダミー変数を生成します
- 該当するカテゴリの行は1、それ以外は0になります
変換例
blood_type 列(ユニーク値: A, AB, B, O)を変換する場合:
- 参照カテゴリ:
A(アルファベット順で最初) - 生成されるダミー変数:
blood_type_AB、blood_type_B、blood_type_O
| blood_type | blood_type_AB | blood_type_B | blood_type_O |
|---|---|---|---|
| A | 0 | 0 | 0 |
| B | 0 | 1 | 0 |
| O | 0 | 0 | 1 |
| A | 0 | 0 | 0 |
| AB | 1 | 0 | 0 |
参照カテゴリ A の行はすべてのダミー変数が0になります。
出力データセット
上のサンプルデータで name を Not included、age を Include as-is、blood_type と education を Dummy code に設定した場合の出力です。
| age | blood_type_AB | blood_type_B | blood_type_O | education_graduate | education_high_school |
|---|---|---|---|---|---|
| 28 | 0 | 0 | 0 | 0 | 0 |
| 35 | 0 | 1 | 0 | 1 | 0 |
| 42 | 0 | 0 | 1 | 0 | 0 |
| 31 | 0 | 0 | 0 | 0 | 1 |
| 26 | 1 | 0 | 0 | 1 | 0 |
blood_type(4カテゴリ)から3つ、education(3カテゴリ: college, graduate, high_school、参照: college)から2つのダミー変数が生成されています。列名は {元の列名}_{カテゴリ名} の形式で、データ型は int64(0または1)です。行数は元のデータセットと同じです。元のデータセットは変更されず、新しい派生データセットとして保存されます。
注意事項
参照カテゴリはアルファベット順で最初のカテゴリに固定され、手動では選択できません。欠損値はダミー変数でもそのまま欠損値として保持され、ユニーク値のカウントには含まれません。ユニーク値が1つしかない列はダミー変数に変換できません。boolean 型の列は既に 0/1 に相当するため、Include as-is を選択してそのまま使用できます。
Next steps
- 線形回帰分析 - ダミー変数を使用した回帰分析
- 一般化線形モデル(GLM) - ダミー変数を使用した GLM
See also
- 列の型変換 - データ型の変換
脚注
-
k 個すべてのダミー変数を作ると切片項と線形従属になるため、1つ省略して k-1 個にします。 ↩