多変量解析 超入門
【第1章】ようこそ、多変量の世界へ
私たちは日常のなかで、「たくさんのことが関係しあっている現象」によく出会います。
たとえば、人の健康を考えるとき、身長・体重・血圧・体脂肪率・運動習慣・食生活など、実に多くの要素が関わっています。「健康かどうか」という一つのテーマに対して、数え切れないほどの変数(変わりうるもの)が関係しているのです。
このように、「ひとつの観測に対して、たくさんの変数が同時に存在する」データのことを多変量データと呼びます。そして、それを扱うのが多変量解析という分野です。
● データが「点」になるという発想
まずは、もっと直感的に考えてみましょう。
ある人の「身長が170cm」「体重が60kg」だとしたら、これは $${ (170, 60) }$$ という2つの数値で表されます。これは数学的には、2次元の点として捉えることができます。
横軸に身長、縦軸に体重をとった平面に点を打てば、その人は「空間上のある位置」に現れます。
こうして「ひとりの人=1つの点」として表せるわけです。
もっと変数が増えて、「血圧(120)」「体脂肪率(18%)」などが加われば、データは $${ (170, 60, 120, 18) }$$ のようになります。これは4次元の空間にある点、つまり4次元ベクトルとして考えられます。
重要な視点:
1つの観測(=人)は「1つの点」
1つの変数(=身長など)は「1つの軸」
つまり、多変量データとは、多次元空間に点が散らばっているようなものだとイメージしてください。
● ベクトルと行列でデータを表す
多変量データを扱うには、線形代数の言葉がとても役に立ちます。とくに「ベクトル」と「行列」は、多変量解析の基礎言語とも言える存在です。
◆ 観測をベクトルで表す
たとえば、身長・体重・血圧のデータを持つ人を考えると、その人の情報は次のようなベクトルになります:
$${ x = \begin{pmatrix} 170 \\ 60 \\ 120 \end{pmatrix} }$$
ここで、
$${ x }$$ は「1人分のデータ」
数字の並び方は、1次元の「縦ベクトル」
それぞれの成分は、異なる変数(身長・体重・血圧)
です。
◆ 複数人のデータを行列で表す
今度は、10人のデータがあるとしましょう。そうすると、各人のベクトルを横に並べることで、次のようなデータ行列 $${ X }$$ を作ることができます:
$$
X = \begin{pmatrix}
170 & 160 & \cdots \\
60 & 55 & \cdots \\
120 & 130 & \cdots
\end{pmatrix}
$$
これは
行数が変数の数(ここでは3)
列数が観測数(ここでは10)
を表していて、$${ X }$$ は「3行10列の行列」になります。
● 分散と共分散の意味
データを分析するうえで欠かせないのが、ばらつきや関係の強さを測ることです。それを表すのが、分散と共分散という指標です。
◆ 分散とは?
ある変数 $${ x }$$ の値が、平均からどれくらいばらついているかを示すのが分散です。数式では次のように定義されます:
$${ \mathrm{Var}(x) = \frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})^2 }$$
$${ x_i }$$ は $${ i }$$ 番目の観測値
$${ \bar{x} }$$ は平均値
$${ n }$$ は観測数
分散は、平均からのズレの二乗の平均です。
◆ 共分散とは?
今度は、2つの変数 $${ x }$$ と $${ y }$$ が一緒に動くかどうかを測るのが共分散です。定義は:
$${ \mathrm{Cov}(x, y) = \frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y}) }$$
これは、
$${ x }$$ が大きいときに $${ y }$$ も大きい → 正の値
$${ x }$$ が大きいときに $${ y }$$ は小さい → 負の値
というふうに、「2つの変数の動きの方向」を教えてくれます。
● 共分散行列とは?
複数の変数の組み合わせについて、すべての共分散をまとめたものが、共分散行列です。
3つの変数 $${ x, y, z }$$ があるときの共分散行列 $${ \Sigma }$$ は次のようになります:
$$
\Sigma =
\begin{pmatrix}
\mathrm{Cov}(x, x) & \mathrm{Cov}(x, y) & \mathrm{Cov}(x, z) \\
\mathrm{Cov}(y, x) & \mathrm{Cov}(y, y) & \mathrm{Cov}(y, z) \\
\mathrm{Cov}(z, x) & \mathrm{Cov}(z, y) & \mathrm{Cov}(z, z)
\end{pmatrix}
$$
対角成分は、各変数の分散
非対角成分は、変数同士の共分散
行列は対称(上下が鏡のように一致)
この $${ \Sigma }$$ は、データのばらつきと方向性を示す地図のようなものです。
● 次章へむけて
ここまでで、多変量データを「ベクトルや行列」で捉えること、そして「ばらつき」や「関係」を表す指標(分散・共分散)について学びました。
次章では、いよいよこの情報を使って、データのばらつきをどのように数学的に記述するのかを丁寧に解説していきます。
【第2章】データはベクトル、関係は行列
前章では、多変量データが「点の集まり」として空間に存在すること、そして1人分のデータをベクトル、全体のデータを行列として表現できることをお話ししました。
本章ではその上で、データのばらつきをどのように数学的に記述するのか、そしてそれが後の主成分分析(PCA)や因子分析の土台になる「共分散行列」や「内積」の考え方につながっていくことを、数式を中心にやさしく説明していきます。
● ベクトルの内積と長さ
まずは、もっとも基本的な概念から確認しましょう。それが「内積」です。
◆ 内積の定義
2つのベクトル $${ x = (x_1, x_2, \dots, x_n) }$$ と $${ y = (y_1, y_2, \dots, y_n) }$$ の内積は、次のように定義されます:
$${ x^\top y = x_1 y_1 + x_2 y_2 + \cdots + x_n y_n }$$
$${ x^\top }$$ は $${ x }$$ の転置(列ベクトルを行ベクトルに)
各成分同士を掛けて、すべて足し合わせたもの
たとえば $${ x = (1, 2, 3) }$$、$${ y = (4, 5, 6) }$$ なら、
$${ x^\top y = 1×4 + 2×5 + 3×6 = 32 }$$ です。
◆ 内積の意味(比喩)
内積は、ベクトル同士の「なす角の情報」を含んでいます。
次のような公式があるからです:
$${ x^\top y = |x| \cdot |y| \cdot \cos \theta }$$
$${ |x| }$$ はベクトル $${ x }$$ の長さ(ノルム)
$${ \theta }$$ は2つのベクトルがなす角
$${ \cos \theta }$$ は「方向の近さ」の指標
つまり、
同じ向きなら $${ \cos \theta = 1 }$$ → 内積は最大
直角なら $${ \cos \theta = 0 }$$ → 内積はゼロ(直交)
反対向きなら $${ \cos \theta = -1 }$$ → 内積は負
このように、内積は「方向の関係」を数値化する道具です。
● データのばらつきと共分散行列
それでは、いよいよ「共分散行列」について数式を用いてしっかり学んでいきましょう。
◆ 観測行列の表現
$${ n }$$ 個のデータ(=観測)があり、それぞれ $${ p }$$ 個の変数(特徴量)を持っているとき、データ全体は次のような $${ n \times p }$$ 行列で表されます:
$$
X = \begin{pmatrix}
x_{11} & x_{12} & \cdots & x_{1p} \\
x_{21} & x_{22} & \cdots & x_{2p} \\
\vdots & \vdots & \ddots & \vdots \\
x_{n1} & x_{n2} & \cdots & x_{np}
\end{pmatrix}
$$
各行:1人分の観測(ベクトル)
各列:1つの変数(身長、体重など)
◆ 平均を0にしたデータ(中心化)
共分散行列を作る前に、データの各変数を「平均0」にしておくのが基本です。これを中心化(centering)と呼びます。
中心化されたデータ行列を $${ \tilde{X} }$$ とすると、共分散行列は次のように定義されます:
$${ \Sigma = \frac{1}{n} \tilde{X}^\top \tilde{X} }$$
ここで、
$${ \tilde{X}^\top }$$ は、$${ \tilde{X} }$$ を転置して、$${ p \times n }$$ 行列にしたもの
$${ \tilde{X}^\top \tilde{X} }$$ は $${ p \times p }$$ の正方行列になる
この行列の $${ (i, j) }$$ 成分は、第 $${ i }$$ 変数と第 $${ j }$$ 変数の共分散
つまり、これは変数間のすべての関係を記録した行列なのです。
● 共分散行列の幾何学的意味
では、$${ \Sigma }$$ がどういう「形」を表しているのかを、もう少し直感的に考えてみましょう。
◆ 分散と方向の伸び方
共分散行列は、空間上でのデータの広がり方(ばらつき)を、方向ごとに記述していると考えてください。
たとえば、2次元データで、
横方向(変数 $${ x }$$)の分散が大きい
縦方向(変数 $${ y }$$)の分散が小さい
両者の間に正の相関がある
というとき、共分散行列 $${ \Sigma }$$ は楕円を表します。
この楕円の長軸(長い方向)は、「データが最もばらついている方向」です。これが、次章で登場する主成分の正体です。
● 小まとめ:ベクトル、内積、そして共分散
ここまでの内容を整理すると、多変量データの世界では:
1人のデータはベクトルで表す
データ全体は行列(観測 × 変数)
変数間の関係(ばらつき・共通の動き)は、共分散で測る
共分散行列は、それらの情報をすべてまとめたもの
そして、
内積とは、方向の一致具合を数値で測る道具
共分散行列の構造は、内積をベースにできている
ということがわかります。
● 次章へむけて:主成分分析(PCA)の扉を開く
ここから先は
この記事が気に入ったらチップで応援してみませんか?
