SlideShare a Scribd company logo
1 of 19
よいモデルを選びたい
“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

PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」Keisuke Sugawara
 
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法Hidetoshi Matsui
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれHiroshi Shimizu
 
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー階層ベイズと自由エネルギー
階層ベイズと自由エネルギーHiroshi Shimizu
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門Yu Tamura
 
混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をするMasaru Tokuoka
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布についてhoxo_m
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
Numpy scipyで独立成分分析
Numpy scipyで独立成分分析Numpy scipyで独立成分分析
Numpy scipyで独立成分分析Shintaro Fukushima
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析Mitsuo Shimohata
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布sleipnir002
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするためにベイズモデリングと仲良くするために
ベイズモデリングと仲良くするためにShushi Namba
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成Nagi Teramo
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズHiroshi Shimizu
 
3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布Junya Saito
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 

What's hot (20)

PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
 
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門
 
混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
Numpy scipyで独立成分分析
Numpy scipyで独立成分分析Numpy scipyで独立成分分析
Numpy scipyで独立成分分析
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするためにベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
 
3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 

Similar to Oracle property and_hdm_pkg_rigorouslasso

[読会]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 chap7Shinsaku 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 RSatoshi Kato
 
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2hirokazutanaka
 
(文献紹介)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日_水曜セミナー発表内容_FINALTomoshige 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 MatricesYasuo 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 InferenceKaede 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 NLPKoji Matsuda
 
ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章Isao Takaesu
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回ke beck
 

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...
 
Deep learningbook chap7
Deep learningbook chap7Deep learningbook chap7
Deep learningbook chap7
 
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
 
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
 
2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL2014年5月14日_水曜セミナー発表内容_FINAL
2014年5月14日_水曜セミナー発表内容_FINAL
 
第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本
 
20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁20140514_水曜セミナー発表資料_中村知繁
20140514_水曜セミナー発表資料_中村知繁
 
Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
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
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)
 
効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
 
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
 
ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
 

More from 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 RSatoshi 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 RSatoshi 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 & imlSatoshi Kato
 
Introduction of inspectDF package
Introduction of inspectDF packageIntroduction of inspectDF package
Introduction of inspectDF packageSatoshi Kato
 
Introduction of featuretweakR package
Introduction of featuretweakR packageIntroduction of featuretweakR package
Introduction of featuretweakR packageSatoshi Kato
 
Genetic algorithm full scratch with R
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with RSatoshi 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 RSatoshi 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 ForestSatoshi Kato
 
Interpreting Tree Ensembles with inTrees
Interpreting Tree Ensembles with  inTreesInterpreting Tree Ensembles with  inTrees
Interpreting Tree Ensembles with inTreesSatoshi Kato
 

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
 
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.
 
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
 
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
 
Introduction of inspectDF package
Introduction of inspectDF packageIntroduction of inspectDF package
Introduction of inspectDF package
 
Introduction of featuretweakR package
Introduction of featuretweakR packageIntroduction of featuretweakR package
Introduction of featuretweakR package
 
Genetic algorithm full scratch with R
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with R
 
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 ...
 
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
 
Deep forest (preliminary ver.)
Deep forest  (preliminary ver.)Deep forest  (preliminary ver.)
Deep forest (preliminary ver.)
 
forestFloorパッケージを使ったrandomForestの感度分析
forestFloorパッケージを使ったrandomForestの感度分析forestFloorパッケージを使ったrandomForestの感度分析
forestFloorパッケージを使ったrandomForestの感度分析
 
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
 
Interpreting Tree Ensembles with inTrees
Interpreting Tree Ensembles with  inTreesInterpreting Tree Ensembles with  inTrees
Interpreting Tree Ensembles with inTrees
 

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/