« 2019年11月 | メイン | 2020年1月 »
2019年12月31日 (火)
めしばな刑事タチバナ 35 せんべい緊急配備 (トクマコミックス)
[a]
坂戸佐兵衛,旅井とり / 徳間書店 / 2019-09-30
ワカコ酒 13 (ゼノンコミックス)
[a]
新久千映 / 徳間書店 / 2019-08-20
タイムスリップオタガール(5) (ポラリスCOMICS)
[a]
佐々木 陽子 / フレックスコミックス / 2019-09-12
やれやれ、コミックスの記録だけで力尽きた...
コミックス(2015-) - 読了:「めしばな刑事タチバナ」「ワカコ酒」「タイムスリップ・オタガール」
3月のライオン 15 (ヤングアニマルコミックス)
[a]
羽海野チカ / 白泉社 / 2019-12-26
イノサン Rouge ルージュ 11 (ヤングジャンプコミックス)
[a]
坂本 眞一 / 集英社 / 2019-11-19
MUJIN -無尽- 7 (7巻) (ヤングキングコミックス)
[a]
岡田屋 鉄蔵 / 少年画報社 / 2019-11-29
父のなくしもの (ビームコミックス)
[a]
松田 洋子 / KADOKAWA / 2019-07-12
春とみどり(2) (メテオCOMICS)
[a]
深海紺 / フレックスコミックス / 2019-10-10
ふしぎの国のバード 6巻 (ハルタコミックス)
[a]
佐々 大河 / KADOKAWA / 2019-07-13
極東事変 1巻 (ハルタコミックス)
[a]
大上明久利 / KADOKAWA / 2019-10-15
コミックス(2015-) - 読了:「3月のライオン」「イノサン」「無尽」「父のなくしもの」「春とみどり」「不思議の国のバード」「極東事変」
バイオレンスアクション(1)【期間限定 無料お試し版】 (ビッグコミックススペシャル)
[a]
浅井蓮次,沢田新 / 小学館 / 2020-04-10
バイオレンスアクション(2) (ビッグコミックススペシャル)
[a]
浅井蓮次,沢田新 / 小学館 / 2017-07-12
バイオレンスアクション (3) (ビッグコミックススペシャル)
[a]
/ 小学館 / 2017-10-12
バイオレンスアクション (4) (ビッグコミックススペシャル)
[a]
/ 小学館 / 2018-05-11
バイオレンスアクション (5) (ビッグコミックススペシャル)
[a]
/ 小学館 / 2019-11-12
台詞回しに室井大資さんの影響が色濃く感じられて、そんなにメジャーな作家ではないのに(すいません)、室井大資さんってクリエーターへの影響は大きいんだなあ...と感心していた。その後調べたら、原作の沢田新とは室井さんの別名義なのだそうだ。
ダンジョン飯 8巻 (ハルタコミックス)
[a]
九井 諒子 / KADOKAWA / 2019-09-14
アルテ 11巻 (ゼノンコミックス)
[a]
大久保圭 / コアミックス / 2019-07-20
乙嫁語り 12巻 (HARTA COMIX)
[a]
森 薫 / KADOKAWA / 2019-12-13
大奥 17 (ヤングアニマルコミックス)
[a]
よしながふみ / 白泉社 / 2019-08-28
ペリリュー ─楽園のゲルニカ─ 7 (ヤングアニマルコミックス)
[a]
武田一義,平塚柾緒(太平洋戦争研究会) / 白泉社 / 2019-07-29
心臓 (torch comics)
[a]
奥田 亜紀子 / リイド社 / 2019-07-24
講談社「アフタヌーン」誌で見かけたときは、あまたの高野文子フォロアーのひとりだなという印象だったんだけど、まとめて読んでみるととても面白い。
掲載誌のうち商業誌は講談社ばかりで、これなぜ講談社は単行本化しなかったんだろうか、不思議だ。
コミックス(2015-) - 読了:「ペリリュー」「大奥」「乙嫁語り」「心臓」「バイオレンス・アクション」「ダンジョン飯」「アルテ」
娘の友達(1) (モーニング KC)
[a]
萩原 あさ美 / 講談社 / 2019-08-08
娘の友達(2) (モーニング KC)
[a]
萩原 あさ美 / 講談社 / 2019-11-13
平凡な中年男が、なぜかやたらにセクシーな女子高生に言い寄られるという、一種の心理ホラー。怖い。
大ダーク (1) (ゲッサン少年サンデーコミックス)
[a]
林田 球 / 小学館 / 2019-11-12
あさひなぐ (31) (ビッグコミックス)
[a]
こざき 亜衣 / 小学館 / 2019-09-30
赤狩り THE RED RAT IN HOLLYWOOD (5) (ビッグコミックス)
[a]
山本 おさむ / 小学館 / 2019-05-30
赤狩り THE RED RAT IN HOLLYWOOD (6) (ビッグコミックス)
[a]
山本 おさむ / 小学館 / 2019-10-30
その女、ジルバ (2) (ビッグコミックス)
[a]
有間 しのぶ / 小学館 / 2014-07-30
BLUE GIANT SUPREME (9) (ビッグコミックススペシャル)
[a]
石塚 真一 / 小学館 / 2019-10-30
コミックス(2015-) - 読了:「BLUE GIANT SUPREME」「その女、ジルバ」「娘の友達」「大ダーク」「あさひなぐ」「赤狩り」
ハコヅメ~交番女子の逆襲~(8) (モーニング KC)
[a]
泰 三子 / 講談社 / 2019-07-23
ハコヅメ~交番女子の逆襲~(9) (モーニング KC)
[a]
泰 三子 / 講談社 / 2019-09-20
ハコヅメ~交番女子の逆襲~(10) (モーニング KC)
[a]
泰 三子 / 講談社 / 2019-11-21
いまもっとも楽しみな連載マンガのひとつ。それにしても、掲載があまりにハイペースで、ちょっと心配...
愚者の星(1) (月刊少年マガジンコミックス)
[a]
遠藤浩輝 / 講談社 / 2019-12-09
水は海に向かって流れる(1) (KCデラックス)
[a]
田島 列島 / 講談社 / 2019-05-09
田島列島短編集 ごあいさつ (モーニング KC)
[a]
田島 列島 / 講談社 / 2019-12-09
天地創造デザイン部(4) (モーニング KC)
[a]
たら子 / 講談社 / 2019-08-23
聖☆おにいさん(17) (モーニング KC)
[a]
中村 光 / 講談社 / 2019-07-23
コミックス(2015-) - 読了:「ハコヅメ」「聖☆おにいさん」「天地創造デザイン部」「愚者の星」「水は海に向かって流れる」「ごあいさつ」
アンダーニンジャ(2) (ヤンマガKCスペシャル)
[a]
花沢 健吾 / 講談社 / 2019-08-06
小路花唄(4) (アフタヌーンKC)
[a]
麻生 みこと / 講談社 / 2019-12-06
私の少年(7) (ヤンマガKCスペシャル)
[a]
高野 ひと深 / 講談社 / 2019-11-06
7人のシェイクスピア NON SANZ DROICT(10) (ヤンマガKCスペシャル)
[a]
ハロルド 作石 / 講談社 / 2019-11-06
ゴールデンゴールド(6) (モーニング KC)
[a]
堀尾 省太 / 講談社 / 2019-07-23
ヴィンランド・サガ(22) (アフタヌーンKC)
[a]
幸村 誠 / 講談社 / 2019-06-21
めしにしましょう(8) (イブニングKC)
[a]
小林 銅蟲 / 講談社 / 2019-08-23
コミックス(2015-) - 読了:「めしにしましょう」「ヴィンランド・サガ」「ゴールデンゴールド」「アンダーニンジャ」「小路花唄」「私の少年」「7人のシェイクスピア」
ディザインズ(4) (アフタヌーンKC)
[a]
五十嵐 大介 / 講談社 / 2019-10-23
ランド(9) (モーニング KC)
[a]
山下 和美 / 講談社 / 2019-09-20
天国大魔境(3) (アフタヌーンKC)
[a]
石黒 正数 / 講談社 / 2019-10-23
あせとせっけん(1) (モーニング KC)
[a]
山田 金鉄 / 講談社 / 2018-10-10
あせとせっけん(2) (モーニング KC)
[a]
山田 金鉄 / 講談社 / 2019-01-23
あせとせっけん(3) (モーニング KC)
[a]
山田 金鉄 / 講談社 / 2019-04-23
あせとせっけん(4) (モーニング KC)
[a]
山田 金鉄 / 講談社 / 2019-07-23
あせとせっけん(5) (モーニング KC)
[a]
山田 金鉄 / 講談社 / 2019-10-23
バトルグラウンドワーカーズ (1) (ビッグコミックス)
[a]
竹良 実 / 小学館 / 2019-08-30
バトルグラウンドワーカーズ (2) (ビッグコミックス)
[a]
竹良 実 / 小学館 / 2019-11-29
コミックス(2015-) - 読了:「ディザインズ」「あせとせっけん」「ランド」「天国大魔境」「バトルグラウンド・ワーカーズ」
2019年に読んだ本は2019年のうちに片づけておこう... まだ記録していなかった読了本、まずはコミックスから:
よちよち文藝部 世界文學篇
[a]
番子, 久世 / 文藝春秋 / 2019-12-12
軽いエッセイギャグマンガだけど、作者の才能に改めて脱帽。ダンテと一緒にカラオケにいく(そして"神曲"を歌う)なんて、なんで思いつくの...?
邦画プレゼン女子高生 邦キチ! 映子さん Season3 (ホーム社書籍扱コミックス)
[a]
服部 昇大 / ホーム社 / 2019-11-25
百姓貴族 (6) 通常版 (ウィングス・コミックス)
[a]
荒川 弘 / 新書館 / 2019-11-23
不浄を拭うひと (1) (本当にあった笑える話)
[a]
沖田×華 / ぶんか社 / 2019-11-14
ゆりあ先生の赤い糸(4) (BE・LOVEコミックス)
[a]
入江喜和 / 講談社 / 2019-09-13
おとなになっても(1) (KC KISS)
[a]
志村 貴子 / 講談社 / 2019-10-11
セクシー田中さん (2) (フラワーコミックスアルファ)
[a]
芦原 妃名子 / 小学館 / 2019-08-09
コミックス(2015-) - 読了:「ゆりあ先生の赤い糸」「おとなになっても」「セクシー田中さん」「邦キチ!映子さん」「よちよち文藝部」「百姓貴族」「不浄を拭う人々」
2019年12月30日 (月)
Burnhan, A.J., MacGregor, J.F., Viveros, R. (2001) Interpretation of regression coefficients under a latent variable regression model. Journal of Chemometrics, 15, 265-284.
仕事の都合で、PLS回帰の係数の解釈について説明する必要が生じ、あれこれ探し回って見つけた論文。
PLS回帰係数の解釈についての論文は珍しく、やったぜついに見つけたぜと喜んだんだけど、いざ読んでみると、疑問がいっぱい浮かんできて...
いわく。
主成分回帰(PCR)、PLS回帰といった潜在変数重回帰(LVMR)モデルでは、
$y = t Q + f$
$x = t P + e$
と考える。目的変数$y$は$m$次元, 説明変数$x$は$k$次元、潜在変数$t$は$a \leq k$次元とする。
PCR, PLSでは
$\hat{t} = x W$
とする。[$\hat{y} = \hat{t} \hat{Q}$に代入して$\hat{y} = x W \hat{Q}$だから] $\hat{B} = W \hat{Q}$と書けば
$\hat{y} = x \hat{B}$
と、標準的な回帰モデルと同じ形になる。つまり$B$は"回帰係数"である。
しかし、もともとのLVMRモデルに$B$が明示的に出ているわけではないので、これをどう定義し、どう解釈するかがはっきりしない。
予測子のランクを減らしている回帰モデルにおいて回帰係数をどう解釈するかという問題は、我々の知る限り、これまで検討されてこなかった。本論文ではLVMRモデルの回帰係数の解釈について考える。
まずはフルランクの回帰モデルについて考える。3つのモデルについて考えます。
モデル1、標準的な回帰モデル。
$y = xB_1 + f$
モデル2、予測子を確率変数とした標準的回帰モデル。
$E(y|x) = xB_2, \ \ V(y|x) = \Sigma_f$
モデル3、予測子が誤差を含む回帰モデル。
$E(y|u) = E(x|u) B_3, \ \ V(y|u) = \Sigma_f, \ \ x = u + e$
以下では次のように定義します。
$E(y|x) = x B^\circ$
$E(y|u) = E(x|u) B^*$
モデル2の下では$B_2 = B^\circ = B^*$である。モデル3の下では$B_3 = B^*$で、$u, e, f$が互いに独立に平均0, 共分散$\Sigma_u, \Sigma_e, \Sigma_f$のMVNに従うとすれば、
$\Sigma_u (\Sigma_u + \Sigma_e)^{-1} B_3 = B^\circ$
である。
[恥ずかしながらなぜこうなるのか、考えたんだけどわからない。モデル3は
$y = u B_3 + f$
だという理解で合っているだろうか? すると
$V(y) = \Sigma_u B_3 + \Sigma_f$
だよね? いっぽう$B^\circ$についていえば
$V(y) = V(y|x) + V(x)B^\circ = V(y|x) + (\Sigma_e + \Sigma_u) B^\circ$
だと思うんですよね。だから
$(\Sigma_e + \Sigma_u)^{-1} (\Sigma_u B_3 + \Sigma_f - V(y|x)) = B^\circ$
じゃないかなと。この左辺が$\Sigma_u (\Sigma_u + \Sigma_e)^{-1} B_3$に化ける理由がわからない。嗚呼...]
さあ、いよいよLVMRモデル
$y = t Q + f$
$x = t P + e$
について考えよう。以下では$e, f, t$がそれぞれ平均0のMVNに従い互いに独立だとする。
まず$B^\circ$について。$x$と$y$の同時分布は
$\displaystyle \Sigma_{xy} = \left[ \begin{array}{cc} \Sigma_e + P^T \Sigma_t P & P^T \Sigma_t Q \\ Q^T \Sigma_t P & \Sigma_f + Q^T \Sigma_t Q \end{array} \right]$
これより
$E(y|x) = x (\Sigma_e + P^T \Sigma_t P)^{-1} P^T \Sigma_t Q$
つまり$B^\circ = (\Sigma_e + P^T \Sigma_t P)^{-1} P^T \Sigma_t Q$となるわけである。
次に$B^*$について。もともと$E(y|u) = E(x|u) B^*$と定義してたわけだけど、ここでは$u = tP$だから、$E(y|t) = E(x|t) B^*$である。ってことは$t Q = tPB^*$である。これが任意の$t$について成り立つんだから$Q = PB^*$である。これを解くと[...本文に説明が載ってないし考えてもよくわかんないんだけど...]
$B^* = GQ + (GP-I) Z$
ただし$G$は一般化逆行列で$PGP =P$であり、$Z$は任意の[←えっ?] $k \times m$実数行列である。このように、LVMRモデルでは$B^*$は一意に決まらない。
[一生懸命説明してくれてんのにすまんけど、いまいちぴんとこない...]
わかりにくいんで具体例で示そう[←おう、そうしてくれ]。
$a=1, m=1, k=2$とし$\Sigma_e$は対角とする。
$P$はいまや列ベクトル、その要素を$p_1, p_2$とする。$Q$はいまやスカラー$q$。$B$はいまや列ベクトル、その要素を$b_1, b_2$とする。潜在変数は$t \sim N(0, \sigma^2_t)$。$e_1, e_2, f$はiid正規で、平均は0, SDはそれぞれ$\sigma_1, \sigma_2, \sigma_f$。もはや$t, p, q$はスケーリングしているだけなので、$\sigma_t = 1$とする。
[はいはい。要するに
$y = t q + f, \ \ f \sim N(0, \sigma_f^2)$
$x_1 = t p_1 + e_1, \ \ e_1 \sim N(0, \sigma_1^2)$
$x_2 = t p_2 + e_2, \ \ e_2 \sim N(0, \sigma_2^2)$
$t \sim N(0, 1)$
であるとき、$x$と$E(y|x)$の比$b^\circ$はどうなるの、潜在変数$u$の下で条件付けた$E(y|u)$と$E(x|u)$の比$b^*$はどうなるの、ってことね]
このとき、
$\displaystyle b^\circ_j = \frac{qp_j}{\sigma^2_j(p^2_1/\sigma^2_1 + p^2_2/\sigma^2_2 + 1)}$
であり、$b^*$は
$b^*_1 p_1 + b^*_2 p_2 = q$
を満たす任意のベクトルである。[←ああ、なるほど...]
では本題。PLS回帰の$\hat{b}$の分布について考えよう。さきほどと同様、$a=1, m=1, k=2$とする。
1因子PLSでは$w = X^T y$なので、
$\hat{b}^{PLS} = X^T y (y^T XX^T y)(y^T XX^T XX^T y)^{-1}$
となる[ついていけないけど、信じます...]。
上の式は、ベクトル$X^T y (y^T XX^T y)$をスカラー$(y^T XX^T XX^T y)^{-1}$で割っている。比の期待値を期待値の比で近似するとして、$E(\hat{b}^{PLS})$は [...$p,q,n,\sigma_t,\sigma_f,\sigma_1,\sigma_2$を使った近似式が示されている。複雑な式ではないけれど、5行くらいの長い式なのでメモ省略]
この式をよくみると、$\hat{b}^{PLS}$の要素の相対的サイズは、負荷$p_j$の相対的サイズだけでほぼ決まる。つまり
$E(\hat{b}^{PLS}_1 / \hat{b}^{PLS}_2) \approx p_1/p_2$
また、$\sigma_t$が大きいときには
$E(\hat{b}^{PLS}) \approx p^T (q / pp^T)$
となり、$b^*$の性質$b^*_1 p_1 + b^*_2 p_2 = q$を満たす。つまり、$b^*$の特定の事例を近似的に不偏推定している。
$n$が大きいときには、
$\displaystyle E(\hat{b}^{PLS}) \approx p^T \frac{q (pp^T) \sigma^2_t}{(pp^T)^2 \sigma^2_t + p \Sigma_e p^T}$
となる($\Sigma_e$ってのは$\sigma_1, \sigma_2$を持つ対角行列)。分母に$p\Sigma_e p^T = p^2_1 \sigma^2_1 + p^2_2 \sigma^2_2$がある。つまり、誤差が大きいほど、$E(\hat{b}^{PLS}) $は$b^*$の線を滑るようにして小さくなっていく。
これをOLS回帰と比較してみると [...面食らったんだけど、上と同じデータ生成メカニズムを仮定して、ということだと思う]
$E(\hat{b}^{OLS}) = b^\circ$
$E(\hat{b}^{OLS}_1 / \hat{b}^{PLS}_2) = (p_1 \sigma^2_2) / (p_2 \sigma^2_1)$
であることが示せる。
ここからはシミュレーション。
その1。$p_1 = p_2 = 2, q=1, \sigma_2 = 2, \sigma_f = 0.15, \sigma_t =1$に固定し, $\sigma_1$のみを4水準に動かす。つまり$x_1$のSN比だけを動かすわけである。$b^*$は$2b^*_1 + 2b^*_2 = 1$のままだが$b^\circ$は動く。[$n$が書いてない... 見落としたのだろうか...]
$\hat{b}^{PLS}$と $\hat{b}^{OLS}$は$\sigma_1$が2から離れるにつれて離れる。$OLS$では、$\sigma_1$が小さいときに$\hat{b}^{OLS}_1$が大きくなるわけだが、PLSではそうならない。OLSは常に$b^\circ$を不偏推定しているがPLSはそうでない。$b^*$という観点から見るとどちらにもバイアスがある[それは$\sigma_t$がそんなに大きくないからだよね...]。
$y$の予測性能を比べると、$\sigma_1$が$\sigma_2$から離れるにつれてPLSの性能が落ちる。誤差分散が違うのに回帰係数を調整しないからである。
その2。$p_1 = 1, q=1, \sigma_1 = 0.5, \sigma_f = 0.15, \sigma_t = 1$に固定し、$p_2$と$\sigma_2$をSN比が変わらないようにして引き上げる[つまり$p_2$を4倍したら$\sigma_2$は2倍する]。$b^\circ$は動かないが$b^*$の線は動く。
$\hat{b}^{PLS}$と $\hat{b}^{OLS}$は$p_2$が大きくなるにつれて離れる。こんどはOLSが$\hat{b}_1 = \hat{b}_2$の線上から動かず[SN比が同じだからね]、PLSがアンバランスになっていく[そりゃそうだ、$p_2$が大きいんだから]。予測性能はほとんど変わらない。[ああ、そりゃそうだな... 結局$X$のSN比は変わってないわけだから...]
考察。
結局、LVMRモデルの$\hat{B}$が推定しているのはなんだろうか。その答えは研究の目的によって異なる。
Myers(1986, 回帰分析の教科書らしい)いわく、回帰分析の目的は4つある。順にみていこう。
目的1、予測。分析者はデータ生成システムに関心を持たず、ただ$X$のなかの誤差分散のサイズに関心を持つ。この場合、回帰係数の定義には$B^\circ$がふさわしい。$B^\circ$は$X$の誤差分散を含んでいるから。
目的2、モデルの特定、つまりシステムの説明。この場合は$B^*$がふさわしい。ある変数の誤差分散が大きいからといってその変数をディスカウントするのはおかしいから。
目的3、変数選択。この場合はなぜ変数を選択したいかが問題になる。予測のためなら$B^\circ$が、以後の研究のためなら$B^*$がふさわしい。
目的4、パラメータ推定。この場合、そもそもLVMRモデルには$B$なんてないということに注意。$B^\circ$の立場からみればそれは$e, f$の分布に影響されるし、$B^*$の立場からみればそれは一意に決まらない。
Brownという人いわく、「多くの場合、$Y$の変動の一部はなんらかの予測子と連関している可能性がある。極端な例として$X_2 = cX_1$としよう。この場合、$b_1 + b_2c$だけが問題であって、$b_1$それ自体には意味がない」。
Cramerいわく、「$x_1$と$x_2$に高い相関があるときにはどちらかだけ使え、というアドバイスは、予測の状況では正しいが、理解という目的のためには正しくない」。
Hultquistという人いわく、「回帰係数$b_i$は単独では無意味だ。それは$Y$の予測において、collectivelyに役割を果たす」。
こういう引用において「無意味」と呼ばれている事態は、データがreduced-rankな構造を持っていることを直接にモデリングしなかったことの結果である。LVMRモデルは回帰係数を$B^*$として定義できる。それは$x,y,t$の線形関係という観点から有意味である。[←でも先生、それって一意には決まんないんでしょ....]
云々。
。。。いやー、自分なりに真剣に読んでみたんだけど、やはり学力が追い付かない内容であった。ケモメトリクスについて知らないから問題設定がわからないんだよな、と自分を慰めつつ...
恥を恐れず、この論文のメッセージを要約すると、こういうことなんじゃないかと思う。
PLS回帰を使おうとしているそこのあなた。あなたは、$X$には誤差があり、真の予測子は少数の潜在変数だと考えているわけだよね。あなたが推定したいのがなんなのかを考えるべきだ。$X$と$E(Y|X)$の関係 $B^\circ$を推定したいのか、それとも潜在変数$T$を固定したときの$E(X|T)$と$E(Y|T)$の関係 $B^*$を推定したいのか。あなたがやりたいことが予測なら、推定したいのは$B^\circ$であり、$X$の誤差分散に応じて回帰係数を割り引いてくれるOLS回帰がお勧め。あなたがやりたいことが説明なら、推定したいのは$B^*$であり、$X$の誤差分散がどうであれ回帰係数を泰然と維持してくれるPLS回帰がお勧め。
ううううむ。わからん。
回帰分析を説明という目的で行っているユーザが、きっとデータ生成構造は
$y = t Q + f$
$x = t P + e$
だ、よおしPLS回帰を使うぞ、と思うことがあるんだろうか? 仮にそうであれば、たとえばPLS因子数は実質科学的観点から決めるべきで、(通常行われているように)CVで決めるのは筋が通らないと思う。それに、もしそういうユーザがいたら、その人は負荷行列$P,Q$にのみ関心を持ち、$B^*$になんて関心を持たないのではないだろうか?
むしろ、回帰分析を説明という目的で行っているユーザがわざわざPLS回帰を使う、もっとメジャーな理由はこうじゃなかろうか。「私ですか? いえ、別にreduced-rankなデータ生成構造とか$x$の誤差とか考えてません。単に$E(y|x) = xB$だと考えてます。私は$B=B^\circ = B^*$を推定したいんです。でもほら、OLSだとたしかに$\hat{B}$は$B$の一致推定量だけど、手元のデータはサイズが小さいので(or 説明変数間の相関が高いので)、$MSE(\hat{B})$が大きくなりそうなんですよね。ですからPLSを選びました」。
こういう無節操なユーザに対して、いや流石にお目が高い、PLSの$\hat{B}$は($B^\circ$ではなく)$B^*$の特定の事例を近似的に不偏推定する推定量であり、つまり$X$の誤差分散の影響を受けませんからね...などと説明しても、ぽかーんとされるのではなかろうか。むしろ、分析者の推定対象は$B^\circ = B^*$であると考えて、
- 個々の説明変数$x_j$において$MSE(\hat{b}^{OLS}_j)$と$MSE(\hat{b}^{PLS}_j)$を比べたとき、PLSが有利になるのはどういう状況か(私の理解では、$X$がランク落ちに近づいている状況でさえ、PLSが必ず有利になるとはいえない)
- $E(\hat{b}^{PLS}_j)$は真の$b_j = b^\circ_j = b^*_j$からどっち向きにどのくらい歪むのか(私の理解では、$\hat{b}^{PLS}$はその二乗和が$\hat{b}^{OLS}$の二乗和より小さいという意味では縮小推定量だけど、個別の$\hat{b}^{PLS}_j$は必ずしも0に向かって縮小するとは言えない)
という2点を教えてあげるほうが大事なのではなかろうか...
というか、私はそういう話を聞きたかったのだと気持ちが整理できたので、読んでよかった、ということにしよう。逆にいうと、PLS回帰モデルをデータ生成メカニズムのモデルとしてまじに捉える人がやっぱしいるんだな(その割には$\hat{B}$なんかをみちゃうんだな)、という点が勉強になった。
論文:データ解析(2018-) - 読了:Burnham et al. (2001) PLS回帰モデルの「回帰係数」をどう解釈するか
2019年12月26日 (木)
Szepannek, G. (2018) clustMixType: User-Friendly Clustering of Mixed-Type Data in R. The R Journal, 10(2), 200-208.
数値変数とカテゴリカル変数が混じったデータを一発でクラスタリングするRパッケージclustMixTypeの紹介。実戦投入前の儀式として目を通した。ただのR Journalの記事だけど、読んだものはなんでも記録しておくのだ...
いわく。
Rで量質混合データをクラスタリングする方法としては以下がある。
- gowerパッケージなりcluster::daisy()なりで個体間のGower距離を求める。
- hclust()なりcluster::agnes()なりで階層クラスタリングする [さらっと仰るけどどういう意味よ... Gower距離行列をhclustに食わせるってことじゃなくて?それともいきなり量質混合データを食わせるってことかしらん]
- CluMixパッケージ。個体間の距離行列が必要になるので大データには向いてない。
- flexclustパッケージ。任意の距離関数によるk-centroids法。残念ながら量質混合データの距離関数はいまのところ提供されてない。
- fpc::flexmixedruns()なりclustMDパッケージなり。計算が大変。
- kamilaパッケージ。質的変数はダミー変数に展開しておく必要がある。
最近ではHuangのk-prototypeクラスタリングに基づく提案がたくさん出てきている。
というわけで、お待たせしました、clustMixTypeパッケージのご紹介です。
k-prototypesアルゴリズムというのは、次のような目的関数をとる分割クラスタリングである。$x_i$を個体$i$のベクトル, $mu_j$をプロトタイプ$j$のベクトルとして
$E = \sum_i^n \sum_j^k u_{ij} d(x_i, \mu_j)$
$u_{ij}$は分割を表す二値変数で、任意の$i$について$\sum_j^k u_{ij} = 1$となる。
さて、問題は距離の定義である。変数の数は$p$個、うち最初の$q$個の変数は数値で残りはカテゴリカルだとして、[以下、原文の表記がわかりにくいので、ベクトル$x_i$の$m$番目の要素を$x_{im}$と書く]
$d(x_i, \mu_j) = \sum_m^q (x_{im} - \mu_{jm})^2 + \lambda \sum_{m=q+1}^p \delta(x_{im}, \mu_{jm})$
ただし、$\delta(a,b)$は$a=b$のときに1, そうでないときに0となる関数。
$d()$はユークリッド距離と単純一致距離の重みづけ和となる。
あとはk-meansアルゴリズムと似ていて、(1)プロトタイプをランダムに選び (2)それぞれの個体について、それを$d()$が一番小さいプロトタイプに割り当て、プロトタイプを更新、(3)動かなくなるか反復数が最大に達するまで(2)を繰り返す。
プロトタイプとは、数値変数については平均、カテゴリカル変数についてはモードである。
というわけで、clustMixTypeパッケージではkproto()関数をご用意している。
この関数は重み$\lambda$をいい感じに決める。どうやるのかというと...
もともとHuangは$(1/3)\sigma \leq \lambda \leq (2/3)\sigma$がいいんじゃないかと云っていた($\sigma$は数値変数のSDの平均)。
いっぽうこの関数では、$\sigma$ないし$\sigma^2$と、カテゴリカル変数の集中度を測る$h_{cat}$の両方を考える。
$h_{cat}$の決め方はふたつある。その1, $h_m = 1-\sum_c p^2_{mc}$の平均とする[つまり、各変数について水準の割合の平方和を1から引いて、平均をとるわけね]。その2, $h_m = 1-max_c p_{mc}$の平均とする[各変数について最大の水準の割合を1から引いて、平均をとるわけね]。デフォルトではその1。
で、$\lambda$は$\sigma/h_{cat}$か$\sigma^2/h_{cat}$のどちらかにする。デフォルトでは前者。
[えーと、分子は数値変数の分散が大きいときに大きくなり、分母はカテゴリカル変数の分布が分散しているときに大きくなる。要は分散のバランスをみているわけだ]
[欠損はどう扱うかとか、アルゴリズムの高速化とか。メモ略]
[事例。省略]
...うーむ。読めば読むほど、そんなことでいいんすか?という疑念がわくぞ。要するに、全部カテゴリカル変数だったら、個体間の距離は単純なハミング距離ってことですよね。それってどうなの。
論文:データ解析(2018-) - 読了: Szepannek (2018) RのclustMixTypeパッケージ
Gower, J.C. (1971) A general coefficent of similarity and some of its properties. Biometrics, 27, 857-874.
量的変数と質的変数が混在しているデータで個体間の類似性を求めるとき、Gower距離というのを使うことがあるけど、これはその元論文。この時間がないときに、1971年の論文を読んでいるというモノ好きさときたら...
要するにこういう話であった。2つの個体$i$と$j$の間の類似性$S_{ij}$を求めるためには、まず各変数$k$について以下を求める。
- 二値変数だったら、両方1なら$s_{ijk}=1, \delta_{ijk}=1$, 片方1なら$s_{ijk}=0, \delta_{ijk}=1$, 両方0なら$s_{ijk}=0, \delta_{ijk}=0$。[Jaccard係数のような発想だ。これは0-0がマッチといえない場面を想定しているわけで、マッチといえるような場面ならばまた違う話になるだろう]
- 質的変数だったら常に$\delta_{ijk}=1$で、値が一致したときに$s_{ijk}=1$、そうでないときに$0$。[エエエエ。それって質的変数群についてはハミング距離になるってことだよね... いいんすかそんな話で]
- 量的変数だったr$\delta_{ijk}=1$で、$s_{ijk} = 1 - |x_i-x_j|/R_k$とする。ただし$R_k$はなんらかの値(たとえば変数$k$の範囲)。
$S_{ij} = \sum_k s_{ijk} / \sum_k \delta_{ijk}$
とする。
こうしてつくった個体の類似性行列(個体数$n$なら$n \times n$)は、欠損がない限り半正定値なのだそうだ(証明は読んでないけど)。
単に変数を通じて平均するんじゃなくて、なんらか変数に重み$w_k$を振って
$S_{ij} = \sum_k s_{ijk} w_k / \sum_k \delta_{ijk} w_k$
もよい($w_k \geq 0$なら類似性行列はやはり半正定)。
いっそ$w_k$を個体ペアごとに変え、2つの個体のその変数の値によって決めるという手もある。さすがにこの場合は半正定はならないかもしれない由。
... 後半は変数に階層性があるときの話らしいんだけど、いま関心ないのでパス。そういう場合の類似性の係数についてさんざん説明しておいて、「しかし私はこの係数の利用を勧めるのにかなりためらいを感じる。というのは、私自身は使ったことがないし使いたいと思ったこともないからだ」だそうです。はっはっは。
論文:データ解析(2018-) - 読了: Gower (1971) 質と量が混じっているときの類似性係数(人呼んでGower距離)
データの中に量的変数もあればカテゴリカル変数もある、そいつらをひっくるめて多変量解析にかけたい(たとえば個体をクラスタリングしたい)、というような状況をmixed dataの分析と呼ぶことがある。データ解析手法の話題としては比較的マイナーかもしれないけれど、日々の仕事のなかでは全然珍しくない、それどころか、むしろそういうのが通常営業である。
mixed dataのクラスタリング手法としてぱっと思いつくのは、(1)縮約してクラスタリングする(MCAからk-meansとか、Rのclusterdパッケージとか)、(2)距離行列を出してクラスタリングする(Gower距離からk-medoidsとか)、(3)四の五の言わずに潜在クラスモデルを組む、の3つだが、私はMplus信者なので、他の手法も試すとしても、とにかく(3)は絶対にやる。やらいでか。
しかし、こんど仕事の都合で出てきそうな奴は結構大きなデータなので、うっかりMplusなんかに食わせちゃったら、生きている間に終わらない...
Ahmad, A., Khan, S. (2019) Survey of state-of-the-art mixed data clustering algorithms. IEEE Access, 7.
というわけで、mixed dataのクラスタリングについてのサーヴェイ論文。本番では悩んでいる時間がとれなさそうなので、事前の予習のつもりで目を通した。
先行研究レビュー
5つの領域に分けて整理する。
A. 分割型クラスタリング。
k-means法のように、データ点$d_i$について(1)それが属するクラスタの中心$C_i$を定義し、(2)距離$\xi(d_i, C_i)$を定義し、(3)コスト関数$\sum_i^n \xi(d_i, C_i)$を反復で最小化する、というタイプの手法。データ点の数に対して線形だし、並列化可能である。
特徴の型が混合している場合の提案としては以下がある。
- K-prototypeクラスタリング(Huang, 1998,1997): クラスタ中心は、数値特徴については平均、カテゴリカル特徴については最頻値とする。この手法はあまりうまくいかない。最頻値だけでは情報の損失が大きいし、ハミング距離では類似性がうまく表現できないから。[RのclustMixTypeパッケージはこの手法だと思う]
- Ahmed & Dey (2007): まずデータからカテゴリカル特徴の値の類似度を求めておく。また数値特徴にもウェイトを振っておく。[RのDisimForMixedパッケージがこの手法だと思う]
- Huang, Ng, Rong, & Li (2005): W-K-prototypeクラスタリング。特徴に、クラスタ内距離の合計に反比例したウェイトを振る。[Rのwskmパッケージってこれかな? ちがうかも]
- Zao, Dai, & Tang (2007): カテゴリカル特徴のクラスタ中心を定義するのに頻度を使う。
- Modha & Spangler (2003): 個々の特徴について2点間のdistortionを求める。数値特徴は平方ユークリッド距離、カテゴリカル特徴はダミー行列のコサイン距離、で、それらをどうにかしてくっつける。
- Chen & He (2016): Ahmed & Dey (2007)の拡張で、data streamをクラスタリングする。micro-clustersという概念を使う。[よくわからんのでメモ省略]
- Ran, Liu, Wang, & Pan (2016): Ahmed & Dey (2007)の拡張。正規カーネルを使う。
- Ji, Bai, Zhou, Ma, & Wang (2013): Ahmed & Dey (2007)の拡張で、特徴に重みを振って反復のたびに更新する。
- Sangam & Om (2018): K-prototypeクラスタリングなんだけど、距離をもっとうまいこと定義しようという提案。
- Roy & Sharma (2010): Lu, Lu, Fotouhi, Deng, & Brownのfast genetic K-means clustering (FGKA)というのを、Ahmed & Dey (2007) が定義した距離でやりますという提案。
- Choiodi (1990): コスト関数としてユークリッド距離なりハミング距離なりのクラスタ内分散を使う。
- Kacem, Ncir, & Essoussi (2015): K-prototypeクラスタリングをMap-Reduceで並列化する。
- Jan, Kim, Kim, Jung (2018): 空間データのK-prototypeクラスタリングの高速化。
いったん数値特徴データに変換してからk-meansとかやればいいじゃん、というアプローチもある。
- Barcelo-Rico & Jose-Luis (2012): カテゴリカル特徴を極座標系とか球面座標系とかで表現してk-means。[へぇー]
- Wang, Chi, Zhou, & Wong (2015): context-based coupled representationでk-means. [なんのことだかさっぱり]
- Wei, Chow, & Chan (2015): 相互情報量を使って数値に変換してからk-means。[詳細はわからんがありそうな手法だ]
その他の提案として、
- Cheng & Leu (2009): K-prototypeクラスタリングを制約ベースクラスタリングに拡張。この2点は同じクラスタにしろ、というような制約をかける。
- Fuzzyクラスタリングをカテゴリカル特徴に拡張しようという提案もあって...[メモ省略]
さて、partitional clusteringに共通の難題がふたつある。
その1. クラスタ中心の初期値をどうするか...[メモ省略]
その2. クラスタ数をどう決めるか...[メモ省略]
B. 階層クラスタリング。
個体間の距離行列がありリンケージ基準があります、という手法。トップダウンかボトムアップかは問わない。たいていの場合、時間は$O(n^3)$、メモリは$O(n^2)$必要。
特徴の型が混合している場合の提案としては...
- Philip & Ottaway (1983): Gower距離行列で凝集型階層クラスタリング。[これは、まあ、思いつくわね]
- Chiu, Fang, Chen, Wang, & Jeris (2001): クラスタをくっつけたときの対数尤度の減少をクラスタ間の類似性としてBIRCHクラスタリング。[あ...これ、SPSS StatisticsのTwoStep Clusterの元論文といわれているやつだ...]
- Li & Biswas (2002): Goodall類似性というのを使って凝集型階層クラスタリング。
- Hsu, Chen, Su (2007): 「概念階層」に基づいて距離を求めて凝集型階層クラスタリング。[←説明がよく理解できないのだが、領域知識に基づいて距離を定義するらしい。ちょっと面白そうだなあ]
- Hsu & Huang (2008): これも概念階層による距離を使うが、適応共鳴理論(ART)ネットワークでクラスタリングする。[←くわばらくわばら]
- Shih, Jheng, & Lai (2010): いったん数値データに変換してから凝集的階層クラスタリング。
- Lim, Jun, Kim, McLeod (2012): 数値型とカテゴリ型でそれぞれクラスタリングして、あとでくっつける。
- Chae & Yang (2006): Gower距離で凝集型階層クラスタリング。[Philip & Ottaway(1983)とどう違うんだろう?]
C. モデル・ベースのクラスタリング。
データ点がなんらかのモデルに一致しているとみる手法。
- AUTOCLASS (Cheeseman & Shutz, 1996): 有限混合分布。ベイジアンで、特徴の事前分布を仮定する。
- Everitte(1988): これも有限混合分布。
- Lawrence & Krzanowski (1996): これも有限混合モデルなんだけど、等質なconditional gaussianモデルにして計算を速くする。
- Moustaki & Papageorgiou (2005): カテゴリカル特徴をダミー変数に変換して潜在クラス混合モデル。
- Browne & McNicholas (2012): 混合モデル, EMアルゴリズム [←著者らはmixtureパッケージの中の人のようだ]
- Andreopoulos, An, & Wang(2006): bi-level クラスタリング。カテゴリカルデータのクラスタに基づいて数値データをクラスタリングする。
- Hunt & Jorgensen (2003): 混合モデル。[説明が書いてあるんだけど、どこがユニークなのかわからんかった...]
- ClustMD (McParland, & Gormley, 2016) 混合モデル。モンテカルロEMとかGibbsサンプリング。カテゴリカル変数が多いと時間がかかるので、改良が進んでいる。[←RのclustMDパッケージであろう]
- Saadaoui, et al.(2015) 数値変数で張った空間にカテゴリカル変数を写し、主成分分析でどうにかする[よくわからんかった]
- コピュラを使ったクラスタリング... [いくつか紹介されているが、ぜんぜんわからんのでメモ省略]
- Foss, et al. (2016) KAMILAアルゴリズム [これは別途調べるつもりなのでメモ省略]
- Fuzzy クラスタリング ... [いくつか紹介されているがメモ省略]
D. ニューラル・ネットワーク・ベースのクラスタリング。
大きく分けて自己組織化マップ(SOM)と適応共鳴理論(ART)がある。どちらもカテゴリカル変数には工夫が必要。
- Hsu (2006): カテゴリカル変数を概念階層に基づき数値化... [さっぱりわからん。以下, Hsuさんたちのを含めてSOMを使うアプローチがたくさん紹介されているが、よくわからんし疲れてきたのでメモ省略。しかし、SOMが質量混合データに使えるのは魅力的だなあ。Rには SOMbrero というパッケージがあるようだが、これはデータとして$n \times p$数値行列のほかに$p \times q$分割表や$n \times n$非類似性行列が食えるというものらしい、大データだと難しそうだなあ]
- ARTアプローチでは... [2つくらい挙がっている。メモ省略]
E. その他。
- スペクトラル・クラスタリングだと ... [メモ省略]
- 部分空間クラスタリングだと ... [メモ省略]
- 密度ベースクラスタリング(DBSCANとか)だと、Du, Ding, Xue (2017), Ding, Du, Su, Zu, Xue (2017), Liu, Yang, He (83), Milenova & Campos (84), Du et al. (2018). [Rの実装は見当たらない... ガックリ]
- Conceptual clustering ... [メモ省略]
- well-separated partitionの定義を非階層クラスタリングに応用して... [MIXISOというらしい。メモ省略]
- affinity propagation clustering ... [メモ省略]
- [...その他、実にいろいろな話題が出てくる。正直疲れ果てたので一気に省略する]
サーヴェイした結果の分析
結局、一番実用的なのは分割型クラスタリングだろう。単純だしスケールするから。[おいおい、身も蓋もねえな]
混合データのクラスタリング研究の多くは、教師ラベルつきのデータを教師ラベル抜きでクラスタリングして、結果を教師ラベルと比べている。[その比べ方がしょぼいよね、という批判が最後のほうに出てきた]
同じデータでアルゴリズムを比較している研究は見当たらない。みんなそれぞれ好きなデータを使っている。[それではいかんよねという話が最後のほうに出てきた]
ソフトウェアとアプリケーション
Rでは...
- clustmixtypeパッケージ: K-prototypesクラスタリング
- ClustMDパッケージ: 混合モデル
- Gower類似性行列をつくって[cluster::daisy()とかかな]、階層的クラスタリングなりk-medoids法なりに持ち込むという手がある。
- ClustOfVarパッケージも混合データを扱える [←でもこれ変数のクラスタリングでしょ?]
- CluMixパッケージ
- KAMILAパッケージ
- MixClusterパッケージ: コピュラを使うアプローチ
MATLABでは...[略]。
主要な応用分野としては...[めんどくさいのでスキップ]
影響を与える領域と今後の課題
これから影響を与えるであろう領域としては...[略]
今後の課題は:
- 分割クラスタリング: クラスタの中心をどう定義するか、中心からの距離をどう定義するかが課題。クラスタ初期化・クラスタ数決定の方法も課題。
- 階層クラスタリング: 類似度をどう定義するか。
- モデル・ベース・クラスタリング: パラメータ数が少ない適切なモデルの開発が求められる。
- NNベース・クラスタリング: SOMはプアなトポロジーになっちゃってデータにあわないことが多いしARTは計算が大変。他のアプローチもあるんやないか。適応下位空間SOMとか。[←なにそれ]
オープン・クエスチョンとしては... [箇条書きで13個くらい書いてあったけど省略。従来のconstrained clusteringに限らず、もっと領域知識をうまく使う方法を考えたほうがいいんじゃないの、なんて書いてあって、そりゃそうだなあと思った]
... やれやれ、疲れた。
とりあえず概観できたのでありがたいけど、手元に抱えている問題に対してはなんの解決にもなってない... さあどうしよう...
論文:データ解析(2018-) - 読了:Ahmad & Khan (2019) 量質混在データのクラスタリング手法レビュー
« 2019年11月 | メイン | 2020年1月 »