LASSOが高次元で完全な予測子ペアを見つけられないのはなぜですか?
RでLASSO回帰を使用した小規模な実験を実行して、完全な予測子ペアを見つけることができるかどうかをテストしています。ペアは次のように定義されます:f1 + f2 =結果 ここでの結果は、「年齢」と呼ばれる所定のベクトルです。F1とf2は、年齢ベクトルの半分を取得し、残りの値を0に設定することによって作成されます。たとえば、次のとおりです。age = [1,2,3,4,5,6]、f1 = [1,2,3、 0,0,0]およびf2 = [0,0,0,4,5,6]。正規分布N(1,1)からサンプリングすることにより、この予測子のペアとランダムに作成される変数の量を増やします。 私が見るのは、2 ^ 16個の変数をヒットしたとき、LASSOがもうペアを見つけられないことです。以下の結果を参照してください。 なぜこうなった?以下のスクリプトで結果を再現できます。たとえば、[1:193]という異なる年齢のベクトルを選択すると、LASSOは高次元(> 2 ^ 16)でペアを見つけます。 スクリプト: ## Setup ## library(glmnet) library(doParallel) library(caret) mae <- function(errors){MAE <- mean(abs(errors));return(MAE)} seed = 1 n_start <- 2 #start at 2^n features n_end <- 16 #finish with 2^n features cl <- …