Amarengo

Articles and news

WiDS datathon2020のICUデータを使用したRidgeおよびLasso回帰を使用したロジスティック回帰の正則化アプローチ

データはWIDS datathon2020の一部です。

私はデータを読んで、その次元を見て、要約統計も見て、変数の値がnullの数を調べます。

186列と91713行があります。 データに対してロジスティック回帰分析を実行しますが、最初にいくつかの要約統計を実行し、データの外観とnull行の数、

一部の列にはnull行が多く引用されているため、nullとして70,000行をほぼ超える行があるため、分析からこれらを削除します。

ただし、単純化された方法を使用し、ロジスティック回帰モデルに含めます。null値が3000未満の場合にのみデータをモデルに含めますが、中央値、平均値の置換、回帰ベースの置換など、より洗練されたアプローチも使用できます。 このアプローチは素朴で単純ですが、最初の分析ではこのアプローチを使用します。例の後半では、Ridge回帰、Lasso回帰、Elastic Netなどの正則化アプローチを使用して、変数の数やその影響を減らすのに役立つ正則化にもどのように使用できるかを示します。

null値が3000以下の変数を使用してモデルを実行するため、これらの変数を最初のモデル実行で使用します。

このモデルを実行すると、これらの結果が得られ、最初に見るだけで、0.001レベルで有意ではなく、以下に示すように有意記号を持たない変数が非常に多 フィッシャー反復スコアも非常に高く、11であり、このコアは6-8の範囲にあるべきであり、モデルが有効なものではないことを示しています。 また、ロジスティックモデルのMcfadden R2の二乗を計算し、0の値を示します。5478738,しかし、このような値は、単独で取ることはできません,重要ではないモデルに非常に多くの値がありますように,そして、我々はまた、モデル内にあるより多

マクファデンのR二乗計算

次に、モデルを再実行しますが、下の範囲の一部でp値で有意でない変数を削除し、残りの変数を使用してモデルを再度実行し、次の値を予測します。 モデルの有効性。 これらの変数はモデルから削除され、残りの機能を使用してモデルを再度実行しました。 このアプローチは、本質的に手動であり、単純化されている、我々はまた、同様に前方ステップまたは後方ステップ除去を使用することができます。

p値スコアが非常に低いか有意でないため、モデルから削除された変数は次のとおりでした:-

人種、性別、身長、icu_id、apache_2_diagnosis、apache_3j_diagnosis、apache_post_operative、gcs_verbal_apache、readmission_status
heart_rate_apache、temp_apache d1_diasbp、max-d1_diasbp_min
intubated_apache、d1_mbp_max,d1_mbp_min,d1_mbp_noninvasive_max
d1_mbp_noninvasive_min,d1_resprate_max,d1_resprate_min
d1_sysbp_max,d1_sysbp_min,d1_sysbp_noninvasive_max,d1_sysbp_noninvasive_min,h1_sysbp_max,h1_sysbp_min,aids,リンパ腫

新しいモデルは次のとおりです:-

新しいケースでは、モデルp値が多くの変数でかなり増加していることがわかりますが、Fisher反復はまだ11であり、6と8の間の理想的な範囲よりもわずかに高く、非常に高い値はモデルが収束していない可能性があることを意味します。 A1Cは最後のモデルと同じであるため、これと前のモデルの間では、p値のために他のモデルよりもこのモデルを選択しますが、これは理想的なモデ Mcfadden rの二乗はほぼ同じ範囲にあり、0.5359914の値を示しています。

次に、変数に対してリッジ回帰を実行します。 Glmnet、glmUtils、wraprの下にリストされているようないくつかの追加のライブラリを使用し、最後のモデルのように独立変数と従属変数を保持します。

ここでは、式を設定し、リッジ回帰を実行します。

これらは、私たちが受け取った尾根回帰の結果です。

リッジ回帰は、通常のロジスティック回帰モデルがp値で行うような解釈を与えませんが、これは係数の値がどうなるかを示しており、リッジ回帰は0に近い有意ではない変数の値を減少させますが、0にすべての方法を取ったり、変数を削除したりすることはありません。 これは、モデル内の係数のリストを見るときにも同様に以下に示すことができます。

ここでは、リッジ回帰係数の値は、ほとんど0に近いそれを作ったことがわかります。 これは、以下に示すようにグラフから見ることができます:-

次に、従属変数との強い予測能力を持たないいくつかの変数をゼロにするLasso回帰を実行します。 以前と同じコードを使用し、alphaの値を0から1に変更します。

私たちが得る結果は次のとおりです:-

ここでは、Lasso回帰で多くの値を0に設定し、係数がaを示していることがわかります。

同じデータをグラフ形式で次のように表示することができ、値が0に設定されている多くの変数を示しています。

これは、モデル内の変数の数を減らすことを検討するときに取ることができるいくつかのアプローチの非常に基本的な紹介です。 PCA(Principal component analysis)とElastic net approachを見て、モデルをさらに進めることを検討することができます。 また、モデルの真の価値は、テストデータで実行されているモデルを見ることができるときにのみ表示されます。

コメントを残す

メールアドレスが公開されることはありません。