VIF(分散膨張係数)の使い方と解釈
目次
- 紹介
- VIFとは何ですか?
- VIFの使用方法
- VIFを使ったデータサイエンスのインタビュー
- Rスクエアについて
- 数学の基礎
- 分散膨張係数(VIF)とは何ですか?
- VIFの計算方法
- VIFの解釈
- VIFの閾値と変数の削除
VIF(分散膨張係数)について知ろう!📊
データサイエンスの皆さん、こんにちは!私の名前はアマンです。前にマルチコリニアリティというトピックについてのビデオを公開しました。しかし、いくつかのフィードバックをいただきまして、「アマン、あなたはそのビデオで一つのトピックを見逃したよ。それはVIF(分散膨張係数)というトピックだよ」というコメントをいくつかいただきました。まずは皆さんに大きな感謝を申し上げたいと思います。このようなコメントを書いていただけると、私には自信が湧きます。皆さんが私の教えようとしていることを学んでいること、アンフォールドデータサイエンスの旅を一緒に進めていることを感じることができるからです。本当にありがとうございます!
このビデオでは、VIFについて非常に簡単な言葉で理解し、その使い方、使用する場所、そしてデータサイエンスのインタビューでVIFについて話す方法を理解します。それでは、広告なしで進んでいきましょう。
1. 紹介
まず初めに、VIF(分散膨張係数)の意味についてお話ししましょう。ここで最も重要なキーワードは「分散」です。分散は、私たちが回帰モデルや他のモデルをフィットする際にデータの分散を捉えようとすることです。データの分散を捉えることができれば、データのパターンを学ぶことができます。これが高レベルでの説明です。
2. VIFとは何ですか?
VIFを理解するためには、2つのことを理解する必要があります。まず一つ目は「Rスクエア」です。Rスクエアは、モデルの良さを示す測定指標です。0から1の範囲で表され、値が1に近いほどモデルは良いと言えます。逆に、1から離れるほどモデルは悪いと言えるでしょう。そのため、Rスクエアはモデルの正確さを示します。Rスクエアに関しては、「[Link to Video]」をご覧いただくことを強くお勧めします。Rスクエアは非常に重要な基本的なトピックですし、面接でRスクエアを適切に説明できないと、良い印象を与えることができないかもしれませんので、詳しく理解しておくことをお勧めします。
二つ目は、簡単な数学です。具体的には、「xをyで割った場合に、xを保ったままxを増やすと何が起こるか」ということを理解する必要があります。簡単な数学の基本ですね。たとえば、xを定数にしてyを増やすと、この数式全体は減少します。逆に、xを定数にしてyを増やすと、この数式全体は増加します。非常にシンプルな数学の原理です。
3. 分散膨張係数(VIF)とは何ですか?
ここで、分散膨張係数(VIF)について説明します。VIFとは、データ内の変数が他の変数とどの程度相関しているかを知るための尺度または測定です。具体的な例を挙げましょう。例えば、以下のようなデータがあるとします。このデータには、ある会社の従業員のデータがあります。一つの列には年齢、もう一つの列には経験年数、そして性別、目標変数としては給与があります。
このようなデータでは、各変数間の相関を見る必要があります。相関行列の形で表示されることが一般的です。一方にはx1、x2、x3があるので、こちらにもx1、x2、x3があります。この相関行列では、x1とx1の相関は常に1になります。x1とx2の相関は0.9のような数値になります。これが相関行列の見え方です。ここで、数値が高いものを見て、変数を削除する必要があります。
ただし、注意していただきたいのは、常に他の変数との相関だということです。例えば、x1とx2の相関を見ると、x3とx2の相関関係を見ることもできます。しかし、もしもx1が他のすべての変数とどのように関連しているのか知りたい場合は、それに対する答えはVIFです。つまり、x1が他の9つの変数とどのように関連しているか知りたい場合には、VIFを利用します。
一つの独立変数を取り出し、その変数をターゲット変数として扱い、他の変数を独立変数とする回帰モデルをフィットさせるだけです。すると、Rスクエアが得られるはずです。そして、そのRスクエアの値をVIFの公式に代入します。VIFの式は「1 / (1 - Rスクエア)」です。つまり、明日誰かが「変数x1のVIFは何ですか?」と聞いた場合、この回帰モデルからRスクエアを取り出してVIFの式に代入すれば良いのです。
では、次に2つのシナリオを考えてみましょう。まず一つ目のシナリオは、Rスクエアが非常に高い場合です。Rスクエアが高い場合、分子は高いのか低いのか、教えてください。Rスクエアが高い場合、分子は高くなるか低くなるかを教えてください。
Rスクエアが高い場合、分子の値が大きくなり、したがって分母は低くなります。分母が低い場合、この全体の数値にどのような影響がありますか?
この値は大きくなるでしょう。
次に、Rスクエアが比較的低い場合を考えましょう。たとえば、0.45の場合です。
この場合、分母が大きくなるため、全体の値は低くなるでしょう。ここでは、分子は常に一定です。
では、簡単な話し方をする必要があります。Rスクエアが高いモデルに対しては、VIFの値が高くなるでしょう。たとえば、Rスクエアの値が0.9であれば、VIFは高くなるでしょう。一方、Rスクエアが0.7である場合、VIFは低くなるでしょう。
したがって、データ内のすべての独立変数に対してVIFの数値を計算し、一斉に出力します。変数x1に対するVIFは6、変数x2に対するVIFは10、変数x3に対するVIFは2.1、変数x4に対するVIFは5.6、というような出力結果を得ることができるでしょう。
一般的に、VIFの閾値としては5を使用します。つまり、VIFの値が5を超える変数は分析やモデルトレーニングから削除されます。
VIFが高い場合、つまり、他の変数が既にその変数を説明している場合、この変数を削除する必要があると言えます。明日、面接でVIFについて質問された場合、このように説明する必要があります。もしあなたが質問があれば、コメントでお知らせください。次のビデオでお会いしましょう。それでは、どこにいても安全に過ごしましょう。お元気で!