SlideShare a Scribd company logo
よいモデルを選びたい
“The Oracle Properties of Feature Selection using Lassos”
1.「罰則付き回帰とデータ解析環境R」の一部をRでトレースします
(荒木 孝治,オペレーションズ・リサーチ2013 年 5 月号,261-266)
2.{hdm} packageを紹介します
(DJ Stekhoven, P Bühlmann (2011), Bioinformatics 28 (1), 112-118)
第54回R勉強会@東京(#TokyoR)
Lassoにおける変数選択とオラクル性
十分なサンプルサイズなデータに対する手法の比較
超高次元(p>>n)なデータに対する手法の比較
変数選択(モデル選択) どうしてますか?
オペレーションズ・リサーチ2013 年 5 月号,261-266
Lasso
• 線形重回帰モデルで、最小二乗法で係数を推定をする際に、
推定量(β)の絶対値を大きくしたくない
• 未定乗数法で書くと:
|β|の大きさに対する罰則項最小二乗法
λは罰則の大きさを
調整するパラメータ
βの絶対値を大きさを
定数 t 以下に抑えたい
最小二乗法
Lassoと変数選択
Lassoによって「よいモデル」を推定したい
• 具体的な手続きとしては、罰則の強さ(λ)を決めたい
• λ → 0 (no penalty) では、罰則のない重回帰
• λ → ∞ では、定数項だけのモデル
推定されたモデルの
「良さ」とは?
たとえば、Cross Validation で λを決める場合。
モデルの良さは Cross Validation Errorの小ささ
?
Lassoの変数選択とオラクル性(Oracle Property)
真のモデルをなるべく精度良く再現したい
• 選択される変数の一致性(selection consistency)
• 重要な変数を取りこぼさず選択し、ノイズとなる変数はすべて除外する
• サンプルサイズn が大きくなるとき,0 でない係数(βj = 0)を持つ説明変数が正しく選択される確率
が1 に収束する
• 推定量の一致性(estimation consistency)
• 非ゼロな係数の推定量は、真値に収束する
• 0 でない係数を持つ説明変数に対する推定量が、漸近不偏,漸近正規性を持つ
J. Fan and R. Li, Variable selection via nonconcave penalized likelihood and its oracle properties.
Jour-nal of the American Statistical Association, 96 , 1348–1360, 2001.
Rでやってみる:
Lassoはオラクル性を持たない(1)
> summary(lm(y~X) )
Call:
lm(formula = y ~ X)
Residuals:
Min 1Q Median 3Q Max
-4.3396 -0.6766 0.0031 0.6782 4.1351
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.025e-03 3.172e-03 0.323 0.7467
X1 2.481e-03 3.169e-03 0.783 0.4336
X2 2.480e-03 3.169e-03 0.782 0.4340
X3 -3.055e-03 3.168e-03 -0.964 0.3349
X4 2.829e-04 3.174e-03 0.089 0.9290
X5 -2.657e-03 3.162e-03 -0.840 0.4007
X6 -1.525e-03 3.155e-03 -0.483 0.6288
X7 5.367e-03 3.168e-03 1.694 0.0902 .
X8 1.006e+00 3.176e-03 316.898 <2e-16 ***
X9 1.000e+01 3.168e-03 3156.907 <2e-16 ***
X10 1.000e+02 3.179e-03 31454.897 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.003 on 99989 degrees of freedom
Multiple R-squared: 0.9999, Adjusted R-squared:
0.9999
F-statistic: 9.993e+07 on 10 and 99989 DF, p-value: < 2.2e-16
> coef(cv.glmnet(x = X, y=y, alpha = 1))
11 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) -0.003333436
V1 .
V2 .
V3 .
V4 .
V5 .
V6 .
V7 .
V8 .
V9 7.991889788
V10 97.991207763
同じデータに対して:
 8番目の変数が消えている
 推定値も目減りしている?
真のモデル:
y ~ 0 + … + 1x8 + 10x9 + 100x10 + ε
変数の数=10,非ゼロな係数の数=3
サンプルサイズ=106
重回帰
Lasso
Rでやってみる:
Lassoはオラクル性を持たない(2)
(Intercept) -0.02631565
V1 .
V2 .
V3 .
V4 .
V5 .
V6 .
V7 .
V8 9.87959339
V9 9.81398437
V10 9.83103872
サンプルサイズ=1000での
推定量
真値と推定量との誤差二乗和(30回平均)
 OLSでは誤差が0に近づくのに
Lassoでは近づかない
 やっぱり目減りしてる?
真のモデル:
y ~ 0 + … + 10x8 + 10x9 + 10x10 + ε
変数の数=10,非ゼロな係数の数=3
サンプルサイズを徐々に大きくする
Lassoの罰則と縮小推定(shrinkage)
ただし、X が XT X = In を満たすと仮定する
0
0
0方向に縮小
OLS絶対値が小さい
ものを0と推定
最小二乗推定量( )
Hao Helen Zhang, Fall 2015 Lecture 12: Variable Selection - Lasso
• Lassoの推定量( )と、最小二乗推定量( )との間には
下図の関係がなりたつ
Lassoの罰則と縮小の効果
• 縮小推定の効果により、Lassoではオラクル性が成り立たない
0
0
0方向に縮小
0方向に縮小
OLS絶対値が小さい
ものを0と推定
最小二乗推定量( )
> coef(cv.glmnet(x = X, y=y, alpha = 1))
11 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) -0.003333436
V1 .
V2 .
V3 .
V4 .
V5 .
V6 .
V7 .
V8 .
V9 7.991889788
V10 97.991207763
真のモデル:
y ~ 0 + … + 1x8 + 10x9 + 100x10 + ε
変数の数=10,非ゼロな係数の数=3
サンプルサイズ=106
オラクル性保証付きLasso
H. Zou: The adaptive lasso and its oracle properties, Journal of the American Statistical Association, 101, 1418–1429, 2006.
Hao Helen Zhang, Fall 2015, Lecture 13: Variable Selection - Beyond LASSO
データ依存的に最適な重みが選ばれる
Adaptive Lassoのほかにも色々と提案されているが割愛
Adaptive Lasso
• 推定の偏りを減少させる重みづけ
• 0 に近い推定量に対しては大きな重みを適用して 0 にする
• 絶対値の大きな推定量に対しては,小さな重みを適用することで縮小の効果を減らす
• 2段階の推定手順
• β の初期推定量 を求める
• 1を利用した重みを利用するℓ1 罰則付き回帰を行う
Rでやってみる:
オラクル性保証付きLassoを使うことで改善
• 罰則項を工夫することで、Lassoにオラクル性を持たせる
• 今回はmsgpsパッケージのadaptive Lassoを使う
• 選択基準はBICを使う
fit.alasso <- msgps(X= X, y=c(y), penalty="alasso",gamma=1, lambda=0)
coeff.alasso <- coef(fit.alasso) %>>% data.frame %>>% select(BIC) %>>% unlist
sse.alasso <- (this_data$beta - coeff.alasso[-1])^2 %>>% sum
真値と推定量との誤差二乗和(30回平均)
 オリジナルと比べて良い精度
真のモデル:
y ~ 0 + … + 10x8 + 10x9 + 10x10 + ε
• 変数の数=10
• 非ゼロな係数の数=3
• サンプルサイズを徐々に大きくする
推定精度=真値と推定量との誤差二乗和
Lassoと次元数
• 従来の回帰分析の数学的妥当性は、p<n条件下で保証されていた
• 高次元データ(p>n)の場合、それが破綻する。いわゆる「次元の呪い」
• Lassoではスパース性を仮定する
• 「候補変数のなかで真に効果を持つ変数の数(d)は非常に少数である」という仮定
• p>n>>d
• 一定の仮定の下で、p>nなデータでもオラクル性を保証する
• Adaptive Lassoもその一つ
• Huang, J. et al.: Adaptive lasso for sparse high dimensional regression, Stat. Sin., 18: 1603-1618, 2007.
ゲノムワイド関連解析の統計学的問題点とその解決
植木優夫, 田宮元, 医学のあゆみ 第230巻12号(2009年9月19日号) (1079-1080)
Rでやってみる:
Lassoと次元数
• 一定の仮定の下で、p>nなデータでもLassoは
オラクル性を保証する
• Adaptive Lassoもその一つ
 OLSはp>nになった時点で
計算不能
 Adaptive Lassoもp>nになった時点で
推定精度が悪化
真のモデル:
y ~ 0 + … + 10xn-2 + 10xn-1 + 10xn + ε
• 変数の数を徐々に大きくする
• 非ゼロな係数の数=3
• サンプルサイズ=1000
推定精度=真値と推定量との誤差二乗和
Lassoと次元数
• 高次元データ(p>>n)の場合
1. 何らかの手順でいったん次元圧縮を行う
2. 圧縮したデータで、あらためて係数を高精度に推定する
• 手法の例
• p>>nでも、一定の仮定の下で選択の一致性が保証されている
• Adaptive Lasso
• Huang, J. et al.: Adaptive lasso for sparse high dimensional regression, Stat. Sin., 18: 1603-1618, 2007.
• L2 boosting
• Buhlmann, P.: Boosting for high-dimensional linear models. Ann. Statist., 34:559-583, 2006.
• 変数のランキングに基づくスクリーニング
• SURE independence screening (SIS)
• Fan, J. and Lv, J.: Sure independence screening for ultrahigh dimensional feature space (with
discussion). J. R. Statist. Soc B, 70: 849-911, 2008.
• Lassoで頑張る
• 誤って非ゼロとした係数はすべてゼロに近い値で収まる性質を使う
• Meinshausen, N. and Yu, B.: Lasso-type recovery of sparse representations of high-dimensional data. To
appear in Ann. Statist.
ゲノムワイド関連解析の統計学的問題点とその解決
植木優夫, 田宮元, 医学のあゆみ 第230巻12号(2009年9月19日号) (1079-1080)
“rigorous” lasso in hdm package
rlassoの特色
• Post-Lassoによる、変数事前のスクリーニング
• Lassoで係数の推定量が0にされた変数を除去してから、最小二乗法をおこなう
• 罰則強度(λ)を理論的背景のもとで与える
• 誤差の等分散性の仮定の有無 × data-driven or Not で、合計4パターンの罰則項を提案
• 推定した係数の信頼区間を提供する
• Shooting Lasso Algorithmによる高速化
V Chernozhukov, C Hansen, M Spindler (2016+). hdm: High-Dimensional Metrics R Journal, forthcoming
https://cran.rstudio.com/web/packages/hdm/
高次元データ(p>>n)の場合
1. 何らかの手順でいったん次元圧縮を行う
2. 圧縮したデータのもとで、あらためて係数を高精度に推定する
hdm::rlassoを使ってみる
rlasso(
formula, data,
post = TRUE, # TRUEでPost-Lasso。 FALSEで独自の罰則だけrigorousなLasso
intercept = TRUE, # TRUEで切片項(β0)の罰則付き推定をしない
penalty = list(homoscedastic = FALSE, # FALSEで誤差の等分散性を仮定しない
X.dependent.lambda = FALSE, # TRUEでデータ依存的なλの選択をする
lambda.start = NULL,
c = 1.1,
gamma = 0.1/log(n)),
control = list(numIter =15,
tol = 10^-5,
threshold = NULL),
...)
hdm::rlassoを使ってみる
推定精度: rlasso > adaptive Lasso
plasso.reg <- rlasso(c(this_data$y) ~ this_data$X, post=TRUE, intercept=TRUE)
coeff.plasso <- coef(plasso.reg)
sse.plasso <- (this_data$beta - coeff.plasso)^2 %>>% sum
 rigorous Lasso(post-lasso)は、p>nにを
超えても、推定精度が悪化していない
もっと高次元なデータでの評価は
我が家のPCでは無理でした…
真のモデル:
y ~ 0 + … + 10xn-2 + 10xn-1 + 10xn + ε
• 変数の数を徐々に大きくする
• 非ゼロな係数の数=3
• サンプルサイズ=1000
推定精度=真値と推定量との誤差二乗和
hdm::rlassoを使ってみる
計算コスト: rlasso < adaptive Lasso
> system.time(
+ fit.alasso <- msgps(X= this_data$X, y=c(this_data$y), penalty="alasso", gamma=1)
+ )
ユーザ システム 経過
34.23 0.27 34.50
> system.time(
+ plasso.reg <- rlasso(c(this_data$y) ~ this_data$X, post=TRUE, intercept=TRUE)
+ )
ユーザ システム 経過
90.23 0.45 90.69
Adaptive lasso
rigorous lasso
 Adaptive Lassoのほうがかなり速かった
 もっと高次元で評価が必要
真のモデル:
y ~ 0 + … + 10xn-2 + 10xn-1 + 10xn + ε
• 変数の数=105, 非ゼロな係数の数=3, サンプルサイズ=1000
計算時間を測定する
まとめ
オペレーションズ・リサーチ2013 年 5 月号,261-266
“rigorous” lasso
V Chernozhukov, C Hansen, M Spindler (2016+). hdm: High-Dimensional Metrics
R Journal, forthcoming
https://cran.rstudio.com/web/packages/hdm/

More Related Content

What's hot (20)

計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)
Shota Yasui
 
木と電話と選挙(causalTree)
木と電話と選挙(causalTree)木と電話と選挙(causalTree)
木と電話と選挙(causalTree)
Shota Yasui
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
takehikoihayashi
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
tmtm otm
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率
hoxo_m
 
3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布
Junya Saito
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
Motokawa Tetsuya
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップ
Daisuke Takai
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択
kazutantan
 
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
考司 小杉
 
計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)
Shota Yasui
 
木と電話と選挙(causalTree)
木と電話と選挙(causalTree)木と電話と選挙(causalTree)
木と電話と選挙(causalTree)
Shota Yasui
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
takehikoihayashi
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
tmtm otm
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率
hoxo_m
 
3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布
Junya Saito
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
Motokawa Tetsuya
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップ
Daisuke Takai
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択
kazutantan
 
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
考司 小杉
 

Similar to Oracle property and_hdm_pkg_rigorouslasso (20)

20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁
Tomoshige Nakamura
 
Introduction of "the alternate features search" using R
Introduction of  "the alternate features search" using RIntroduction of  "the alternate features search" using R
Introduction of "the alternate features search" using R
Satoshi Kato
 
2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL
Tomoshige Nakamura
 
[読会]A critical review of lasso and its derivatives for variable selection und...
[読会]A critical review of lasso and its derivatives for variable selection und...[読会]A critical review of lasso and its derivatives for variable selection und...
[読会]A critical review of lasso and its derivatives for variable selection und...
shima o
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
Taiji Suzuki
 
Sparse models
Sparse modelsSparse models
Sparse models
Daisuke Yoneoka
 
岩波データサイエンス_Vol.5_勉強会資料02
岩波データサイエンス_Vol.5_勉強会資料02岩波データサイエンス_Vol.5_勉強会資料02
岩波データサイエンス_Vol.5_勉強会資料02
goony0101
 
卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
Tomoshige Nakamura
 
特徴選択のためのLasso解列挙
特徴選択のためのLasso解列挙特徴選択のためのLasso解列挙
特徴選択のためのLasso解列挙
Satoshi Hara
 
20140512_水曜セミナードラフトv1
20140512_水曜セミナードラフトv120140512_水曜セミナードラフトv1
20140512_水曜セミナードラフトv1
Tomoshige Nakamura
 
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
Ichigaku Takigawa
 
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)
wada, kazumi
 
能動学習による多関係データセットの構築
能動学習による多関係データセットの構築能動学習による多関係データセットの構築
能動学習による多関係データセットの構築
Hiroshi Kajino
 
スパース推定
スパース推定スパース推定
スパース推定
y-uti
 
統計的学習の基礎_3章
統計的学習の基礎_3章統計的学習の基礎_3章
統計的学習の基礎_3章
Shoichi Taguchi
 
Deep learningbook chap7
Deep learningbook chap7Deep learningbook chap7
Deep learningbook chap7
Shinsaku Kono
 
岩波データサイエンス_Vol.5_勉強会資料01
岩波データサイエンス_Vol.5_勉強会資料01岩波データサイエンス_Vol.5_勉強会資料01
岩波データサイエンス_Vol.5_勉強会資料01
goony0101
 
ML: Sparse regression CH.13
 ML: Sparse regression CH.13 ML: Sparse regression CH.13
ML: Sparse regression CH.13
Daisuke Yoneoka
 
15min nov25
15min nov2515min nov25
15min nov25
Ozawa Kensuke
 
20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁
Tomoshige Nakamura
 
Introduction of "the alternate features search" using R
Introduction of  "the alternate features search" using RIntroduction of  "the alternate features search" using R
Introduction of "the alternate features search" using R
Satoshi Kato
 
2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL
Tomoshige Nakamura
 
[読会]A critical review of lasso and its derivatives for variable selection und...
[読会]A critical review of lasso and its derivatives for variable selection und...[読会]A critical review of lasso and its derivatives for variable selection und...
[読会]A critical review of lasso and its derivatives for variable selection und...
shima o
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
Taiji Suzuki
 
岩波データサイエンス_Vol.5_勉強会資料02
岩波データサイエンス_Vol.5_勉強会資料02岩波データサイエンス_Vol.5_勉強会資料02
岩波データサイエンス_Vol.5_勉強会資料02
goony0101
 
卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
Tomoshige Nakamura
 
特徴選択のためのLasso解列挙
特徴選択のためのLasso解列挙特徴選択のためのLasso解列挙
特徴選択のためのLasso解列挙
Satoshi Hara
 
20140512_水曜セミナードラフトv1
20140512_水曜セミナードラフトv120140512_水曜セミナードラフトv1
20140512_水曜セミナードラフトv1
Tomoshige Nakamura
 
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
Ichigaku Takigawa
 
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)
wada, kazumi
 
能動学習による多関係データセットの構築
能動学習による多関係データセットの構築能動学習による多関係データセットの構築
能動学習による多関係データセットの構築
Hiroshi Kajino
 
スパース推定
スパース推定スパース推定
スパース推定
y-uti
 
統計的学習の基礎_3章
統計的学習の基礎_3章統計的学習の基礎_3章
統計的学習の基礎_3章
Shoichi Taguchi
 
Deep learningbook chap7
Deep learningbook chap7Deep learningbook chap7
Deep learningbook chap7
Shinsaku Kono
 
岩波データサイエンス_Vol.5_勉強会資料01
岩波データサイエンス_Vol.5_勉強会資料01岩波データサイエンス_Vol.5_勉強会資料01
岩波データサイエンス_Vol.5_勉強会資料01
goony0101
 
ML: Sparse regression CH.13
 ML: Sparse regression CH.13 ML: Sparse regression CH.13
ML: Sparse regression CH.13
Daisuke Yoneoka
 

More from Satoshi Kato (13)

How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using RHow to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using R
Satoshi Kato
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
 
Exploratory data analysis using xgboost package in R
Exploratory data analysis using xgboost package in RExploratory data analysis using xgboost package in R
Exploratory data analysis using xgboost package in R
Satoshi Kato
 
How to use in R model-agnostic data explanation with DALEX & iml
How to use in R model-agnostic data explanation with DALEX & imlHow to use in R model-agnostic data explanation with DALEX & iml
How to use in R model-agnostic data explanation with DALEX & iml
Satoshi Kato
 
Introduction of inspectDF package
Introduction of inspectDF packageIntroduction of inspectDF package
Introduction of inspectDF package
Satoshi Kato
 
Introduction of featuretweakR package
Introduction of featuretweakR packageIntroduction of featuretweakR package
Introduction of featuretweakR package
Satoshi Kato
 
Genetic algorithm full scratch with R
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with R
Satoshi Kato
 
Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Intoroduction & R implementation of "Interpretable predictions of tree-based ...Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Satoshi Kato
 
Multiple optimization and Non-dominated sorting with rPref package in R
Multiple optimization and Non-dominated sorting with rPref package in RMultiple optimization and Non-dominated sorting with rPref package in R
Multiple optimization and Non-dominated sorting with rPref package in R
Satoshi Kato
 
Deep forest (preliminary ver.)
Deep forest  (preliminary ver.)Deep forest  (preliminary ver.)
Deep forest (preliminary ver.)
Satoshi Kato
 
forestFloorパッケージを使ったrandomForestの感度分析
forestFloorパッケージを使ったrandomForestの感度分析forestFloorパッケージを使ったrandomForestの感度分析
forestFloorパッケージを使ったrandomForestの感度分析
Satoshi Kato
 
Imputation of Missing Values using Random Forest
Imputation of Missing Values using  Random ForestImputation of Missing Values using  Random Forest
Imputation of Missing Values using Random Forest
Satoshi Kato
 
Interpreting Tree Ensembles with inTrees
Interpreting Tree Ensembles with  inTreesInterpreting Tree Ensembles with  inTrees
Interpreting Tree Ensembles with inTrees
Satoshi Kato
 
How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using RHow to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using R
Satoshi Kato
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
 
Exploratory data analysis using xgboost package in R
Exploratory data analysis using xgboost package in RExploratory data analysis using xgboost package in R
Exploratory data analysis using xgboost package in R
Satoshi Kato
 
How to use in R model-agnostic data explanation with DALEX & iml
How to use in R model-agnostic data explanation with DALEX & imlHow to use in R model-agnostic data explanation with DALEX & iml
How to use in R model-agnostic data explanation with DALEX & iml
Satoshi Kato
 
Introduction of inspectDF package
Introduction of inspectDF packageIntroduction of inspectDF package
Introduction of inspectDF package
Satoshi Kato
 
Introduction of featuretweakR package
Introduction of featuretweakR packageIntroduction of featuretweakR package
Introduction of featuretweakR package
Satoshi Kato
 
Genetic algorithm full scratch with R
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with R
Satoshi Kato
 
Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Intoroduction & R implementation of "Interpretable predictions of tree-based ...Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Satoshi Kato
 
Multiple optimization and Non-dominated sorting with rPref package in R
Multiple optimization and Non-dominated sorting with rPref package in RMultiple optimization and Non-dominated sorting with rPref package in R
Multiple optimization and Non-dominated sorting with rPref package in R
Satoshi Kato
 
Deep forest (preliminary ver.)
Deep forest  (preliminary ver.)Deep forest  (preliminary ver.)
Deep forest (preliminary ver.)
Satoshi Kato
 
forestFloorパッケージを使ったrandomForestの感度分析
forestFloorパッケージを使ったrandomForestの感度分析forestFloorパッケージを使ったrandomForestの感度分析
forestFloorパッケージを使ったrandomForestの感度分析
Satoshi Kato
 
Imputation of Missing Values using Random Forest
Imputation of Missing Values using  Random ForestImputation of Missing Values using  Random Forest
Imputation of Missing Values using Random Forest
Satoshi Kato
 
Interpreting Tree Ensembles with inTrees
Interpreting Tree Ensembles with  inTreesInterpreting Tree Ensembles with  inTrees
Interpreting Tree Ensembles with inTrees
Satoshi Kato
 

Oracle property and_hdm_pkg_rigorouslasso

  • 1. よいモデルを選びたい “The Oracle Properties of Feature Selection using Lassos” 1.「罰則付き回帰とデータ解析環境R」の一部をRでトレースします (荒木 孝治,オペレーションズ・リサーチ2013 年 5 月号,261-266) 2.{hdm} packageを紹介します (DJ Stekhoven, P Bühlmann (2011), Bioinformatics 28 (1), 112-118) 第54回R勉強会@東京(#TokyoR) Lassoにおける変数選択とオラクル性 十分なサンプルサイズなデータに対する手法の比較 超高次元(p>>n)なデータに対する手法の比較
  • 4. Lassoと変数選択 Lassoによって「よいモデル」を推定したい • 具体的な手続きとしては、罰則の強さ(λ)を決めたい • λ → 0 (no penalty) では、罰則のない重回帰 • λ → ∞ では、定数項だけのモデル 推定されたモデルの 「良さ」とは? たとえば、Cross Validation で λを決める場合。 モデルの良さは Cross Validation Errorの小ささ ?
  • 5. Lassoの変数選択とオラクル性(Oracle Property) 真のモデルをなるべく精度良く再現したい • 選択される変数の一致性(selection consistency) • 重要な変数を取りこぼさず選択し、ノイズとなる変数はすべて除外する • サンプルサイズn が大きくなるとき,0 でない係数(βj = 0)を持つ説明変数が正しく選択される確率 が1 に収束する • 推定量の一致性(estimation consistency) • 非ゼロな係数の推定量は、真値に収束する • 0 でない係数を持つ説明変数に対する推定量が、漸近不偏,漸近正規性を持つ J. Fan and R. Li, Variable selection via nonconcave penalized likelihood and its oracle properties. Jour-nal of the American Statistical Association, 96 , 1348–1360, 2001.
  • 6. Rでやってみる: Lassoはオラクル性を持たない(1) > summary(lm(y~X) ) Call: lm(formula = y ~ X) Residuals: Min 1Q Median 3Q Max -4.3396 -0.6766 0.0031 0.6782 4.1351 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.025e-03 3.172e-03 0.323 0.7467 X1 2.481e-03 3.169e-03 0.783 0.4336 X2 2.480e-03 3.169e-03 0.782 0.4340 X3 -3.055e-03 3.168e-03 -0.964 0.3349 X4 2.829e-04 3.174e-03 0.089 0.9290 X5 -2.657e-03 3.162e-03 -0.840 0.4007 X6 -1.525e-03 3.155e-03 -0.483 0.6288 X7 5.367e-03 3.168e-03 1.694 0.0902 . X8 1.006e+00 3.176e-03 316.898 <2e-16 *** X9 1.000e+01 3.168e-03 3156.907 <2e-16 *** X10 1.000e+02 3.179e-03 31454.897 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.003 on 99989 degrees of freedom Multiple R-squared: 0.9999, Adjusted R-squared: 0.9999 F-statistic: 9.993e+07 on 10 and 99989 DF, p-value: < 2.2e-16 > coef(cv.glmnet(x = X, y=y, alpha = 1)) 11 x 1 sparse Matrix of class "dgCMatrix" 1 (Intercept) -0.003333436 V1 . V2 . V3 . V4 . V5 . V6 . V7 . V8 . V9 7.991889788 V10 97.991207763 同じデータに対して:  8番目の変数が消えている  推定値も目減りしている? 真のモデル: y ~ 0 + … + 1x8 + 10x9 + 100x10 + ε 変数の数=10,非ゼロな係数の数=3 サンプルサイズ=106 重回帰 Lasso
  • 7. Rでやってみる: Lassoはオラクル性を持たない(2) (Intercept) -0.02631565 V1 . V2 . V3 . V4 . V5 . V6 . V7 . V8 9.87959339 V9 9.81398437 V10 9.83103872 サンプルサイズ=1000での 推定量 真値と推定量との誤差二乗和(30回平均)  OLSでは誤差が0に近づくのに Lassoでは近づかない  やっぱり目減りしてる? 真のモデル: y ~ 0 + … + 10x8 + 10x9 + 10x10 + ε 変数の数=10,非ゼロな係数の数=3 サンプルサイズを徐々に大きくする
  • 8. Lassoの罰則と縮小推定(shrinkage) ただし、X が XT X = In を満たすと仮定する 0 0 0方向に縮小 OLS絶対値が小さい ものを0と推定 最小二乗推定量( ) Hao Helen Zhang, Fall 2015 Lecture 12: Variable Selection - Lasso • Lassoの推定量( )と、最小二乗推定量( )との間には 下図の関係がなりたつ
  • 9. Lassoの罰則と縮小の効果 • 縮小推定の効果により、Lassoではオラクル性が成り立たない 0 0 0方向に縮小 0方向に縮小 OLS絶対値が小さい ものを0と推定 最小二乗推定量( ) > coef(cv.glmnet(x = X, y=y, alpha = 1)) 11 x 1 sparse Matrix of class "dgCMatrix" 1 (Intercept) -0.003333436 V1 . V2 . V3 . V4 . V5 . V6 . V7 . V8 . V9 7.991889788 V10 97.991207763 真のモデル: y ~ 0 + … + 1x8 + 10x9 + 100x10 + ε 変数の数=10,非ゼロな係数の数=3 サンプルサイズ=106
  • 10. オラクル性保証付きLasso H. Zou: The adaptive lasso and its oracle properties, Journal of the American Statistical Association, 101, 1418–1429, 2006. Hao Helen Zhang, Fall 2015, Lecture 13: Variable Selection - Beyond LASSO データ依存的に最適な重みが選ばれる Adaptive Lassoのほかにも色々と提案されているが割愛 Adaptive Lasso • 推定の偏りを減少させる重みづけ • 0 に近い推定量に対しては大きな重みを適用して 0 にする • 絶対値の大きな推定量に対しては,小さな重みを適用することで縮小の効果を減らす • 2段階の推定手順 • β の初期推定量 を求める • 1を利用した重みを利用するℓ1 罰則付き回帰を行う
  • 11. Rでやってみる: オラクル性保証付きLassoを使うことで改善 • 罰則項を工夫することで、Lassoにオラクル性を持たせる • 今回はmsgpsパッケージのadaptive Lassoを使う • 選択基準はBICを使う fit.alasso <- msgps(X= X, y=c(y), penalty="alasso",gamma=1, lambda=0) coeff.alasso <- coef(fit.alasso) %>>% data.frame %>>% select(BIC) %>>% unlist sse.alasso <- (this_data$beta - coeff.alasso[-1])^2 %>>% sum 真値と推定量との誤差二乗和(30回平均)  オリジナルと比べて良い精度 真のモデル: y ~ 0 + … + 10x8 + 10x9 + 10x10 + ε • 変数の数=10 • 非ゼロな係数の数=3 • サンプルサイズを徐々に大きくする 推定精度=真値と推定量との誤差二乗和
  • 12. Lassoと次元数 • 従来の回帰分析の数学的妥当性は、p<n条件下で保証されていた • 高次元データ(p>n)の場合、それが破綻する。いわゆる「次元の呪い」 • Lassoではスパース性を仮定する • 「候補変数のなかで真に効果を持つ変数の数(d)は非常に少数である」という仮定 • p>n>>d • 一定の仮定の下で、p>nなデータでもオラクル性を保証する • Adaptive Lassoもその一つ • Huang, J. et al.: Adaptive lasso for sparse high dimensional regression, Stat. Sin., 18: 1603-1618, 2007. ゲノムワイド関連解析の統計学的問題点とその解決 植木優夫, 田宮元, 医学のあゆみ 第230巻12号(2009年9月19日号) (1079-1080)
  • 13. Rでやってみる: Lassoと次元数 • 一定の仮定の下で、p>nなデータでもLassoは オラクル性を保証する • Adaptive Lassoもその一つ  OLSはp>nになった時点で 計算不能  Adaptive Lassoもp>nになった時点で 推定精度が悪化 真のモデル: y ~ 0 + … + 10xn-2 + 10xn-1 + 10xn + ε • 変数の数を徐々に大きくする • 非ゼロな係数の数=3 • サンプルサイズ=1000 推定精度=真値と推定量との誤差二乗和
  • 14. Lassoと次元数 • 高次元データ(p>>n)の場合 1. 何らかの手順でいったん次元圧縮を行う 2. 圧縮したデータで、あらためて係数を高精度に推定する • 手法の例 • p>>nでも、一定の仮定の下で選択の一致性が保証されている • Adaptive Lasso • Huang, J. et al.: Adaptive lasso for sparse high dimensional regression, Stat. Sin., 18: 1603-1618, 2007. • L2 boosting • Buhlmann, P.: Boosting for high-dimensional linear models. Ann. Statist., 34:559-583, 2006. • 変数のランキングに基づくスクリーニング • SURE independence screening (SIS) • Fan, J. and Lv, J.: Sure independence screening for ultrahigh dimensional feature space (with discussion). J. R. Statist. Soc B, 70: 849-911, 2008. • Lassoで頑張る • 誤って非ゼロとした係数はすべてゼロに近い値で収まる性質を使う • Meinshausen, N. and Yu, B.: Lasso-type recovery of sparse representations of high-dimensional data. To appear in Ann. Statist. ゲノムワイド関連解析の統計学的問題点とその解決 植木優夫, 田宮元, 医学のあゆみ 第230巻12号(2009年9月19日号) (1079-1080)
  • 15. “rigorous” lasso in hdm package rlassoの特色 • Post-Lassoによる、変数事前のスクリーニング • Lassoで係数の推定量が0にされた変数を除去してから、最小二乗法をおこなう • 罰則強度(λ)を理論的背景のもとで与える • 誤差の等分散性の仮定の有無 × data-driven or Not で、合計4パターンの罰則項を提案 • 推定した係数の信頼区間を提供する • Shooting Lasso Algorithmによる高速化 V Chernozhukov, C Hansen, M Spindler (2016+). hdm: High-Dimensional Metrics R Journal, forthcoming https://cran.rstudio.com/web/packages/hdm/ 高次元データ(p>>n)の場合 1. 何らかの手順でいったん次元圧縮を行う 2. 圧縮したデータのもとで、あらためて係数を高精度に推定する
  • 16. hdm::rlassoを使ってみる rlasso( formula, data, post = TRUE, # TRUEでPost-Lasso。 FALSEで独自の罰則だけrigorousなLasso intercept = TRUE, # TRUEで切片項(β0)の罰則付き推定をしない penalty = list(homoscedastic = FALSE, # FALSEで誤差の等分散性を仮定しない X.dependent.lambda = FALSE, # TRUEでデータ依存的なλの選択をする lambda.start = NULL, c = 1.1, gamma = 0.1/log(n)), control = list(numIter =15, tol = 10^-5, threshold = NULL), ...)
  • 17. hdm::rlassoを使ってみる 推定精度: rlasso > adaptive Lasso plasso.reg <- rlasso(c(this_data$y) ~ this_data$X, post=TRUE, intercept=TRUE) coeff.plasso <- coef(plasso.reg) sse.plasso <- (this_data$beta - coeff.plasso)^2 %>>% sum  rigorous Lasso(post-lasso)は、p>nにを 超えても、推定精度が悪化していない もっと高次元なデータでの評価は 我が家のPCでは無理でした… 真のモデル: y ~ 0 + … + 10xn-2 + 10xn-1 + 10xn + ε • 変数の数を徐々に大きくする • 非ゼロな係数の数=3 • サンプルサイズ=1000 推定精度=真値と推定量との誤差二乗和
  • 18. hdm::rlassoを使ってみる 計算コスト: rlasso < adaptive Lasso > system.time( + fit.alasso <- msgps(X= this_data$X, y=c(this_data$y), penalty="alasso", gamma=1) + ) ユーザ システム 経過 34.23 0.27 34.50 > system.time( + plasso.reg <- rlasso(c(this_data$y) ~ this_data$X, post=TRUE, intercept=TRUE) + ) ユーザ システム 経過 90.23 0.45 90.69 Adaptive lasso rigorous lasso  Adaptive Lassoのほうがかなり速かった  もっと高次元で評価が必要 真のモデル: y ~ 0 + … + 10xn-2 + 10xn-1 + 10xn + ε • 変数の数=105, 非ゼロな係数の数=3, サンプルサイズ=1000 計算時間を測定する
  • 19. まとめ オペレーションズ・リサーチ2013 年 5 月号,261-266 “rigorous” lasso V Chernozhukov, C Hansen, M Spindler (2016+). hdm: High-Dimensional Metrics R Journal, forthcoming https://cran.rstudio.com/web/packages/hdm/