ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ダミー指標変数

ダミー変数とは

回帰解析の実行時には、一般的に連続およびカテゴリカル (量的および質的) 予測子変数の両方を使用します。カテゴリカル独立変数を使用する場合、変数の入力に数値配列を回避しなければなりません。数値配列には順序と大きさがあります。カテゴリカル変数には順序がありますが (順序変数などの場合)、大きさはありません。数値配列を使用すると、カテゴリ間に既知の "距離" があると想定されてしまいます。

カテゴリカル予測子はダミー指標変数として使用するのが適切です。指標変数の値は 0 または 1 になります。c 個のカテゴリがあるカテゴリカル変数は c - 1 個の指標変数で表すことができます。

たとえば、{Small,Medium,Large} というレベルがあるカテゴリカル変数を考えてみます。この変数は、次の図のように 2 つのダミー変数で表すことができます。

この例では、X1 はダミー変数で、Medium グループに対しては値が 1 で、それ以外については値が 0 です。X2 もダミー変数で、Large グループに対しては値が 1 で、それ以外については値が 0 です。この 2 つの変数を組み合わせて 3 つのカテゴリが表されています。Small グループの観測については、どちらのダミー変数も値が 0 になっています。

すべての変数の値が 0 で表されるカテゴリは "基準グループ" と呼ばれています。回帰モデルでダミー変数を使用する場合、ダミー変数の係数は基準グループに基づいて解釈されます。

ダミー変数の作成

ダミー変数の自動作成

ほとんどの分類近似関数と回帰近似関数はカテゴリカル予測子を受け入れます。

  • 予測子データが table 内にあり、この table に logical 値、categorical 値、string 配列、または文字ベクトルの cell 配列が格納されている場合、変数はカテゴリカルであると見なされます。

  • 予測子データが行列の場合、すべての予測子が連続的であると見なされます。カテゴリカル予測子を指定するには、名前と値のペアの引数 'CategoricalPredictors' または 'CategoricalVars' を使用します。

fitlmfitglm などのパラメトリック回帰近似関数では、一意なレベルが categorical 配列内に c 個ある場合、カテゴリカル予測子の係数が c – 1 個推定されます。

ダミー変数の手動作成

独自のダミー変数計画行列を作成するには、dummyvar を使用します。この関数では数値または categorical 列ベクトルを受け取り、指標変数の行列が返されます。ダミー変数計画行列の列は各グループを表し、行は各観測を表します。

たとえば、以下のようにします。

gender = nominal({'Male';'Female';'Female';'Male';'Female'});
dv = dummyvar(gender)
dv =

     0     1
     1     0
     1     0
     0     1
     1     0
行数は gender の行数と同じ 5 行です。また、列数は、一意のグループ FemaleMale に対応して 2 列です。列の順序は gender のレベルの順序に対応しています。ノミナル配列の場合、既定の順序はアルファベットの昇順です。

このようなダミー変数を回帰モデルで使用するには、いずれかの列を削除する (基準グループを作成する) か、切片の項を使用せずに回帰モデルを近似しなければなりません。この例では、2 つの性別を表すのに必要なダミー変数は 1 つだけです。完成している計画行列 dv に切片の項を追加するとどうなるか見てみましょう。

X = [ones(5,1) dv]
X =

     1     0     1
     1     1     0
     1     1     0
     1     0     1
     1     1     0
rank(X)
ans =

     2
切片の項がある計画行列はフル ランクではなく、可逆になりません。このような線形依存性が存在するため、切片の項がある回帰モデルで c 個のカテゴリがある場合、カテゴリカル変数は c - 1 個の指標変数で表します。

参考

| | |

関連するトピック