プロが教える店舗&オフィスのセキュリティ対策術

主成分分析では主成分軸
z=a1x1+a2x2+・・・
を考えた時、最もzの分散を最大化するようなa1,a2を考える問題かと思いますが、

文献では事前にx1,x2を平均値との差求めた値とすることで、
分散共分散行列の固有値問題に変換することが可能とありました。

主成分分析の計算自体は理解したのですが、

Q1「なぜ事前に平均値を引いておくのでしょうか?」
Q2「平均値を引かない場合は主成分分析にならないのでしょうか?」

標準化や正規化が必要という話は、分散最大化の時に厄介になるから、と理解できるのですが、
平均値で引いておく、というのはどの文献でも共通していたので、疑問に思い質問させていただきました。
よろしくお願いいたします。

質問者からの補足コメント

  • ご回答ありがとうございます。

    回答内容についてもう少しだけお聞きしたいのですが、そもそもが「平均値を引いてから特異スペクトル分解する」=「主成分分析の解き方の定義」とのことですが、
    そもそも平均値を引く(重心を考える?)ことの、目的とはどんなものなのでしょうか?

    データに対して主成分軸を引こうと考えた時に「平均から引いておいたらいいんじゃないか」という発想が出てきません。
    平均を引かないことでの弊害などあるのでしょうか?

    もしご存じでしたらお願いいたします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/06/07 11:13

A 回答 (4件)

#3です。



#3を読んで、次の質問の回答を考えてください。

(1)太陽系の星々の動きの特徴を抽出したい。次の2つのうち、どの観測が適するか。
①地球や太陽を基準として見た惑星の動きを観測する。
②アンドロメダ星雲から太陽系を眺める。

②は、動きの特徴が全く観測されないでしょう。つまり主成分分析はデータの動きの特徴を抽出したいという目的を持っていますので、その場合はなるべくデータに近寄って見るのがいいですよね。その究極が、データの内部から観測するってことです。

(2)何億年の過去から現在に至るまで、太陽系はどう動いたのか特徴を抽出したい。次の2つのうち、どの観測が適するか。
①地球や太陽を基準として見た惑星の動きを観測する。
②アンドロメダ星雲から太陽系を眺める。

アンドロメダは遠すぎるかもしれませんが、今の銀河の中心を基準にして見れば、良いのではないでしょうか。これが特異スペクトル分解です。

以上、主成分分析は天下り的に平均を引いているのではなく、データ空間の特徴の一番大きい変化から順番に主軸を決めたいという目的があるから、データ重心(平均)を基準にして見ようと決めたのですね。こんなことは、普通に発想できるから、わざわざテキストに書いて無いのだと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
回答読んで、さらにいくつかの式の導出を読み直したらすんなり理解できました。
めちゃくちゃ初歩というか、思いもよらない最初のところで勘違いしてました。

しかし理解できてスッキリしました。
yhr2さんの言っていることも今なら理解できます。

どうもありがとうございました。

お礼日時:2020/06/09 20:31

#2です。



私の言っていることは、難しいですかね。

簡単に言えば、地球から見た他の天体の位置を考えるのか、系外から太陽系の天体の位置関係を見るのかの違い。

AとBの2群のデータがあって、A群を基準とした主成分空間に、B群データをプロットして見たいんだったら、A群の平均を引いておいたらいいんじゃないかって発想するけど、違いますか。

平均を引く引かないの問題ではなく、どの空間を基準にしているのかということです。

特異スペクトル分解でググると、異常検知の話題が沢山ヒットすると思うけど、移動窓の前半と後半でそれぞれ違う点を基準にしたら、全く別物を見ていることになります。そうならないために窓全体の平均を使うか、それとも0という尺度があるのなら、それを基準にすべきです。移動窓は刻々と動いていくから、それこそ全体を通じて共通の点を基準にすべきだって誰もが思う。そういうことです。

判別分析は勉強しましたか?
これは、群内変動(合併分散)の逆行列を掛けて写像します。
主成分分析は全変動の逆行列を掛けて写像します。
その変動の考え方は#1さんが書かれている通りです。
    • good
    • 0

企業でSQCを推進する立場にある者です。



A1.「平均を引いてから特異スペクトル分解(特異値分解の特殊ケース)する」という主成分分析の解法の定義だからです。主成分分析は、ほぼ同時期に4つの解法が提案され、どれも同じ結果を与えるという数学的には美しい手法です。その一つが特異スペクトル分解の特殊ケースとして解くというもので、重心を原点に写像してからスペクトル分解する(主軸変換する)という解法です。

A2.平均値を引かない場合は、「特異スペクトル分解」と言われています。

なお、誤解されておられますが、主成分分析は出発行列を「分散共分散行列」にも「相関係数行列」にもすることができます。標準化が必須ではありません。両者は因子負荷量の解釈が違ってきます。ところが、マハラノビスの汎距離(原点からの距離)に関しては「分散共分散行列」を使っても「相関係数行列」を使っても同じ値になります。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

回答内容についてもう少しだけお聞きしたいのですが、そもそもが「平均値を引いてから特異スペクトル分解する」=「主成分分析の解き方の定義」とのことですが、
そもそも平均値を引く(重心を考える?)ことの、目的とはどんなものなのでしょうか?

データに対して主成分軸を引こうと考えた時に「平均から引いておいたらいいんじゃないか」という発想が出てきません。
平均を引かないことでの弊害などあるのでしょうか?

もしご存じでしたらお願いいたします。

お礼日時:2020/06/07 11:09

「分散」の定義は、「平均値からの偏差の2乗の平均」です。

つまり「平均値からのばらつきの程度」です。
だから「平均値」が登場し、「平均値を引く」ことも当然かと思いますが?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
主成分軸の分散最大化ということは情報の損失を抑えたい、という話でわかるのですが、
主成分軸変換前のデータも平均値から引くという意味がわかっておらず質問させていただきました。

「分散共分散行列の固有値、固有ベクトル問題に等しくなる」というのは教科書で見る文言で
そこから天下り的に逆算したらデータを平均から引いておかなければならないのですが、
それでは納得できなくて、
平均値を引いておくことがなぜ重要なのか知りたかったのです。

ありがとうございます。
よろしくお願いいたします。

お礼日時:2020/06/07 11:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!