ホームページ >バックエンド開発 >Python チュートリアル >Python を使用した回帰における多重共線性の問題の検出と処理

Python を使用した回帰における多重共線性の問題の検出と処理

王林
王林転載
2023-08-18 15:05:201758ブラウズ

多重共線性とは、回帰モデル内の独立変数間の高度な相互相関を指します。これにより、モデル内の係数が不正確になり、従属変数に対するさまざまな独立変数の影響を判断することが困難になる可能性があります。この場合、回帰モデルの多重共線性を特定して対処し、さまざまな手順とその出力を組み合わせる必要があります。これについては、順を追って説明します。

###方法###

    多重共線性の検出
  • 多重共線性への対処
  • ###アルゴリズム###
ステップ 1

- 必要なライブラリをインポートします

ステップ 2 - データを pandas データフレームにロードする

ステップ 3 - 予測子変数を使用して相関行列を作成する

ステップ 4 -相関行列のヒート マップを作成して相関関係を視覚化します

ステップ 5 - 出力の各予測子の分散膨張係数を計算します

ステップ 6 - 予測変数を決定する

ステップ 7 - 予測子を削除する必要があります

ステップ 8 - 回帰モデルを再実行します

ステップ 9 - もう一度確認します。

方法 1: 多重共線性の検出 pandas パッケージの corr() 関数を使用して、独立変数の相関行列を決定します。 seaborn ライブラリを使用してヒート マップを生成し、相関行列を表示します。 statsmodels パッケージの variance_inflation_factor() 関数を使用して、各独立変数の分散膨張係数 (VIF) を決定します。 VIF が 5 または 10 より大きい場合は、多重共線性が高いことを示します。

Example-1

の中国語訳は次のとおりです:

Example-1

このコードでは、データが Pandas DataFrame に読み込まれると、予測子変数 X と従属変数 y が分離されます。各予測子変数の VIF を計算するには、statsmodels パッケージのvariation_inflation_factor() 関数を使用します。プロセスの最後のステップでは、VIF 値を予測子の名前とともに新しい Pandas DataFrame に保存し、結果を表示します。このコードを使用すると、各予測子変数の変数名と VIF 値を含むテーブルが生成されます。変数の VIF 値が高い場合 (状況に応じて 5 または 10 以上)、変数をさらに分析することが重要です。

リーリー ###出力### リーリー

方法 2: 多重共線性への対処

モデル内の 1 つ以上の相関の強い独立変数を除外します。主成分分析 (PCA) を使用すると、相関性の高い独立変数を 1 つの変数に結合できます。リッジ回帰やラッソ回帰などの正則化手法を使用すると、相関の強い独立変数がモデル係数に及ぼす影響を軽減できます。上記のアプローチを使用すると、次のコード例を使用して多重共線性の問題を特定して解決できます。 -

リーリー

この関数は、各独立変数の VIF 値を出力する以外の出力を生成しません。このコードを実行すると、各独立変数の VIF 値のみが出力され、グラフやモデルのパフォーマンスは出力されません。

この例では、最初にデータが pandas DataFrame にロードされ、次に相関行列が計算され、最後にヒート マップが作成されて相関行列が表示されます。次に、各独立変数の VIF をテストした後、相関性の高い独立因子を削除しました。リッジ回帰を使用して、相関性の高い独立変数がモデル係数に及ぼす影響を軽減し、主成分分析を使用して、相関性の高い独立変数を 1 つの変数に結合しました。

リーリー ###出力### リーリー

Pandas パッケージを使用すると、この Python プログラムを通じて DataFrame と呼ばれる配列データ構造を生成できます。具体的なディメンションには、アシスト、リバウンド、ポイント、評価の 4 つの異なる列が含まれます。ライブラリはコードの先頭でインポートされ、複雑さを軽減するためにその後は「pd」と呼ばれます。データフレームは、コードの 2 行目の pd.DataFrame() メソッドを実行することによって最終的に構築されます。

コードの 3 行目で print() メソッドを使用して、DataFrame をコンソールに出力します。各列の値はリストの定義を形成し、辞書入力関数のキーと値として機能します。各プレーヤーの情報は表形式で表示され、得点、アシスト、リバウンドなどの統計が列に配置され、各行がプレーヤーを表します。

###結論は###

要約すると、モデル内の 2 つ以上の予測変数が互いに強い相関がある場合、これは多重共線性と呼ばれます。この状況では、モデルの結果の解釈が困難になる可能性があります。この場合、それぞれの一意の予測変数が結果変数にどのような影響を与えるかを判断するのは困難です。

以上がPython を使用した回帰における多重共線性の問題の検出と処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。