ダミー変数は統計解析(特に回帰分析)をする際にしばしば必要になるものです。
統計に慣れていないとダミー変数を知らない場合も多いでしょう。
しかしダミー変数は統計解析を実施する予定があるなら絶対知っておいた方がいいです。
解析を実施しようと思った時に、ダミー変数を知らなかったという理由でうまく解析が実施できないことがあるからです。
できればデータを集める前に知っておいてください!
本記事はダミー変数の意味や変換方法、活用法について解説していきます。
研究に役立てていただければ幸いです。
ダミー変数とは?なぜ変換するのか?
まずはダミー変数の概要に関して理解しましょう!
ダミー変数とは
ダミー変数とはカテゴリカルデータを「0」または「1」の数値データに変換した変数のことです。
たとえば「男性」と「女性」の二種類があるデータをダミー変数に変換すると、「男性→0」「女性→1」となります。(「男性→1」「女性→0」でもいいですよ。)
統計解析をする前に”疾患の有無”や”自宅退院か転院か”といった2値のカテゴリカルデータなどをダミー変数に変換する必要がある場合はしばしばあります。
ダミー変数は非常に重要な役割を持っていますが、
「なぜいちいちダミー変数に変換するの?」
「カテゴリカルデータのままじゃだめなの?」
といった疑問を持つ方も多いのではないでしょうか。
ここからはダミー変数に変換する意味を解説していきますね。
ダミー変数に変換する意味
ダミー変数に変換する最大の目的は、統計解析を実施できるようにするためです。
重回帰分析やロジスティック回帰分析などの多変量解析で、カテゴリカルデータだとエラーが出てしまうことがあるからです。
今では、カテゴリカルデータのままでも自動でダミー変数化してくれる優秀な統計ソフトがほとんどですが、統計ソフトによってはカテゴリカルデータのままだとエラーになります。
つまりカテゴリカルデータをそのまま多変量解析の説明変数や目的変数に加えることはできない場面があるんです。
カテゴリカルデータを解析したい場合、それだと困りますよね。
そこでカテゴリカルデータを数値にするためにダミー変数に変換してやればいい、というわけです。
ちなみにダミー変数の状態だと全体の平均値をみるだけでデータの比率が分かるというメリットもあります。
たとえば男性→0、女性→1のダミー変数の平均値が0.56の場合、女性の割合は56%ということが一発でわかります。
いちいちクロス集計表にして数えるより楽ですよね。
解析を実施するなら、カテゴリカルデータはダミー変数化しておいたほうが基本的に都合の良いことが多いです。
エクセルでダミー変数に変換する方法
エクセルのIF関数を使えば簡単にダミー変数に変換することができます。
IF関数の使い方の基本は以下のようになります。
=IF(“式”,”式に当てはまる場合に入力する値”,”式に当てはまらない場合に入力する値”)
先ほどの男性を0、女性を1に変換したい場合は以下のような式になります。(EXCELのA列にデータがあるとします)
=IF(A1=”女性”,1,0)
後は他のマスにもこの式をドラッグしてあげればいいだけです。
カテゴリカルデータがたくさんある場合は大変ですが、解析前に全てダミー変数に変換しておきましょう。
ダミー変数に変換する手間をなくす方法
実はダミー変数に変換する手間をなくす方法があります。
それは、データを入力する時点で最初からダミー変数化して入力しておくことです。
先ほどの例で言えば、エクセルに性別を入力する時点で最初から0か1で入力しておけばいいんです。
ただしどっちが0でどっちが1だったか忘れないように、どこかにメモは残しておきましょう。
ほとんどの研究者は後でダミー変数にする面倒臭さを知っているので、最初からダミー変数にしています。
解析を楽にする小技ですので、ぜひ覚えておいてくださいね。
3つ以上のカテゴリカルデータの時もダミー変数に変換していい?
以上までは、2値のカテゴリカルデータに関して述べてきました。
では、3つ以上のカテゴリカルデータについてはどうなのでしょうか??
3つ以上のカテゴリカルデータはダミー変数に変換できるのか
結論から言えば、3つ以上のカテゴリカルデータでもダミー変数に変換できます。
でも0と1しか使わずに3つ以上のデータをどうやって表現すればよいのでしょうか?
実は変数の数を増やせばどんなカテゴリカルデータでもダミー変数にすることができます。
どのようにダミー変数に変換するのか、簡単な例を使ってみていきましょう。
3つ以上のカテゴリカルデータをダミー変数に変換する方法
例えば血液型をダミー変数に変換してみると、以下のようになります。
4種類の変数であれば、このように4列のダミー変数として表現することができます。
この場合も各変数の平均値をみれば、その変数が何%いるのかすぐに分かります。
この例だとA型の列の平均値は0.125ですので、A型の人が12.5%いることがわかりました。
ここまでは簡単ですね。
ただし3つ以上のカテゴリカルデータをダミー変数にした時は、これらを全て説明変数に加えて重回帰分析にかけてはいけません。
どういうことでしょうか?
ダミー変数を用いた回帰分析での注意点
3つ以上のカテゴリカルデータのダミー変数は、1つだけ変数を減らした状態で回帰分析を実施しなければなりません。
先ほどの血液型の例で言えば、AB型(何型でもOKです)の列を加えずにA型、B型、O型の列だけ説明変数に加えて解析を行います。
なぜ全て加えてはいけないのでしょうか?
全てのダミー変数を使うと、多重共線性の問題が出てきてしまうからです。
多重共線性の問題とは、関連の強すぎる変数同士を説明変数に加えると、正しく解析できないという問題のことです。
今回の例だとAB型のダミー変数は他の血液型のダミー変数と密接な関連があります。
他の変数に1が含まれればAB型は必ず0となりますし、他の変数が全て0であればAB型は必ず1となるからです。
このように他のダミー変数(A型、B型、O型)と強烈な関連を持つAB型は説明変数に含むことはできません。
しかし一つでも列を減らせば多重共線性の問題が緩和されるため、解析ができるというわけです。
そのため3つ以上のカテゴリカルデータのダミー変数を説明変数に加えるときは、一つ変数を減らしてから加えるようにしましょう。
減らす変数は何でも良いですが、一番興味のないものや比率の少ないものを抜くことが多いです。
多重共線性について詳しく知らたい方はこちらの記事をご覧ください。
ダミー変数を用いた回帰分析結果の解釈例
では実際にダミー変数を用いた解析を、具体例を用いて説明していきますね。
分析目的
ある病院で”患者の在院日数に影響する因子を検討すること”になったとしましょう。
因子の候補は”年齢”と”性別”、”手術の有無”です。
実際はもっとたくさんの因子を見ないといけないのですが、あくまで例ですので3つまでにしておきます。
このような形でたくさんのデータがあります。
本来であればすぐに重回帰分析を行いたいところですが、性別と手術の有無がカテゴリカルデータのままですので、このまま解析にかけることはできません。
ダミー変数への変換
先ほどご紹介した方法で、性別と手術の有無をダミー変数に変換しました。
これで重回帰分析を行う準備ができました。
目的変数を在院日数、説明変数を年齢、性別、手術の有無として解析にかけてみましょう。
結果の解釈
解析の結果、以下のようになりました。
実際に解析にかけると本当はもっといろいろな情報が出てきます。
しかし今回はダミー変数を重回帰分析に使用したときの結果の解釈方法について解説したいだけなので、必要な情報だけにしました。
この結果から以下の情報が読み取れます。
- 有意水準を5%とした時、在院日数に関連するのは年齢と手術の有無
- 年齢が1歳上がると在院日数が1.4日伸びる
- 手術を受けている患者は、受けていない患者に比べて12.6日在院日数が長くなる
いかがでしょうか?
回帰係数はその説明変数が1増えると目的変数がいくつ変化するかを示しています。
そのためダミー変数もその説明変数が1になると(今回は手術を受けた人を1と表現しました)、目的変数が回帰係数の分だけ変化することを示します。
今回の例では手術の有無の回帰係数が12.6でしたので、以上のような解釈になりました。
まとめ
最後におさらいをしましょう。
- ダミー変数とはカテゴリカルデータを「0」または「1」の数値データに変換した変数のこと
- 重回帰分析などの多変量解析にかける際にダミー変数の方が都合が良い
- EXCELでダミー変数に変換するときはIF関数が便利
- 3つ以上のカテゴリカルデータでもダミー変数に変換できる
記事の中でもお話しましたが、研究の際はデータを最初に入力する時からダミー変数にしておくことをおすすめします。
その方が圧倒的に便利な場面が多いからです。
これから解析をかける予定のある方はぜひ覚えておいてくださいね!
最後までお読みいただきありがとうございました。
コメント