elsur.jpn.org >

« 読了:西里(2014) 全情報解析への招待 | メイン | 覚え書き:対応分析を一般化特異値分解で説明する »

2018年5月11日 (金)

Nishisato, S., Clavel, J.G. (2003) A note on between-set distances in dual scaling and correspondence analysis. Behaviormetrika, 30(1), 87-98.
 調べ物の都合で読んだ。朝野先生がSASのサイトに載せていた、対応分析についてのコラムで引用されていたもの。
 第一著者は世界的に知られる偉大な計量心理学者。ここだけの話(ここってどこだ)、一般向けセミナーの聴講者のなかになぜかこの先生がおられて、穏やかな笑みを浮かべておられて...という背筋も凍る怪談を、私は複数の方から別々に聞いたことがある。起業家向けセミナーの聴衆に孫正義がいたというような話である。正直、もう怖くてセミナーなんてできない!と思いました。

 いわく。
 カテゴリカルデータを数量化する際、行変数の空間と列変数の空間はふつう異なる。行間の距離を座標から求めること、列間の距離を座標から求めることはできるけど、行と列の距離を座標から求めることはできない。
 いっぽう、行変数を列変数に射影することはできるし、逆もできる。これがいわゆる非対称的スケーリングであり、真の意味での同時グラフである。しかし、射影された変数のノルムは元の変数よりふつう小さくなる。つまり射影された変数は原点付近に集まる傾向がある。対応する特異値が小さいほどこのずれは大きくなる。言い換えると、最初のふたつの特異値がどちらも1に近いとき(上位2成分をプロットしたときとか), normed weightsとprojected weightsの exact plot はreasonableだが、第3成分と第5成分のexact plotを描いた日なんぞは、normed weightsの分散とprojected weightsの分散とのギャップが大きくなり、距離の比較はもはやreasonableでなくなる。[←このくだり、理解できたかどうか自信がない... 二元クロス表$Y$を総和で割って$P$とし、$P$の行和と列和を持たせた対角行列を$D_r$, $D_c$とし、$P$をうまいこと中心化したうえで、$D_r, D_c$を重みとして$NDM'$と一般化SVDしたとしよう。特異行列$N, M$がnormed weightsで, それに特異値を掛けた$ND, MD$がprojected weightsで、たとえば行のprojected weightsと列のnormed weightsを同時布置するのは正しいが、行の布置の分散は絶対に小さくなるよ。ということだと思うのだけれど、あっているだろうか]

 もっとも一般的な妥協案は、対称的スケーリングによって同時プロットをつくることである。その場合、2つの異なる空間が重ね書きされているということに気をつけないといけない。それはexactな記述ではなくて、practicalな近似だ。
 行と列を同じ空間に布置しようという試みの一つが、ご存じCGSスケーリングだが、明確な理論的基盤がなかった。Nishisato(1980 双対尺度法本), Greenacre(1989, JMRに載った批判論文)をみよ。実はNishisato(1990, 1997 いずれも手に入りにくそうな論文集)でその方法を提案している。
 本論文の主旨は:行と列との距離を求める方法はあるんだよ。あまりに単純なんだけど。

 $F$を$n \times m$分割表とする。成分$k$について、$y_k$を規準化された行ウェイト(長さ$n$)、$x_k$を規準化された列ウェイト(長さ$m$)とする。$y_k$で重みづけた反応と、$x_k$で重みづけた反応との相関$\rho$を最大化するように$x_k, y_k$を決めたい。
 良く知られた方法はこうである。$F$の行和をいれた対角行列を$D_r$, 列和をいれた対角行列を$D_c$とし、$D_r^{-1/2} F D_c^{-1/2}$の第$k$特異値を$\rho_k$として、
 $y_k = (1/\rho_k) D_r^{-1} F x_k$
 $x_k = (1/\rho_k) D_c^{-1} F' y_k$
Nishisato(1980)はこれをdual relationsと呼んでいる。

 $y_k, x_k$はnormed weights(ないし標準座標)と呼ばれている。なぜそう呼ぶかというと、$y'_k D_r y_k$と$x'_k D_c x_k$が事前に決めた定数と等しくなるからである。これに特異値を掛けた奴($\rho_k y_k, \rho_k x_k$)をprojected weights(ないし主座標)と呼ぶ。
 $y_k$と$\rho_k x_k$は同じ空間を張るし、$\rho_k y_k$と$x_k$も同じ空間を張る。でも、ある成分について行の軸と列の軸は$cos^{-1}\rho_k$だけ離れる。Nishisato(1996, Psychometrika)をみよ。
 だから行変数と列変数の同時布置は、ひとつの成分について2次元になり、ふたつの成分について3次元になる。いいかえると、行空間と列空間は違うもので、ある成分セットについて完全に記述するためにはもうひとつ次元を追加する必要がある。

 行と行の距離、列と列の距離についてはふつうカイ二乗距離を使う。行$y_i$と$y_j$があり、和の割合が$p_i, p_j$だとして、
 $\displaystyle d_{ij}^2 = \sum_k \rho^2_k (\frac{y_{ik}}{\sqrt{p_i}} - \frac{y_{jk}}{\sqrt{p_j}})^2$
 ところで、いま二次元空間上に点AとBがあり、原点からそれぞれまでの距離が$a, b$, AOBのなす角度が$\theta$だとしたら、AB間の距離は
 $d_{AB}^2 = a^2+b^2-2ab \cos \theta$
 さて、2成分について行空間と列空間を張ったとして、行$y_i$と列$x_j$とのカイ二乗距離を求めると、次のようになる。それぞれの和の割合を$p_{i.}, p_{.j}$として...[導出プロセスで落ちこぼれちゃったんだけど、先生を信じます]
 $\displaystyle d_{ij}^2 = \sum_k \rho^2_k \left( \frac{x^2_{jk}}{p_{.j}} + \frac{y^2_{jk}}{p_{i.}} - 2 \rho_k \frac{ x_{jk} y_{ik} }{ \sqrt{ p_{.j} p_{i.} } } \right)^2$

 [数値例。Rで途中まで試してみたけど省略]

 というわけで、行と行、列と列、行と列について距離行列をつくれる。これを非計量MDSで観察してみよう...[略]

 このように、行空間と列空間の乖離を表現するためには次元をひとつ追加する必要があり、その次元の寄与は、特異値が小さいときほど大きい。思うに、対称的スケーリングで同時プロットを描いていいのは特異値がコレコレ以上の時だ、というようなガイドラインがあったほうがいいのではないか。
 双対尺度法・対応分析は行と列の距離を無視している。現時点で、我々は行と行、列と列、行と列のカイ二乗距離を同時に分析する方法を持っていない。今後の発展が望まれる。云々。

 ...なんとか読み終えたけれど、やはりもっときちんと勉強しておかないとだめだなあ...

論文:データ解析(2018-) - 読了:Nishisato & Clavel (2003) クロス表の対応分析の結果から「行と列の距離」を求めるには

rebuilt: 2020年11月16日 22:54
validate this page