あなたの分析ソリューション

ExcelでのLassoおよびRidge回帰

14/12/2018

このチュートリアルは、Excel内でXLSTAT-Rエンジンを用いて、Lasso およびRidge 回帰 をセットアップして解釈することを支援します。

Ridge および Lasso 回帰とは何か?

予測変数の数がとても多い場合の回帰では、標準の手法と較べてより正確な係数の推定を提供するために、Ridge および Lasso 回帰手法 が提案されています。Ridge および Lasso は、回帰のコスト関数に正則化項を追加します。この項は、係数の絶対値の合計が増加するにつれて、コスト関数にペナルティを課す。Lassoでは、この項は L1 Norm と呼ばれ、ノルム化係数の合計(|beta|の合計)に比例すす。一方、Ridgeでは、この項は L2 Norm または Thikhonov 正則化 と呼ばれ、係数の2乗の合計(||beta||²の合計)に比例する。 

Ridge 回帰が係数をゼロに設定しなくてもゼロに向かって縮小する傾向があるだけであるのに対して、Lasso はさらにいくつかの係数がヌル値(ゼロ)になるように抑制します。

また、Lasso および Ridge 正則化のそれぞれのいくつかの限界を克服するために、Elastic Net という中間のテクニックが提案されています。Lambdaという調整パラメータを用いて、正則化をコントロールできます。

機械学習では、Lasso および Ridge 正則化は、weight decay(荷重減衰)法とも呼ばれます。
Ridge、Lasso、および Elastic Net はすべて、予測変数の数がオブザベーションまたはケースの数よりも多い場合に使用できます。

XLSTAT-Rで開発された Ridge/Lasso/Elasticnet 関数は、Rのglmnet パッケージのglmnet関数 (Jerome Friedman, Trevor Hastie, Noah Simon, Junyang Qian, Rob Tibshirani)をコールします。

XLSTAT-RでRidge および Lasso 回帰を立ち上げるデータセット

データと結果のExcelシートは、下のボタンをクリックしてダウンロードできます:
データをダウンロード 
データはシミュレーションで、3種類の遺伝子型に属する病気の個人と健康な個人の36個の生物学的サンプルです。各サンプルで、RNあ定量化により1561 個の遺伝子の発現が測定されています。より詳細はこちらにあります。結果の係数のより良い可読性のために、0と1でバイナリ・アウトカムをラベルづけすることが推奨されます。ここでは、健康な患者に 0をラベルづけし、病気の患者に1をラベルづけしています。

ここでの目的は、健康-病気の2項アウトカムに最も影響しそうな遺伝子を識別することです。これは、差次的発現を調査することに相当します。我々は、Lasso 回帰のあとにRidge 回帰を用いて、アウトカムを比較します。

変数(遺伝子)の数がオブザベーション(サンプル)の数よりもはるかに多いので、ここではロジスティック回帰が実行できません。

XLSTAT-RでのLasso回帰のセットアップ

XLSTAT-R / glmnet / Ridge, Elastic net and Lasso GLM(glmnet)を開きます。

一般タブでは、Yフィールドで状態変数 (healthy/diseased) を選択します。

応答はバイナリです。したがって、二項ファミリを選択してください。量的説明変数フィールドで発現データを選択してください。alpha パラメータは、どの種類のぺナルティ化が適用されるかをコントロールします。ゼロがRidgeで、1がLasso、間がElastic Netです。ここでは 1 を設定します。

オプションタブでは、データに標準化を適用するために、標準化が有効になっていることを確認してください。
Lambda 値の数 を100に設定してください。R はlambdaごとに1個のモデルを実行し、 これらの100の値の中でlamdaの最適値を見つけるためにk-fold クロスバリデーションを使用します。

チャートタブでは、すべてのチャートを有効にします。

OK をクリックして分析を実行します。

Lasso 回帰の出力の解釈

まず、逸脱度を最小化するLambdaの値が表示されます:
 
これに続いて、すべての遺伝子に対応する計算された係数:


Lasso正則化は、ほとんどの係数をゼロに設定します。これは、T106.02.など、どの特徴が最も一致するかを判断することを助けます。 我々はバイナリのアウトカムで回帰を実行しているので、係数は log-odds の観点で解釈されるべきです。正の符号は、T106.02 遺伝子が、病気の患者でより多く発現しているようだという事実を反映します(データで病気の患者が 1 でラベルづけされていることを思い出してください)。

X軸上のLog Lambdaを持つ係数プロットは、ペナルティ項Lambda(またはその対数)が増加するにつれて係数減衰を示します。多くの係数が高いLamdaの値でヌル値(ゼロ)に帰着します。チャートの上部の数字は、対応するLog Lamdaの値で残っている係数の数です。

クロスバリデーション・プロットは、Lamdat値に応じたクロスバリデーション逸脱度(または誤差)を示します。最適 lambda は、この関数の最小での lambda 値です。ここでlambda に使用されている対数はネイピアまたは自然対数であることに注意してください。

さあ、これらの出力とRidge 回帰の出力を比較しましょう。

XLSTAT-RでのRidge回帰のセットアップ

glmnet ダイアログボックスに戻って、alpha を 0に設定してください。

OKをクリックしてください。

Ridge 回帰の出力の解釈


Lasso回帰とは異なり、Ridge回帰は各特徴に非ヌル係数を帰属させます。ただし、これらの係数はゼロに向かって縮小されます。 収縮力は正則化パラメータLamdaとともに増大します。これは係数プロットでみることができます:

 

お問い合わせ

販売部門にEメール

当社の技術サポートチームに連絡してください:support@xlstat.com

https://cdn.desk.com/
false
desk
読み込み中
秒前
1 分前
分前
1 時間前
時間前
1 日前
日前
バージョン情報
false
無効な文字が見つかりました
/customer/portal/articles/autocomplete
9283