★ prcomp()で求められる固有ベクトルについて ★

8319. prcomp()で求められる固有ベクトルについて 波音 2005/11/13 (日) 16:46
├8323. Re: prcomp()で求められる固有ベクトルについて 青木繁伸 2005/11/13 (日) 17:12
│└8328. Re^2: prcomp()で求められる固有ベクトルについて 波音 2005/11/13 (日) 20:32
└8320. Re: prcomp()で求められる固有ベクトルについて 青木繁伸 2005/11/13 (日) 16:59
 └8321. Re^2: prcomp()で求められる固有ベクトルについて 波音 2005/11/13 (日) 17:08


8319. prcomp()で求められる固有ベクトルについて 波音  2005/11/13 (日) 16:46
> sample<-matrix(c(60,35,74,30,80,90,50,
58,40,68,40,70,95,50,
25,75,50,60,50,80,45),7,3)
> prcomp(sample)

とすると,固有ベクトルが表示されると思います。
しかし,本(図解でわかる多変量解析 日本実業出版社)に載っている結果と数値はあっているものの符号がきれいに逆になってしまうのですが,どういうことでしょうか。

本では第1主成分の固有ベクトルが0.75,0.65,0.10となっており,第2主成分の固有ベクトルが-0.17,0.06,0.98となっています。

     [このページのトップへ]


8323. Re: prcomp()で求められる固有ベクトルについて 青木繁伸  2005/11/13 (日) 17:12
ちなみに,sample の1行1列目の要素を-0.2しただけで(60を59.8に変える),符号の付き方が変わります。
sample<-matrix(c(59.8,35,74,30,80,90,50, 58,40,68,40,70,95,50, 25,75,50,60,50,80,45),7,3);prcomp(sample)
Standard deviations:
[1] 29.815220 18.789409 3.208220

Rotation:
PC1 PC2 PC3
[1,] 0.75391521 -0.17443883 -0.6333900
[2,] 0.64965229 0.05443577 0.7582801
[3,] 0.09779441 0.98316216 -0.1543645

     [このページのトップへ]


8328. Re^2: prcomp()で求められる固有ベクトルについて 波音  2005/11/13 (日) 20:32
ありがとうございます。また,ノートに書き留めておきます。

     [このページのトップへ]


8320. Re: prcomp()で求められる固有ベクトルについて 青木繁伸  2005/11/13 (日) 16:59
固有ベクトルの符号を全部入れ替えても,固有方程式は成り立ちますよね。
つまり,符号はどちらでも良いのです。
意味づけが逆になるだけですよね。
たとえば,正の場合に保守的,負の場合に革新的という解釈になるか,その逆になるかだけです。
保守的だから正というような取り決めはどこにもありませんからね。
一般的には,マイナス符号が大半を占めるとみっともない(と考えるプログラマがいる)ので,因子ごとに符号を入れ替えたりしているのかもしれないが,不必要な操作ですね。

アルゴリズムが違ったり,同じソフトウェアでも,コンパイラ(のバージョン)が違っただけで符号の付き方が違って来ることがあります。

     [このページのトップへ]


8321. Re^2: prcomp()で求められる固有ベクトルについて 波音  2005/11/13 (日) 17:08
早速の回答ありがとうございます。
自分でも符号が逆になっても,結果的には同じでないかと薄々は感じてはいたのですが,他の何冊かを見ても符号が+だったので自分が勘違いしているだけで先に進んだらヤバイと思っていたので安心しました。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 035 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る