活動報告

新着記事

カテゴリー

キーワード検索

2013.10/30 主成分分析の計算方法

主成分分析は元のデータ群に対して変数軸の回転を行い、変動が最大となる新たな軸でデータを眺めているだけである。

 

主成分分析ではデータの変動が最大となる軸、すなわちその軸でデータを整理するとデータが最も散らばってプロットされる。ここでは複雑な数式を書くことができないので軸を回転して新たな軸を求める計算方法を書かない。

 

ただし、計算の考え方を少し説明すると、ある条件の下で変動が最大になる条件、すなわちある条件の下で関数の極値を計算で求める。この時、ラグランジュの未定係数法が出てくる。

 

多変量解析の教科書で化学系の人間が読んでいて嫌になるのは学生時代にマジメにやらなかった線形代数の計算が出てくる点。改めて線形代数の教科書を買い込み勉強することになる。

 

線形代数を理解できると、主成分分析の計算は、ただ分散共分散行列の固有値を計算で求めているだけ、ということに気がつく。これは、ラグランジュの未定係数法の極値条件で最大値をとる必要条件なのだが、計算手続きとして主成分分析の計算を眺めると極めて単純である。

 

教科書では数ページにわたり式が展開され専門外の人間に恐怖を与えているが、固有値問題と理解すれば怖くない(このように書くと統計学の先生に叱られるかもしれない)。

 

分散共分散行列の最大固有値に対する固有ベクトルの成分が、元のデータに対する新たな第Ⅰ主成分の軸の方程式の係数となる。このようにして第二主成分、第三主成分と元のデータの変数に応じて新たな軸を求めてゆく。このようにして求められた新たな軸でデータを検討する方法が主成分分析である。

 

計算方法を理解すると主成分分析はデータのばらつきが大きくなる軸で整理しているだけ、と実感し納得できる。線形代数の詳細な計算の理解など不要である。むしろ計算された結果の考察が重要である。

 

教科書を読むと、新たな軸に名前をつけよ、とある。新たな軸に名前をつけると資料分析に役立つ、とあるがどのような名前をつければ良いか迷うことがある。子供の名前でも苦労したのである。日々の日常業務で命名に時間を使っていたのでは仕事が進まない。軸に名前をつけることにどれだけの意味があるのか執筆者に突っ込みたくなるが、昔の本である。

 

30数年間の開発で使っていたのは、主成分の方程式の係数を見て、大きい係数の項目のかけ算の表現を名前とする方法である。また、求められた主成分方程式の軸では無く実際にそのかけ算の値を軸として整理し直したこともあった(注)。

 

ビッグデータブームとしてテレビで取り上げられることが多くなった主成分分析であるがテレビで仰々しく報じているような科学の進歩の壮大な成果というほどのものではなく、その中身は意外に簡単なのである。

 

データが巷にあふれてきたので約半世紀前の手法で整理して眺めているだけである。しかし、それでインフルエンザの流行が事前にわかったりするのだから便利で、このような便利な手法を実務で利用しないのはもったいない。

 

(注)主成分分析では統計学的に分散が最大となる軸でデータを整理してゆく。しかし、実務的には新たに求められた主成分の軸よりも、その軸の方程式から推定される技術的な意味のある軸で整理しなおした方が理解しやすい場合がある。最大の分散でデータを眺めることにはならないが、データ群を理解するときに、主成分と異なるそのような軸で眺めた方が直感的に理解しやすい。また、その軸を求める過程で、アイデアがひらめくこともある。実務的には主成分分析で全てのデータを特徴付けることよりも、軸を変えてデータを見直すこと、すなわち視点を変えてデータを見直す作業そのものが重要である。

 

重要なポイント:

実務で主成分分析を行う意義は、目前のデータを異なる視点でまとめ直すところにある。その結果新たなアイデアが生まれることもあるが、新しい事象が見つからないこともある。後者の結果が得られたからといって主成分分析が無駄な作業という意味ではない。なぜなら、企業の研究開発ではあらゆる視点でデータを見直すことは重要な作業だからである。

 

 

 

カテゴリー : 一般 連載

pagetop