近年のデータ解析では、候補となる説明変数の数が非常に多いデータを扱うことが多くなった。例えばDNAのマイクロアレイデータは、数万〜数十万の遺伝子について同時に発現を調べるし、MRIのような画像データを識別する際にはボクセルひとつひとつを説明変数として扱うこともある。このような際に

http://ameblo.jp/yusaku-ohkubo/entry-12273211598.html

で紹介したような方法は重要な道具となっている。LASSOの拡張として、Group LASSOやFused LASSOがある。

 

Group LASSO: 変数をいくつかのサブグループに分類できる場合に、一部の変数はグループ全体ごと係数を0に縮小させる。

Fused LASSO: 変数間に順序がある時、隣の係数との差に対しても罰則を課す。

 

一方LASSOの推定値は回帰係数の事前分布にラプラス分布を用いた時の事後最頻値である(Thibshirani 1996) ことから、正則化と事前分布の関係について研究されるようになり、ラプラス分布以外にも幾つかの事前分布が提案されている。例えば

http://statmodeling.hatenablog.com/entry/shrinkage-factor-and-horseshoe-prior

で紹介されているように、t分布やhorseshoe priorがある。特にhorseshoeは、

”0につぶしやすい一方で、0につぶれない係数は0に近づくような振る舞いをしないで最尤推定値に近づく”(上記リンクより引用)

 

という性質の良さから注目されている模様(Biometrika誌の”The Horseshoe Estimator for Sparse Signals”は2010年に発表されてすでに300回以上引用されている)。

Horseshoe priorは、d次元の回帰係数β=β1,β2,...βdについて、

θj |λj,τ ∼ N (0,λjτ),

λj ∼ C+(0,1),

と置く。ここでC+は半コーシー分布。

 

 

しかしながら Piironen, J., & Vehtari(2016) が、λjのpriorにC+(0,1)を使うのはpriorの影響が強すぎて汎化能力の低下をもたらす(縮小されないで残る係数が多すぎる)と指摘し線形回帰に対して以下のpriorを提案した。

y=βXi+ε

ε~N(0,σ)

のとき

 

βj ∼ C+(0,τ1)

τ1=p0/d * (σ/√n)

 

ただしdは回帰係数θの次元、p0はd次元のβのうち0でない数。

 

 

ロジスティック回帰の場合、近似的にσ=2を代入すれば良いとのこと。

当然p0は実際のデータ解析の場面で不明なわけだが、「そこらへんは事前の想定に応じて与えれば良いし、実験結果を見る限り適当に与えたとしても既存のpriorより性能が良い」とのこと。う〜ん。

 

Piironen, J., & Vehtari, A. (2016). On the Hyperprior Choice for the Global Shrinkage Parameter in the Horseshoe Prior. arXiv preprint arXiv:1610.05559.