統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

準1級-31 応用統計の手法

その他の多変量解析手法

  • 多次元尺度法
  • 正準相関分析
  • 対応分析
  • 数量化法

はじめに

「駅と駅の所要時間の表しかないのに、路線の地図は作れるの?」

電車の所要時間の表を眺めていると、数字はたくさん並んでいるのに、町の位置関係はさっぱり見えてきません。でも、表の数字をうまく使えば、地図を描き直すことができそうですよね。

統計の世界にも、似たことがよくあります。手元にあるのは、商品どうしの似ている度合いの表だけ。あるいは、年代と好きな味のクロス表だけ。主成分分析や因子分析のように、きれいな量的データの行列がそろっているとは限りません。

実は、多変量解析には、こうした「形の違うデータ」のための道具がそろっています。どれも発想は同じで、データを低い次元の地図に写して、関係を目で見えるようにするのです。

そこで登場するのが、今回の主役たち 多次元尺度法、正準相関分析、対応分析、数量化法 です。

前回の記事では、潜在因子で相関を説明する因子分析を学びました。今回の記事では、距離の表、2組の変数群、クロス表、質的なデータという4つの場面に合わせて、それぞれの手法について解説します。

多次元尺度法:距離の表から地図を作る

はじめに、距離の表から地図を作る多次元尺度法について解説します。

多次元尺度法(MDS: multidimensional scaling) は、個体どうしの距離の表から、その距離をできるだけ再現する点の配置を求める方法です。入力は距離だけで、変数の値はいりません。クラスター分析で学んだ距離行列を、グループではなく地図に直す方法だと考えてください。

代表的な 古典的多次元尺度法 の導出を見てみましょう。点の座標 x1,…,xnx_1, \dots, x_n が分かっているとして、重心を原点に置きます。距離の2乗は、次のように内積で書けます。

dij2=∥xi−xj∥2=bii+bjj−2bij,bij=xi⊤xjd_{ij}^2 = \|x_i - x_j\|^2 = b_{ii} + b_{jj} - 2 b_{ij}, \qquad b_{ij} = x_i^\top x_j

これを逆に解くと、距離の2乗の行列 D(2)D^{(2)} から、内積の行列 BB が求まります。

B=−12JD(2)J,J=I−1n11⊤B = -\frac{1}{2} J D^{(2)} J, \qquad J = I - \frac{1}{n}\mathbf{1}\mathbf{1}^\top

JJ をかける操作を 二重中心化 と言います。行の平均と列の平均を引いて、全体の平均を足す操作です。成分で書くと、bij=−12(dij2−dˉi⋅2−dˉ⋅j2+dˉ⋅⋅2)b_{ij} = -\frac{1}{2}(d_{ij}^2 - \bar{d}_{i\cdot}^2 - \bar{d}_{\cdot j}^2 + \bar{d}_{\cdot\cdot}^2) です。

あとは主成分分析と同じです。BB を固有値分解して、大きいほうから kk 個の固有値 λ1,…,λk\lambda_1, \dots, \lambda_k と固有ベクトル v1,…,vkv_1, \dots, v_k を使います。第 mm 軸の座標は λm vm\sqrt{\lambda_m}\, v_m です。

例題:4地点の地図を復元する

4つの駅 A, B, C, D の距離が、次の表のとおりです。古典的多次元尺度法で何次元の地図になるかを調べましょう。

ABCD
A0354
B3045
C5403
D4530

【解き方】

  1. 距離の2乗の平均を求める: どの行も (0 + 9 + 25 + 16) ÷ 4 = 12.5 で、全体の平均も12.5
  2. BB の成分を計算する: b11=−12(0−12.5−12.5+12.5)=6.25b_{11} = -\frac{1}{2}(0 - 12.5 - 12.5 + 12.5) = 6.25、b12=−12(9−12.5)=1.75b_{12} = -\frac{1}{2}(9 - 12.5) = 1.75
  3. 同じようにして b13=−6.25b_{13} = -6.25、b14=−1.75b_{14} = -1.75
  4. 固有値を求める: 16、9、0、0

答えは2次元です。固有値が0でない軸は2本で、残りは0なので、4地点は平面の上に完全に再現できます。実際、A, B, C, D は縦3、横4の長方形の4隅です。固有値の和は25で、第1軸だけなら 16 ÷ 25 = 64% を説明します。

ここで大切な性質があります。距離は回転や裏返しをしても変わらないので、地図の向きは決まりません。東西南北は分析者が解釈で読み取ります。

では、BB に負の固有値が出たらどうでしょうか? これは、距離の表がユークリッド空間の距離として完全には表せないしるしです。アンケートで作った「似ていなさ」の表では、よく起こります。そのときは、大きい正の固有値だけを使います。

せっかくなので、別の例も見てみましょう。5種類のお菓子を「どれとどれが似ているか」で順位づけしてもらったとします。この数字は順序にしか意味がありません。そこで、距離の順序だけを保つように配置を探す 非計量多次元尺度法 を使います。配置の悪さは ストレス という量で測り、小さいほどよい配置です。

試験のポイント:古典的多次元尺度法は「距離 → 二重中心化 → 固有値分解」の順です。ユークリッド距離の表から始めると、主成分分析の主成分スコアと同じ配置になります。

以上が、多次元尺度法についての解説です。

正準相関分析:2つの変数群のいちばん強いつながり

次に、2組の変数群の関係を調べる正準相関分析について説明します。

例えば、「文系の科目(国語・英語)」と「理系の科目(数学・理科)」の関係を知りたいとします。組み合わせごとに相関を見ると4つの数が出て、全体像が見えません。回帰分析なら目的変数は1つですが、ここでは両側に複数の変数があります。

正準相関分析(canonical correlation analysis) は、2つの変数群それぞれから合成変数を1つずつ作り、その相関が最大になる重みを探す方法です。2つのチームが代表者を1人ずつ出して、息の合い方を競うイメージです。代表者の作り方を工夫して、最も息の合う組を見つけます。

変数群 XX(pp 個)と YY(qq 個)の合成変数を、u=a⊤Xu = a^\top X、v=b⊤Yv = b^\top Y とします。

ρ1=max⁡a, b Corr(a⊤X, b⊤Y)\rho_1 = \max_{a,\, b}\ \text{Corr}(a^\top X,\ b^\top Y)

ρ1\rho_1 を第1 正準相関係数、u,vu, v を 正準変量 と言います。V[u]=V[v]=1V[u] = V[v] = 1 の条件のもとで、ラグランジュの未定乗数法を使うと、次の固有値問題になります。

ΣXX−1ΣXYΣYY−1ΣYX a=ρ2a\Sigma_{XX}^{-1}\Sigma_{XY}\Sigma_{YY}^{-1}\Sigma_{YX}\, a = \rho^2 a

ΣXX,ΣYY\Sigma_{XX}, \Sigma_{YY} は各群の分散共分散行列、ΣXY\Sigma_{XY} は群の間の共分散行列です。固有値が正準相関係数の2乗です。2番目以降は、前の正準変量と無相関という条件で順に求めます。したがって、正準相関係数は最大で min⁡(p,q)\min(p, q) 個です。

特別な場合が、q=1q = 1 です。このとき、YY の側は1変数なので、XX の合成変数と YY の相関を最大にする問題になります。これは、重回帰分析の重相関係数 RR そのものです。例えば rx1y=0.6r_{x_1 y} = 0.6、rx2y=0.5r_{x_2 y} = 0.5、rx1x2=0.5r_{x_1 x_2} = 0.5 なら、次のようになります。

R2=0.62+0.52−2×0.6×0.5×0.51−0.52=0.310.75≈0.413R^2 = \frac{0.6^2 + 0.5^2 - 2 \times 0.6 \times 0.5 \times 0.5}{1 - 0.5^2} = \frac{0.31}{0.75} \approx 0.413

したがって R≈0.643R \approx 0.643 で、個々の相関より大きいです。合成すると相関が上がるのです。

例題:2変数ずつの正準相関

X=(x1,x2)X = (x_1, x_2)、Y=(y1,y2)Y = (y_1, y_2) はどれも標準化されていて、x1x_1 と x2x_2 の相関、y1y_1 と y2y_2 の相関はともに0.5です。群の間の相関は rx1y1=rx2y2=0.5r_{x_1 y_1} = r_{x_2 y_2} = 0.5、rx1y2=rx2y1=0.3r_{x_1 y_2} = r_{x_2 y_1} = 0.3 です。この対称な構造では、正準変量は和と差になります。第1、第2の正準相関係数を求めましょう。

【解き方】

  1. 和どうしの共分散: Cov(x1+x2, y1+y2)=0.5+0.3+0.3+0.5=1.6\text{Cov}(x_1 + x_2,\ y_1 + y_2) = 0.5 + 0.3 + 0.3 + 0.5 = 1.6
  2. 和の分散: V[x1+x2]=1+1+2×0.5=3V[x_1 + x_2] = 1 + 1 + 2 \times 0.5 = 3。yy も同じ
  3. 第1正準相関係数: 1.6÷3≈0.5331.6 \div 3 \approx 0.533
  4. 差どうしの共分散: Cov(x1−x2, y1−y2)=0.5−0.3−0.3+0.5=0.4\text{Cov}(x_1 - x_2,\ y_1 - y_2) = 0.5 - 0.3 - 0.3 + 0.5 = 0.4
  5. 差の分散: V[x1−x2]=1+1−2×0.5=1V[x_1 - x_2] = 1 + 1 - 2 \times 0.5 = 1。yy も同じ
  6. 第2正準相関係数: 0.4÷1=0.40.4 \div 1 = 0.4

答えは ρ1≈0.533\rho_1 \approx 0.533、ρ2=0.4\rho_2 = 0.4 です。第1の組は「2変数の総合」どうしのつながり、第2の組は「2変数の差」どうしのつながりと読めます。第1正準相関係数は、どの個別の相関0.5よりも大きいことに注目しましょう。1つの変数も合成変数の1つなので、最大値はこれを下回りません。

以上が、正準相関分析についての説明です。

対応分析:クロス表を地図にする

続いて、クロス表を地図にする対応分析について解説します。

2級で、クロス表の独立性をカイ二乗検定で調べました。検定は「関連があるか」を教えてくれますが、「どの行とどの列が近いか」は教えてくれません。天気予報で「雨が降る」とだけ言われて、どの地域かが分からないようなものです。

対応分析(correspondence analysis) は、クロス表の行と列を同じ平面の上に点として置き、関連を地図で見せる方法です。コレスポンデンス分析とも呼びます。

具体的に見てみましょう。3つの年代の100人ずつに、好きなラーメンの味を聞いたとします。

醤油味噌豚骨計
10代302050100
20代403030100
30代503020100
計12080100300

総度数を nn として、P=N/nP = N/n を確率の表と見ます。rr を行の周辺確率、cc を列の周辺確率とします。独立ならセルの確率は ricjr_i c_j なので、そこからのズレを次のように標準化します。

sij=pij−ricjricjs_{ij} = \frac{p_{ij} - r_i c_j}{\sqrt{r_i c_j}}

この sijs_{ij} を2乗して全部足し、nn 倍すると、カイ二乗統計量になります。つまり、ズレの行列 SS の大きさが、関連の強さそのものです。これを 総慣性 と呼びます。

総慣性=∑i,jsij2=χ2n\text{総慣性} = \sum_{i, j} s_{ij}^2 = \frac{\chi^2}{n}

慣性は、物理の言葉を借りた名前です。行プロファイル(行ごとの比率)が平均からどれだけ散らばっているかを、重みつきで測った量だと考えてください。

SS を特異値分解すると、総慣性を大きい順に軸へ配分できます。これは、主成分分析の「分散を軸へ配分する」操作のクロス表版です。軸の数は、min⁡(行数−1, 列数−1)\min(\text{行数} - 1,\ \text{列数} - 1) 個です。

例題:総慣性と軸の読み取り

ラーメンの表について、χ2\chi^2 と総慣性を求めましょう。

【解き方】

  1. 期待度数を求める: 各行で 40, 26.67, 33.33
  2. カイ二乗統計量: 21.5(自由度4、p≈0.0003p \approx 0.0003)
  3. 総慣性: 21.5 ÷ 300 ≈ 0.0717
  4. 軸の数: min(3 − 1, 3 − 1) = 2

答えは総慣性 約0.0717、軸は2本です。特異値分解をすると、第1軸の慣性は0.0702で、全体の97.9%を占めます。第1軸の座標は次のとおりです。

行座標列座標
10代−0.35醤油0.20
20代0.07味噌0.17
30代0.29豚骨−0.37

読み方は簡単です。第1軸の左に10代と豚骨が、右に30代と醤油が来ました。つまり、この軸は「若い人の豚骨派」と「年上の人の醤油派」を分ける軸です。符号の向きには意味がなく、全部を反転させても同じ地図です。

ただし、1つ注意があります。行の点どうし、列の点どうしの距離には意味がありますが、行の点と列の点の距離は、そのまま比べられません。同じ向きにあるかどうかを見るのが基本です。

以上が、対応分析についての解説です。

数量化法:質的なデータに数字を与える

最後に、日本で生まれた数量化法を見ていきましょう。

アンケートの「はい・いいえ」や、「駅前・郊外」のようなカテゴリは、そのままでは計算に使えません。数量化法 は、カテゴリに適切な数値を割り当てて、回帰や判別などの分析をできるようにする方法です。林知己夫が体系化したので、林の数量化理論とも呼ばれます。

数値の割り当て方を決めるのは、分析者ではありません。目的に最もかなうように、データから決めます。テストの配点を先生が決めるのではなく、「最もよく成績を説明できる配点」を計算で求めるようなものです。

数量化法には、次の4つの型があります。

型外的基準(目的変数)データ対応する手法
数量化Ⅰ類量的質的な説明変数重回帰分析
数量化Ⅱ類質的(群)質的な説明変数判別分析
数量化Ⅲ類なしカテゴリの反応の表主成分分析に近い。対応分析と同等
数量化Ⅳ類なし個体どうしの親近性多次元尺度法

ⅠとⅡは、目的変数がある型です。ⅢとⅣは、目的変数がなく、構造を見るための型です。

1. 数量化Ⅰ類

数量化Ⅰ類は、ダミー変数を使った重回帰分析です。各カテゴリに与えられた回帰係数を カテゴリスコア と呼びます。

例題:数量化Ⅰ類のカテゴリスコア

ラーメン店4店の1日の来客数を調べました。立地と味が来客数にどう影響するかを、数量化Ⅰ類で分析しましょう。

立地味来客数
駅前醤油82
駅前豚骨98
郊外醤油48
郊外豚骨72

【解き方】

  1. モデルを立てる: 来客数 = 定数 + 立地のスコア + 味のスコア。郊外と醤油のスコアを0とする
  2. この表はバランスがとれているので、平均の差で求まる: 駅前の平均90、郊外の平均60で、差は30
  3. 同じようにして、醤油の平均65、豚骨の平均85で、差は20
  4. 全体の平均は75なので、定数は 75 − 15 − 10 = 50
  5. 予測値を計算する: 駅前・豚骨は 50 + 30 + 20 = 100

答えは、定数50、駅前のスコア30、豚骨のスコア20です。各項目のカテゴリスコアの範囲(最大 − 最小)を レンジ と呼び、大きいほど影響が大きいと読みます。立地のレンジ30が味のレンジ20より大きいので、この4店では立地のほうが効いています。

2. 数量化Ⅲ類

数量化Ⅲ類は、個体が選んだカテゴリの表(0と1の表)に対して、「同じものを選ぶ個体は近く、同じ人に選ばれるカテゴリは近く」なるように、個体とカテゴリの両方に数値を与える方法です。

ここがポイントです。これは、さきほどの対応分析と数学的に同じ問題を解いています。対応分析がフランスで、数量化Ⅲ類が日本で、それぞれ独立に育ったのです。同じ山に、東と西から登ったようなものです。

例えば、10人に「好きなスポーツ」を複数回答で聞き、数量化Ⅲ類で分析すると、「屋内派」と「屋外派」のような軸が現れ、人とスポーツを同じ軸の上に並べられます。

試験のポイント:目的変数が量的ならⅠ類、質的ならⅡ類、目的変数がなければⅢ類かⅣ類です。Ⅲ類は対応分析と同等であることも押さえましょう。

以上が、数量化法についての解説です。

細かい式を忘れてしまっても問題ありません。ここでは、「距離の表なら多次元尺度法、2組の変数なら正準相関分析、クロス表なら対応分析、質的な変数なら数量化法」という使い分けだけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は、形の違うデータを地図や合成変数に直す4つの手法について紹介しました。入力は距離の表、2組の変数群、クロス表、質的データとばらばらですが、中身はどれも固有値分解か特異値分解です。主成分分析で学んだ「情報の多い軸から順に取り出す」という発想が、形を変えて何度も登場しているのです。

今回のポイントを振り返りましょう。

振り返り

  • 多次元尺度法は距離の表から地図を作る。古典的な方法は二重中心化と固有値分解で、順序だけなら非計量の方法を使う。
  • 正準相関分析は2チームの代表者どうしの最大の相関を探す。個数は min⁡(p,q)\min(p, q) で、q=1q = 1 なら重相関係数になる。
  • 対応分析はクロス表の行と列を同じ地図に置く。総慣性は χ2/n\chi^2/n で、軸の数は min⁡(行数−1,列数−1)\min(\text{行数}-1, \text{列数}-1)。
  • 数量化法はカテゴリに数値を与える。Ⅰ類は回帰、Ⅱ類は判別、Ⅲ類は対応分析、Ⅳ類は多次元尺度法にあたる。

キーワードのおさらい

  • 多次元尺度法: 距離の表から、距離を再現する点の配置を求める方法
  • 正準相関分析: 2つの変数群の合成変数の相関が最大になる重みを求める方法
  • 対応分析: クロス表の行と列を低次元の地図に表す方法
  • 数量化法: カテゴリに数値を与えて多変量解析を行う方法の総称

さて、ここまでは、データの順番を入れ替えても結果が変わらない手法でした。でも、毎月の売上や毎日の気温は違います。今日の値は昨日の値に引きずられます。

次回は、自己相関とARIMAモデルを中心に「時系列解析」について紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 古典的多次元尺度法で、固有値が 40, 10, 3, 0 と得られた。2次元の地図で説明できる割合に最も近いものはどれか。
問2. 変数が3個の群と5個の群の正準相関分析の説明として、正しいものはどれか。
問3. 4行3列のクロス表で、総度数が200、χ2=30\chi^2 = 30 であった。対応分析の総慣性と軸の数の組として、正しいものはどれか。
問4. アンケートの質的な項目から、ある商品の1か月の購入額を予測したい。最も適切な手法はどれか。
問5. 数量化Ⅰ類で、定数が20、「都心」のスコアが15、「郊外」のスコアが0、「新築」のスコアが8、「中古」のスコアが0であった。都心の中古物件の予測値と、影響の大きい項目の組として正しいものはどれか。