このページの最後の .m ファイル全てを DL、リンクにもあるこちらから diabetes.data を DL して octave を起動。
octave 上で以下のようにすればsamさんのページの図が書かれます。
Data = dlmread ("diabetes.data", '\t', 1, 0);
least_angle_regression (Data);
必須では無いですが epstool、pstoedit、transfig などをインストールすればエラーが出なくなると思います。
但しsamさんの lars.m には間違いがある?
lars.m の109行目
d_hat = diag(sign_A' * w_A);
これは前のページの βj が 0 になる γ を求めるのに必要な d を計算する部分なのですが
これでは d_hat がスカラーになってしまうような気がします。
なので
d_hat = diag(sign_A) * w_A;
もしくは
d_hat = sign_A .* w_A;
とすれば
のような結果になりました。
こちらのほうがよく見る diabetes データの結果に似ている気がします。
まぁ、Efron 論文を読み進める上で作った、という事なのであまり信用しない方がいいのかもしれません(汗
でも読みやすいです。
