今回は正則化で目にするLasso回帰の拡張であるprincipal components lasso (pclasso)についてRのパッケージをまとめておきます。
Lassoをはじめとして正則化回帰のベーシックな内容はこちらで復習
jojoshin.hatenablog.com
1. pLassoとは?
罰則項の一部が第一主成分と各主成分の差に基づいているLassoの一つの手法。(これがキモ)
2. なんのメリットがあるのか?
- もともとグループがわかっている時(パスウェイや遺伝子など)にはpowerfulである(後述)。
- ある変数が複数のグループに重複していても計算ができる(ある変数Aは、グループ1にもグループ2にも属している)。
3. 数学的な話
このpcLassoを数式で表すとこんな感じになります(変数の定義は、元論文をご覧ください)。数式の右辺の第2項目までであればLasso回帰であることはわかります。ポイントは第3項で、ここがPCと呼ばれる所以の項です。 と言うのは、第一主成分とそれぞれの差異をとった対角行列を表しています。この差異が大きいか、そうでないかが、罰則の大きさに関連してくると推察できますね。また、2つの変数でpclassoを行うことを想定すると、は任意のパラメータであり、であれば通常のLassoに近づき、であれば、その特異値の方向に対して線分が伸びるような形状の罰則となる(後述)。
2つの変数だけで、pclassoの罰則について図示すると下記のような形状をとる。上の3つは、左からRidge, Lasso, Elastic netの罰則項を示したものであり、下の3つがpclassoの罰則項を示している。下段最左は、二つの変数の相関が0.5である場合、下段真ん中は、二つの変数の相関が-0.3である場合、下段最右は、を変化させた場合の図です。
これらを見ると、相関係数が高い方が罰則項のエリアは狭くなっていることがわかります。これは、第一主成分と第二主成分の差異が小さいためと理解しています。また、下段最右の図から、が大きいと罰則項のエリアが小さくなることがわかります。
4. 応用例とその結果
論文中の応用例を紹介したいと思いますが、様々な細胞の種類でのp53遺伝子(がん抑制遺伝子)の変異について測定したデータを使用したようです(Subramanian et al. (2005))。データ自体は50個の細胞株からなり、17個は正常、33個はp53に何らかの変異を持っていたようです。308個の遺伝子セットは、変異の数が15から500の間まで幅がありました(つまり、1つの遺伝子セットに15個しか変異のないものもあれば、1つの遺伝子セットに500個の変異を含んでいるものもあった)。使用した列は13,327列ありました。
左図は、係数が0でないpathwayの数と、lasso, group lasso, pcLassoによって求めた係数が0でない数との比較です。スパース性と言う点では、group lassoの方が優っているように見えます。
右図は、lasso, group lasso, pcLassoによってモデルに含まれた変数の数をX軸にとり、AUC(Area Under Curve)をY軸にとったものであります。こちらでは、pcLassoの方が幅広い変数の数でより高い性能を保っていることが分かります。
5. まとめ
lassoの罰則項を工夫している方法が出てきていますが、解析をしているとやっぱり同じ遺伝子に位置している変数を独立的に扱うよりは同じグループだと仮定する方がパワーが上がるような気はしているのでそういうことだろうなーと思いながらも、新しい方法だったのでまとめておきました。Group Lassoとはどう違うんだろうか。次回は、piable lassoとかもやりたいところです(https://cran.r-project.org/web/packages/pliable/vignettes/pliable.html)。