新シリーズ第21回 特異値分解によるデータの縮約

統計学の初心者が引っ掛かりそうな罠や、普通の実務書にはあまり書かれていないコツをとりあげる新シリーズ。今回は、ビッグデータで目にします「特異値分解」です。特異値と固有値の違いから解説していただきます。

やさしい統計学講座 ~教えて朝野先生~

R&D技術顧問 朝野熙彦

第21回 特異値分解によるデータの縮約

Q.ビッグデータ関連の文章を読んでいて「特異値分解」という言葉が出てきたのですが、何のことでしょうか。固有値と特異値は違いますか?現実のマーケティングの仕事とどのように関わるのかも教えてください。

A.(朝野先生)特異値分解はビッグデータ時代に活躍している実用性の高い方法です。今回はビッグデータを縮約する行列分解法のいくつかを紹介します。最後に特異値分解にしたがう分析結果のグラフ描きについて注意を書きます。調査レポートにあたって参考にしてください。

■ 特異値と固有値

 特異値と固有値は、どちらも行列から導かれる定数であって、対象の行列が何かによって図1のように両者の違いが区別されます。本稿ではXはn行p列で、ASはn行n列だとします。調査関係者には矩形行列の方が見慣れているでしょう。なぜならnサンプルにp個の質問をして得られた数値テーブルが矩形行列だからです。

図1 3種類の行列の相互関係

 矩形行列は正方行列の制約をゆるめて「一般化」した行列であり、対称行列は正方行列の要素に対称制約を入れて「特殊化」したものです。その意味で特異値が固有値の上位概念にあたることが分かるでしょう。

 さて、調査の実務では対称行列Sがよく出てきます。相関行列や分散共分散行列がそうです。対称というのは、たとえば年齢と月給の相関係数は月給と年齢の相関係数と同じだ・・というような当たり前に思える性質をさします。相関行列もリサーチャーにとって珍しくないでしょう。

■ 固有値は何を意味するのか

 対称行列の固有値と固有ベクトルの関係を図2に描きました。数値例の行列はyasashi_09_img1であり、固有値はの2つです。それぞれに対応した固有ベクトルはの2つです。
 本稿では固有値と固有ベクトルの計算手続き(アルゴリズム)は解説しません。実務レベルの規模のデータですと人間が手計算するのは無理です。Excelなどのプログラムを使ってコンピュータに計算させるしかありません。リサーチャーは固有値・固有ベクトルの計算手続きなどは知らなくて構いませんが、それらが何を意味するのかだけは理解してほしいです。

 さて図2の図解から、固有ベクトルとは、そのベクトルに左から行列を掛けても、方向は変わらず長さがλ倍になるベクトルであることが分かります。図2のなので行列を掛けても不変です。そして対称行列の固有ベクトルの間には「直交」という性質があります。図2のように、直交というのは幾何学的にいえばベクトルが90度で交わる、という意味です。それを統計学的にいえば、は無相関だという意味になります。

図2 対称行列の固有ベクトル

 以上の性質が分かって、リサーチの仕事の上で何の情報になるのかを説明しましょう。が分散共分散行列の場合はは主成分スコアであり、固有値λは主成分スコアの分散になります。ですから図2は第1主成分スコアの分散が第2主成分スコアの分散の3倍であること、そして2つの主成分スコアが無相関になるとことを証明しているのです。本節から固有値と固有ベクトルがたんなる抽象的な数学理論ではないことに納得がいったでしょうか。

■ 矩形行列の特異値分解

 次にn行p列の行列Xの特異値分解(singular value decomposition; SVD)について説明します。の階数がr(r≦n,p)だとします(注1)。

 ここでUn×rの左特異ベクトル行列 、Vp×rの右特異ベクトル行列といいます。いずれもU’U=V’V=Irと列直交行列になっています。そして 特異値を主対角要素に並べたr次の対角行列が①のMです。

①の分解は特異ベクトルの同時符号反転、同時入れ替えを除いて一意に定まります。同時入れ替えとは特異値と特異ベクトルの配列を並べかえても特異値分解は変わらないという意味です。特異値分解を数値例で確かめてみましょう。

3番目の特異値はでしたのでの階数はr=2です。①右辺3つの行列の積を計算すると次のようにが正確に再現できることが分かります。

 次に特異値分解の活用法を述べます。特異値が大きいs個( ただしs<r )だけ残して残りをカットした行列を*で表しますと、②のようにが近似できます。~は近似の記号です。②によりとの2乗誤差を最小化できます。なおsはユーザーによって空間の次元数とか座標の数ないし軸の数、解の数など様々な用語で呼ばれています。

 のデータ量がn×pだった場合、それをs次元に縮約することで②式右辺のユニークなデータ量はs(n+p+1)個になります。たとえば1万サンプルで変数が千個だったらデータ量は千万です。それをs=2に絞ると2万少々の情報で近似的に再表現できることになります。特異値分解は情報を圧縮して伝送し、②に従ってを復元する用途に使えます。通信の世界でいうエンコーディング(符号化)⇒デコーディング(復号)の処理に相当します。

■ 潜在意味解析

 調査票の自由回答やネット上の書き込みを分かち書きすることで、表1のような文書×単語のデータが得られます。これは、2019年12月のフィギュアスケートグランプリファイナルの終了後にネットに書き込まれたコメント10件から私が作ったものです。出現順を無視して一つの文書に同じ単語が何回書き込まれたかの頻度を表しています。そのためところどころ2という頻度が出てきます。


ジャンプ ロシア 4回転 フィギュア 体型変化 オリンピック スポーツ競技 15 3人娘 ザギトワ 身長 金メダル 点数稼ぎ 演技 最盛期 女の子 スポーツ生命
コメント1 1 1 1
コメント2 1 1
コメント3 1 1 1 1
コメント4 1 1 1 1 1
コメント5 1 2 1
コメント6 1 1 1 1 1
コメント7 1 1 1 1
コメント8 1 1 1
コメント9 1 1 1 2 1 1
コメント10 2 1 2 1 1

表1 ネット上に現れた単語の出現頻度(10×17のX行列)


図3 潜在意味解析の結果

 表1を特異値分解して、右特異ベクトルの第1次元と第2次元を組み合わせて17個の単語を空間表示したのが図3です。潜在意味解析は、多数の単語から類似語のような雑音を除去して、本質的に意味のある次元に整理するのに適しています。

【今回のまとめ】

  • 今回はビッグデータ時代の分析に必要な行列分解のお話をしました。関連する分析法として、データがまれにしか発生しないスパース(疎)な行列分解や非負値行列因子分解(non-negative matrix factorization ; NMF)があります。いずれも応用的に重要です。最近、麻生(2017)による解説が出ましたので、ご覧ください。特異値分解の理論については柳井・竹内(1983)や高根(1995)が詳しいです。
  • 特異値分解はデータを圧縮する手段です。図1に示したようにデータの形状が一般的ですのでビッグデータの解析に有益です。自由回答の潜在意味解析も特異値分解の応用です。情報の圧縮率(表現の効率)は特異値によって評価されます。
  • 潜在意味解析、主成分分析、コレスポンデンス分析、数量化理論Ⅲ類の解はいずれも特異ベクトルです。特異ベクトルは直交しています。また正負の符号反転は任意です。これらの性質からして、上記の分析結果をグラフ表示する際は、次の点に留意しなければなりません。

    1. 座標軸の左右を逆にすること、上下を反転することはユーザーの自由である。
    2. 座標軸が90度で交わることには数学的な根拠がある。見た目のインパクトを優先して座標軸を斜めに描くインフォグラフィックは誤りである。
    3. 座標のスケールを同じ倍率で一斉に拡大縮小することは差し支えない。しかし個々の軸ごとに違った倍率で伸縮させてはならない。
    4. どの軸が重要かを示す特異値の情報は特異ベクトルの図を見ても読み取れない。特異値の数値を省いた調査レポートや研究論文を見ることがあるが、特異値は原データを復元するのに必要であることを理解していなければならない。

■ 引用文献

  • 麻生英樹(2017)行列データの分解、岩波データサイエンスVol.5,91-103
  • 高根芳雄(1995)「制約つき主成分分析法」朝倉書店
  • 柳井晴夫・竹内啓(1983)「射影行列・一般逆行列・特異値分解」東京大学出版会

(注1)階数とは行列の一次独立なベクトルの最大数です。階数は行列の非負の特異値の数、そして空間の次元数とも一致します。

2020年2月13日


《朝野煕彦教授 プロフィール》

1969年 千葉大学文理学部卒業後、マーケティング・リサーチの実務を経て、1980年埼玉大学大学院修了。筑波大学特別研究員、専修大学、東京都立大学教授、多摩大学および中央大学客員教授を歴任。学習院マネジメントスクール顧問。日本マーケティング学会監事。「入門多変量解析の実際」「ビジネスマンがはじめて学ぶベイズ統計学」「マーケティング・リサーチ プロになるための7つのヒント」「ビッグデータの使い方・活かし方」「アンケート調査入門」「マーケティング・サイエンスのトップランナーたち」など著書多数。
株式会社リサーチ・アンド・ディベロプメント技術顧問。

朝野煕彦