主成分分析を行った後、新しいデータに対してどうするか?

公開日: 2016年5月8日日曜日 データ解析

手元にあるデータセットを用いて主成分分析 (principal component analysis, PCA) を行い、可視化をしたり、T2統計量・Q統計量を計算したりします。では、その後に新しいデータが得られた際はどうしましょうか?

選択肢としては主に以下の2つです。

  1. 最初のデータセットについてセンタリングやスケーリングを行っている場合は、その元の各変数の平均で新しいデータを引き、標準偏差で新しいデータを割った後で、最初のPCAで得られたローディングベクトルを用いて新しいデータを主成分スコアに変換する
  2. 最初のデータセットと新しいデータとを合わせて(連結させて)、再度PCAを実施する

それぞれのメリット・デメリットを考えます。

①のメリットの一つは計算が簡単ということです。例えば株価のデータや何らかの機器のデータなど、毎分・毎秒のデータが得られる場合でも、毎回簡単に主成分スコアの値を計算できます。

もう一つのメリットは、最初のデータセットと、新しいデータセットとの違いが分かりやすくなることです。例えばT2統計量・Q統計量をチェックする際、各統計量の値が最初のデータセットの値と同じくらいでしたら、新しいデータも最初のデータセットと類似していると考えられますが、各統計量の値が大きくなった際には、最初のデータセットと新しいデータとの違いが大きいということになります。

①のデメリットの一つは、センタリング・スケーリングにはそれぞれ最初のデータセットの平均・標準偏差を使用しているため、新しいデータにおいて平均や標準偏差が最初のデータセットから変化する際に対応できないということです。もう一つのデメリットは、最初のデータセットと新しいデータセットとを連結させた時のみに変数間に相関関係が成り立つ場合には対応できないということです。最初のデータセットのみでPCAを行っているため、その中での変数間の相関関係しか考慮されません。

②のメリットの一つは、最初のデータセットと新しいデータとを連結させてから再度センタリング・スケーリングを行うため、平均・標準偏差の変化に対応できることです。またもう一つのメリットとして、最初のデータセットと新しいデータセットとを同時に見てはじめて変数間に相関関係が成り立つ場合にも、PCAを再度実行することで対応可能なことです。

②のデメリットの一つは、計算負荷がかかることです。特にデータ数が大きく新しいデータが得られる頻度が高い場合は、PCAの計算に時間がかかってしまいます。またもう一つのデメリットは、最初のデータセットと新しいデータセットとの差が分かりにくいということです。平均・標準偏差を全体で計算しなおしてセンタリング・スケーリングしていますので、最初のデータセットと新しいデータセットとを合わせて一つのデータ分布とみなされてしまいます。

以上をまとめると、

①の方法を利用するのは、最初のデータセットと新しいデータとの違いに着目して解析したいとき

②の方法を利用するのは、最初のデータセット・新しいデータにかかわらずデータ全体を一つのデータ分布とみなして解析したいとき

ということになります。

  • ?±??G???g???[?d????u?b?N?}?[?N???A