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/
Ad

More Related Content

What's hot (20)

2 3.GLMの基礎
2 3.GLMの基礎2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
 
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Hiroshi Shimizu
 
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
Hatsuru Morita
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
Hirotaka Hachiya
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
 
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
Ichigaku Takigawa
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
 
木と電話と選挙(causalTree)
木と電話と選挙(causalTree)木と電話と選挙(causalTree)
木と電話と選挙(causalTree)
Shota Yasui
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
 
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータStanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
Miki Katsuragi
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
Takashi J OZAKI
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
 
統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回
Hikaru GOTO
 
能動学習セミナー
能動学習セミナー能動学習セミナー
能動学習セミナー
Preferred Networks
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Hiroshi Shimizu
 
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
Hirotaka Hachiya
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
 
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
Ichigaku Takigawa
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
 
木と電話と選挙(causalTree)
木と電話と選挙(causalTree)木と電話と選挙(causalTree)
木と電話と選挙(causalTree)
Shota Yasui
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
 
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータStanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
Miki Katsuragi
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
Takashi J OZAKI
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
 
統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回
Hikaru GOTO
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 

Similar to Oracle property and_hdm_pkg_rigorouslasso (20)

[読会]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
 
Deep learningbook chap7
Deep learningbook chap7Deep learningbook chap7
Deep learningbook chap7
Shinsaku Kono
 
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
 
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
hirokazutanaka
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
Morpho, Inc.
 
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
Yohei Sato
 
2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL
Tomoshige Nakamura
 
第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本
Yahoo!デベロッパーネットワーク
 
20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁
Tomoshige Nakamura
 
Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
magoroku Yamamoto
 
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data MatricesScalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Yasuo Tabei
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)
正志 坪坂
 
効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習
Kenta Ishii
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
Kaede Hayashi
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
Keisuke Hosaka
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
 
ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章
Isao Takaesu
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
ke beck
 
[読会]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
 
Deep learningbook chap7
Deep learningbook chap7Deep learningbook chap7
Deep learningbook chap7
Shinsaku Kono
 
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
 
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
hirokazutanaka
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
Morpho, Inc.
 
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
Yohei Sato
 
2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL
Tomoshige Nakamura
 
20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁
Tomoshige Nakamura
 
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data MatricesScalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Yasuo Tabei
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)
正志 坪坂
 
効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習
Kenta Ishii
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
Kaede Hayashi
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
Keisuke Hosaka
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
 
ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章
Isao Takaesu
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
ke beck
 
Ad

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
 
Ad

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/