狠狠撸

狠狠撸Share a Scribd company logo
5
Most read
10
Most read
11
Most read
よいモデルを選びたい
“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)

PDF
Chapter9 一歩進んだ文法(前半)
itoyan110
?
PDF
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
PPTX
15分て?わかる(范囲の)ヘ?イス?统计学
Ken'ichi Matsui
?
PDF
クラシックな机械学习入门:付録:よく使う线形代数の公式
Hiroshi Nakagawa
?
PDF
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
Deep Learning JP
?
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
?
PDF
MIRU2016 チュートリアル
Shunsuke Ono
?
PDF
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
logics-of-blue
?
PDF
20180118 一般化線形モテ?ル(glm)
Masakazu Shinoda
?
PPTX
Gradient Tree Boosting はいいぞ
7X RUSK
?
PPTX
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
?
PPTX
データサイエンス概論第一 5 時系列データの解析
Seiichi Uchida
?
PDF
厂迟补苍の便利な事后処理関数
daiki hojo
?
PPTX
ベイズ统计学の概论的绍介
Naoki Hayashi
?
PPTX
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
PPTX
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
Deep Learning JP
?
PDF
深层学习による非滑らかな関数の推定
Masaaki Imaizumi
?
PDF
阶层ベイズと奥础滨颁
Hiroshi Shimizu
?
PPTX
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Kiryo Ryuichi
?
PDF
[DL輪読会]SOM-VAE: Interpretable Discrete Representation Learning on Time Series
Deep Learning JP
?
Chapter9 一歩進んだ文法(前半)
itoyan110
?
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
15分て?わかる(范囲の)ヘ?イス?统计学
Ken'ichi Matsui
?
クラシックな机械学习入门:付録:よく使う线形代数の公式
Hiroshi Nakagawa
?
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
Deep Learning JP
?
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
?
MIRU2016 チュートリアル
Shunsuke Ono
?
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
logics-of-blue
?
20180118 一般化線形モテ?ル(glm)
Masakazu Shinoda
?
Gradient Tree Boosting はいいぞ
7X RUSK
?
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
?
データサイエンス概論第一 5 時系列データの解析
Seiichi Uchida
?
厂迟补苍の便利な事后処理関数
daiki hojo
?
ベイズ统计学の概论的绍介
Naoki Hayashi
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
Deep Learning JP
?
深层学习による非滑らかな関数の推定
Masaaki Imaizumi
?
阶层ベイズと奥础滨颁
Hiroshi Shimizu
?
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Kiryo Ryuichi
?
[DL輪読会]SOM-VAE: Interpretable Discrete Representation Learning on Time Series
Deep Learning JP
?

Similar to Oracle property and_hdm_pkg_rigorouslasso (20)

PDF
20140514冲水曜セミナー発表资料冲中村知繁
Tomoshige Nakamura
?
PPTX
Introduction of "the alternate features search" using R
Satoshi Kato
?
PDF
2014年5月14日冲水曜セミナー発表内容冲贵滨狈础尝
Tomoshige Nakamura
?
PDF
[読会]A critical review of lasso and its derivatives for variable selection und...
shima o
?
PDF
Sparse estimation tutorial 2014
Taiji Suzuki
?
PDF
Sparse models
Daisuke Yoneoka
?
PDF
岩波データサイエンス冲痴辞濒.5冲勉强会资料02
goony0101
?
PDF
卒論プレゼンテーション -DRAFT-
Tomoshige Nakamura
?
PDF
特徴选択のための尝补蝉蝉辞解列挙
Satoshi Hara
?
PDF
20140512冲水曜セミナードラフト惫1
Tomoshige Nakamura
?
DOCX
搁の辞辫迟颈尘関数でロバスト回帰(尝惭厂と尝础痴)
wada, kazumi
?
PDF
能动学习による多関係データセットの构筑
Hiroshi Kajino
?
PDF
スパース推定
y-uti
?
PPTX
统计的学习の基础冲3章
Shoichi Taguchi
?
PDF
Deep learningbook chap7
Shinsaku Kono
?
PDF
岩波データサイエンス冲痴辞濒.5冲勉强会资料01
goony0101
?
PDF
ML: Sparse regression CH.13
Daisuke Yoneoka
?
PPT
Lp Boost
Yasuo Tabei
?
PDF
15min nov25
Ozawa Kensuke
?
PDF
スパースモデリング、スパースコーディングとその数理(第11回奥叠础若手の会)
narumikanno0918
?
20140514冲水曜セミナー発表资料冲中村知繁
Tomoshige Nakamura
?
Introduction of "the alternate features search" using R
Satoshi Kato
?
2014年5月14日冲水曜セミナー発表内容冲贵滨狈础尝
Tomoshige Nakamura
?
[読会]A critical review of lasso and its derivatives for variable selection und...
shima o
?
Sparse estimation tutorial 2014
Taiji Suzuki
?
Sparse models
Daisuke Yoneoka
?
岩波データサイエンス冲痴辞濒.5冲勉强会资料02
goony0101
?
卒論プレゼンテーション -DRAFT-
Tomoshige Nakamura
?
特徴选択のための尝补蝉蝉辞解列挙
Satoshi Hara
?
20140512冲水曜セミナードラフト惫1
Tomoshige Nakamura
?
搁の辞辫迟颈尘関数でロバスト回帰(尝惭厂と尝础痴)
wada, kazumi
?
能动学习による多関係データセットの构筑
Hiroshi Kajino
?
スパース推定
y-uti
?
统计的学习の基础冲3章
Shoichi Taguchi
?
Deep learningbook chap7
Shinsaku Kono
?
岩波データサイエンス冲痴辞濒.5冲勉强会资料01
goony0101
?
ML: Sparse regression CH.13
Daisuke Yoneoka
?
Lp Boost
Yasuo Tabei
?
15min nov25
Ozawa Kensuke
?
スパースモデリング、スパースコーディングとその数理(第11回奥叠础若手の会)
narumikanno0918
?
Ad

More from Satoshi Kato (13)

PPTX
How to generate PowerPoint slides Non-manually using R
Satoshi Kato
?
PPTX
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
?
PPTX
Exploratory data analysis using xgboost package in R
Satoshi Kato
?
PPTX
How to use in R model-agnostic data explanation with DALEX & iml
Satoshi Kato
?
PPTX
Introduction of inspectDF package
Satoshi Kato
?
PPTX
Introduction of featuretweakR package
Satoshi Kato
?
PPTX
Genetic algorithm full scratch with R
Satoshi Kato
?
PPTX
Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Satoshi Kato
?
PPTX
Multiple optimization and Non-dominated sorting with rPref package in R
Satoshi Kato
?
PPTX
Deep forest (preliminary ver.)
Satoshi Kato
?
PPTX
蹿辞谤别蝉迟贵濒辞辞谤パッケージを使った谤补苍诲辞尘贵辞谤别蝉迟の感度分析
Satoshi Kato
?
PPTX
Imputation of Missing Values using Random Forest
Satoshi Kato
?
PPTX
Interpreting Tree Ensembles with inTrees
Satoshi Kato
?
How to generate PowerPoint slides Non-manually using R
Satoshi Kato
?
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
?
Exploratory data analysis using xgboost package in R
Satoshi Kato
?
How to use in R model-agnostic data explanation with DALEX & iml
Satoshi Kato
?
Introduction of inspectDF package
Satoshi Kato
?
Introduction of featuretweakR package
Satoshi Kato
?
Genetic algorithm full scratch with R
Satoshi Kato
?
Intoroduction & R implementation of "Interpretable predictions of tree-based ...
Satoshi Kato
?
Multiple optimization and Non-dominated sorting with rPref package in R
Satoshi Kato
?
Deep forest (preliminary ver.)
Satoshi Kato
?
蹿辞谤别蝉迟贵濒辞辞谤パッケージを使った谤补苍诲辞尘贵辞谤别蝉迟の感度分析
Satoshi Kato
?
Imputation of Missing Values using Random Forest
Satoshi Kato
?
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/