前回 Lars の計算方法をまとめましたが、これにはどこで計算を止めるかという停止条件が含まれていません。
Larsでは、アクティブセットに全ての目的変数が含まれた時、観測値 y の推定値 μ は最小二乗解に一致します。なので
「アクティブセットに含まれる変数の数 = 全変数の数」
というのが停止条件の一つになります。
そのほかにも解 βのL1ノルムで停止させることも出来ます。
Lasso解は
を最小化するものでしたが、これは
とも書き換えられます。この時βのL1ノルムの閾値 t が λ に対応する事になります。
Larsでは後者を解く事になり、解を更新していくうちβのL1ノルムが設定した閾値 t を超えたら停止する、と言う事をします。
例えば今、k回目のステップで得られた解が
かつ、k+1回目で
となったとします。k+1回目の解を求める為に、推定値を等角ベクトル uA に沿って
と動かすので β も
式(1)
と移動します。ここに
また sA は
なるβの符号 ( = 各変数と残差の相関の符号)を並べたベクトルです。
ここで k ステップ目から k+1 ステップの間で γ は
式(2)
なる値を取り得ます。ここで
です。で、 かつ
と言う事は
となるγが式(2)の範囲に居るはずです。これを γ1 とします。
式(3)
式(3)の両辺に sA を掛けると
なので
式(4)
が得られます。ここに
です。
さらに
なので
以上より式(4)から
が導かれます。これを改めて式(3)に代入して、求めるべき β は
式(5)
と得られます( Efron 論文の(5.17))。
ここで γ1 は式(2)を満たす、つまり新たに要素が加えられる、或いは除かれる より小さいはずなので式(5)の時のアクティブセットは k ステップ目のものと変りません。