Amarengo

Articles and news

例による投げ縄回帰のクイックチュートリアル

投げ縄回帰は最小絶対収縮と選択演算子の略です。 このアルゴリズムは、リッジ回帰と同じように、線形回帰の別のバリエーションです。 多数の予測子変数がある場合は、lasso回帰を使用します。

概要–Lasso回帰

Lasso回帰は、L1正則化を実行する節減モデルです。 L1正則化は、回帰係数の絶対値に相当するペナルティを加算し、それらを最小化しようとします。 Lassoの方程式はリッジ回帰に似ており、以下のようになります。

 LS Obj + λ (sum of the absolute values of coefficients)

ここでの目的は次のとおりです。
λ=0の場合、線形回帰と同じ係数が得られます
λ=varyが大きい場合、すべての係数はゼロに向かって縮小されます

二つのモデル、lassoとridge回帰は、互いにほぼ類似しています。 ただし、lassoでは、大きな分散の原因となる係数はゼロに変換されます。 一方、係数は縮小されるだけですが、リッジ回帰ではゼロになることはありません。

Lasso回帰分析は、モデルがいくつかの変数の係数をゼロに向かって縮小するように強制するため、変数選択にも使用されます。

変数の数が多いとはどういう意味ですか?

  1. ここでの数値が大きいことは、モデルがオーバーフィットする傾向があることを意味します。 理論的には、最小10個の変数が過剰適合の問題を引き起こす可能性があります。
  2. n個の変数が存在するために計算上の課題に直面したとき。 しかし、今日のシステムの処理能力を考えると、この状況はめったに発生しません。

次の図は、OLS回帰とlasso回帰を比較した視覚的な解釈です。

投げ縄は、それらの間の相関関係を示す変数を扱うのがあまり得意ではないため、非常に野生の動作を示すことがあります。

Lasso回帰モデルのトレーニング

lasso回帰モデルのトレーニングは、リッジ回帰のトレーニングとまったく同じです。 最適なラムダ値を特定し、その値を使用してモデルを訓練する必要があります。 これを実現するには、同じglmnet関数を使用してalpha = 1引数を渡すことができます。 alpha = 0を渡すと、glmnet()はリッジ回帰を実行し、alpha = 0.5を渡すと、glmnetは弾性ネットと呼ばれる別の種類のモデルを実行し、リッジ回帰と投げ縄回帰の組み合わせです。

  1. cv.glmnet()関数を使用して最適なラムダ値を特定します
  2. 最良のラムダと最良のモデルを抽出します
  3. glmnet()関数を使用してモデルを再構築します
  4. predict関数を使用して将来のデータの値を予測します

この例では、

この例では、

この例では、

この例では、

この例では、

swiss1888年の社会経済指標に基づいて出生率を予測するデータセット。

Updated-いくつかの変数名を修正するためにコードスニペットが更新されました– 28/05/2020

# Output 0.3981072

この値を使用して、lassoモデルを再度学習させます。

最後に、予測値と実際の値を組み合わせて2つの値を並べて表示し、R二乗式を使用してモデルのパフォーマンスを確認できます。 注-列車データセットとテストデータセットの両方について、R二乗値を計算する必要があります。

final <- cbind(y_var, pred)# Checking the first six obshead(final)

R二乗式の共有

以下に示す関数は単なる指標であり、データセットに基づいて実際の値と予測値を提供する必要があります。

actual <- test$actualpreds <- test$predictedrss <- sum((preds - actual) ^ 2)tss <- sum((actual - mean(actual)) ^ 2)rsq <- 1 - rss/tssrsq

重要な変数のリストの取得

重要な変数のリストを取得するには、最終的な最良モデルのベータ係数を調べるだけです。

# Inspecting beta coefficientscoef(lasso_best)
# Output6 x 1 sparse Matrix of class "dgCMatrix" s0(Intercept) 66.5365304Agriculture -0.0489183Examination . Education -0.9523625Catholic 0.1188127Infant.Mortality 0.4994369

このモデルは、農業と教育の係数がゼロに縮小されていることを示しています。 したがって、我々は三つの変数、すなわち、試験、カトリック、および幼児が残っています。死亡率

この章では、リッジ回帰を構築するために使用したのと同じglmnetパッケージを使用してlasso回帰を構築する方法を学びました。 私たちはまた、尾根と投げ縄の違いが何であるかを見ました。 次の章では、ロジスティック回帰を使用して二分変数を予測する方法について説明します。

コメントを残す

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