No.08241 矩形行列の固有値計算  【ソコロ】 2008/11/14(Fri) 11:40

矩形行列から固有値を計算する方法を知りたく質問させていただきました。
宜しくお願いいたします。

<データの構成>
サンプル数→600
1サンプルが持つデータ数→6

つまり,(Row,Col):(600,6)のマトリックスを持ったデータであります。
上記データに関して以下の質問があります。

質問1
固有値を計算するためには上記矩形行列から正方行列を計算する必要がありますでしょうか?
Yes→質問2
No→どのように計算するのでしょうか?StataとRは使用できる環境にあります。

質問2
正方行列を計算する際は(Row,Col):(6,600)×(600,6)
という計算方法であっておりますでしょうか?
あっている→質問3
間違っている→計算方法を教えていただければ幸いです

質問3
正方行列を計算する際は基準化されたデータを使用しても構わないでしょうか?
と申しますのも,基準化されていないデータでは非常に大きな数字を持った正方行列ができてしまい,必然的にとても大きな固有値が算出されてしまうため,基準化したデータを用い正方行列を計算しました。
ただ,その際は同カラム同士の計算(6×6マトリックスの対角線上にくる数値)だけ,当然でありますが非常に大きな数値になってしまいます。
そのため,基準化されたデータを用い正方行列を計算して良いものかという疑問がでてきました。

お手数をおかけいたしますが,お時間がある時で構いませんのでご回答いただけますようお願いいたします。

No.08242 Re: 矩形行列の固有値計算  【青木繁伸】 2008/11/14(Fri) 11:43

何のために固有値を計算するのですか?
それを明確にしておかないと,どの質問にもお答えできませんね。

No.08244 Re: 矩形行列の固有値計算  【ソコロ】 2008/11/14(Fri) 13:02

すみません。
多重共線性の有無を確認するためです。

No.08247 Re: 矩形行列の固有値計算  【青木繁伸】 2008/11/14(Fri) 17:14

多重共線性のチェックなら,以下も参照のこと。

(1) 多重共線性のチェック(従属性)
http://aoki2.si.gunma-u.ac.jp/R/find_multico.html

(2) 多重共線性のチェック(トレランス)
http://aoki2.si.gunma-u.ac.jp/R/tolerance.html

(1)が固有値を計算してという方法について。
固有値固有ベクトルは,正方行列でやりますよ。行列は6×6ですが,あなたが「(Row,Col):(6,600)×(600,6)」と書いたのが何を意味しているのか曖昧ですので,あなたの解釈が正しいかどうかわかりません。
基準化しても構わないというか,基準化してもしなくても多重共線性の判定には無関係と思いますが,6つの変数全てが同じ次元・単位でない場合には,基準化してやるほうがよいでしょう。
そ もそも,あなたが正方行列を計算したといっているのは,元のデータを使って行列積を作ったんですか?それじゃダメだと思いますよ。平均偏差データじゃない とだめでしょう。平均偏差データ行列から行列積を計算しても,各要素をデータの個数で割らないといけませんよ。つまり,基準化しない場合には,分散共分散 行列を計算すべき。
基準化するというのは,データ行列の各列ごとに,データからその列の平均値を引いて標準偏差で割るという基準かをして,その後 行列積を作ります。そして(データの個数-1)で割ってやれば相関係数行列になります。相関係数行列が,基準化したデータに基づく分散共分散行列と同じだ ということですよ。

よろしく,しっかりとご検討下さい。

No.08257 Re: 矩形行列の固有値計算  【ソコロ】 2008/11/15(Sat) 11:16

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

>「(Row,Col):(6,600)×(600,6)」と書いたのが何を意味しているのか
これは元のデータ,もしくは基準化したデータ(共に正方行列ではない)を使い行列積をとることにより(6×6)の正方行列を作りました。

>6つの変数全てが同じ次元・単位でない場合には,基準化してやるほうがよい
基準化を行い行列積を計算し(正方行列を作る),その後(データの数-1)で割った数字を用いて固有値を計算を行うことはわかりました。

未だ,疑問に思っている点が1つあります。基準化をしたデータの行列積を計算した場合(6×6の正方行列を作るため),同列ごとを掛け合わせた数字の和,つまり下記に書いた6×6のマトリックスの
●○○○○○
○●○○○○
○○●○○○
○○○●○○
○○○○●○
○○○○○●
●の部分だけ同じ数値かつ非常に大きな数字になってしまいます。
これは行列積の作り方が間違っているのでしょうか?

お手すきの際で構いませんので,ご回答いただけましたら幸いです。

No.08259 Re: 矩形行列の固有値計算  【ソコロ】 2008/11/15(Sat) 15:04

追加の質問となってしまいすみません。

ご紹介頂きました
>(1) 多重共線性のチェック(従属性)
http://aoki2.si.gunma-u.ac.jp/R/find_multico.html
に載っております“find.multico”のプログラムの中では,固有値・固有ベクトルを求める際に,計算する行列が非正方行列であっても相関係数行列がその計算に使われております。
これは,固有値計算のため非正方行列を正方行列に変換する際は,相関係数行列を算出しそれを使用するということで正しいのでしょうか?

色々と質問をしてしまい大変恐縮でありますが,よろしければご回答いただけますようお願いいたします。

No.08260 Re: 矩形行列の固有値計算  【青木繁伸】 2008/11/15(Sat) 19:10

> 未だ,疑問に思っている点が1つあります。基準化をしたデータの行列積を計算した場合(6×6の正方行列を作るため),同列ごとを掛け合わせた数字の和,つまり下記に書いた6×6のマトリックスの
> ●○○○○○
> ○●○○○○
> ○○●○○○
> ○○○●○○
> ○○○○●○
> ○○○○○●
> ●の部分だけ同じ数値かつ非常に大きな数字になってしまいます。
> これは行列積の作り方が間違っているのでしょうか?

あなたが「基準化して計算した」とき●はいくつになっていますか?
ちゃんと基準化したら,1になるはずですけど。
例えば,以下のデータ(6変数10個のデータ)を用いて計算したらどのようになります?
29 	87 	72 	68 	97 	3 
79 98 55 63 25 57
41 60 90 47 24 39
86 94 85 75 22 6
91 9 81 2 88 26
5 77 54 32 8 10
50 21 89 49 13 70
83 4 44 14 59 33
51 27 84 20 69 38
42 78 11 15 73 16
>固有値計算のため非正方行列を正方行列に変換する際は,相関係数行列を算出しそれを使用するということで正しいのでしょうか?

非 正方行列というのは,データ行列(データ),その多重共線性とかを検討するという場合には,分散共分散行列とか相関係数行列(これが,あなたが言う正方行 列だけど,非正方行列だの正方行列だのという名前の違いが問題なのではなく,それらが表す本質が重要)を検討対象にするということ。分散共分散行列とか相 関係数行列の計算方法とか意味は勉強してください。そこまで説明していると,きりがありません。

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