No.12729 Re: PLSDA結果の解釈について 【青木繁伸】 2010/05/28(Fri) 19:42
固有値・固有ベクトル(およびそれに基づく統計量)は,ソフトや,アルゴリズムが違えば,全く同じデータでも,絶対値は同じで符合が全く逆になることがあります。あなたのデータの場合も,原因はそれでしょう。ほんのわずかの違いにより,結果の符合だけが逆になるのです。
No.12730 Re: PLSDA結果の解釈について 【張 樹槐 】 2010/05/28(Fri) 22:10
青木先生,早速ご回答していただきありがとうございます。先生のHPをよく参考にさせて頂いております。
結果の符号が逆になることもあると聞き,少し安心しました。ただ,今回の生データはその2日間のものだけでなく,合計10日です。その中の4,8日目の結果が,ほかのものと逆になっています。しかも,それぞれも矛盾しています。ほかのデータの傾向と明らかに違います。
また,Loadingsだけが逆なら少し理解できる面もあろうが,scoresまで違ってくると,判別結果は正負逆になってしまいます。この点について,どうしても理解できません。
一応,これについてソフトの会社にも問い合わせしております。何か回答があれば,紹介させていただきます。
No.12731 Re: PLSDA結果の解釈について 【張 樹槐 】 2010/05/28(Fri) 22:15
追加です。
ソフトによって,絶対値が同じで符号が全く逆になることがあるということは,絶対値を利用すればいいでしょうか?これについてあまり知識がないので,ご教示お願いします。
絶対値で考えてもいいなら,問題が解決できます。これに関する参考文献や参考書があれば,ぜひ宜しくお願いします。
No.12733 Re: PLSDA結果の解釈について 【青木繁伸】 2010/05/29(Sat) 09:01
> Loadingsだけが逆なら少し理解できる面もあろうが,scoresまで違ってくると,判別結果は正負逆になってしまいます。この点について,どうしても理解できません。
scores も loadigs も,固有ベクトルから計算されるのですから,両方は同じ符号を持ちますよ。そして,アルゴリズム等によって符号が逆にあることもありますよということですよ。
絶対値を取るのではだめ。符号を,自分で,逆にする。負のときにあることを表すなら,符号を逆にすれば,正のときにあることを表すだけでしょう?
> これに関する参考文献や参考書があれば
このようなことは,簡単なことなので,そのようなことを丁寧に書いてある本はないでしょう。
No.12734 Re: PLSDA結果の解釈について 【張 樹槐】 2010/05/29(Sat) 10:32
ちょっと頭の中で混乱しているかもしれないが,青木先生,もう少しお付き合いください。
使っ ているデータは,リンゴに傷の有無に関わる近赤外分光反射データです。10日間のPLSDA解析結果のLV1のLoadingsを図示すると,ある日のも のだけが正負逆で,傾向が全然違って,だれが見ても異常です。しかし,そうであっても,単純に解析結果の符号を人工的に変えていいものでしょうか?
まして,それを変えるなら,LV2のLoadingsの符号も変えないといけないような気がします。そうなると,LV1がよくなったけど,今度LV2がおかしくなります。
どうぞよろしくお願いします。
No.12737 Re: PLSDA結果の解釈について 【青木繁伸】 2010/05/29(Sat) 20:28
全部の主成分の符号を同時に変える必要はないのです。
必要な主成分についてのみ符号を変えればよいのです。
要するに,正のものと負のものは逆の関係にあると言うだけで,固有ベクトルの符号自体に意味はないということです。
実例
ほんの少ししか違わない行列で,第 1,第 2 固有ベクトルの符号が変わっているでしょ?
にもかかわらず,第 3 固有ベクトルの符号は同じ。> x
[,1] [,2] [,3]
[1,] 1.0 0.7 0.4
[2,] 0.7 1.0 0.6
[3,] 0.4 0.6 1.0
> eigen(x)
$values
[1] 2.1420223 0.6074232 0.2505545
$vectors
[,1] [,2] [,3]
[1,] -0.5703461 -0.6131391 0.5465947
[2,] -0.6278514 -0.1036487 -0.7714010
[3,] -0.5296300 0.7831458 0.3258446
> y # ほんのちょっと違う行列
[,1] [,2] [,3]
[1,] 1.000 0.701 0.4
[2,] 0.701 1.000 0.6
[3,] 0.400 0.600 1.0
> eigen(y)
$values
[1] 2.1427386 0.6075506 0.2497107
$vectors
[,1] [,2] [,3]
[1,] 0.5704955 0.6123378 0.5473366
[2,] 0.6279208 0.1043644 -0.7712480
[3,] 0.5293868 -0.7836776 0.3249602
自分で符号を変えて,以下のようにすればよいだけなんです。
[,1] [,2] [,3]
[1,] -0.5704955 -0.6123378 0.5473366
[2,] -0.6279208 -0.1043644 -0.7712480
[3,] -0.5293868 0.7836776 0.3249602
No.12738 Re: PLSDA結果の解釈について 【張 樹槐 】 2010/05/30(Sun) 10:00
青木先生,実例までご提示して頂き,まずお礼申し上げます。ぜひ以下の事についてもご教示願います。
1 符号を変える基準があるか?
どういう場合に符号がおかしくなっているのかを見分ける方法がありませんか?
つまり,今回のようにいくつかのデータもあり,その中で特定のものがおかしいと分かるのですが,もしデータが1組しかない場合,おかしいかどうかは見分けられないことになります。
これで問題になりませんか?
2 符号を変えたことを明記する必要はあるか?
データの傾向を吟味して,符号を人工的に変えたことについて,論文執筆の際,これについて明記する必要がありますか?
つまり,明記しない場合,ほかの研究者が追実験や解析をして,そのままでは同じ結果にならないことになります。これでは問題がありませんか?
3 このような問題がよくあることですか?
今まであまりこのような計算,解析をしたことがないためと思いますが,この問題には初めて遭遇しました。
このようなことは,固有値計算などの際,よくあることですか?
最後に感想を1つ述べさせていただきます。わたしはいままで,数理的な解析が,どんな方法やソフトを使っても,絶対唯一の結果しか存在しありえないと考え てきました。つまり,正解が1つしかないと信じてきました。今回のことで,少しこの考えは100%ではないと気付きました。こういう場合もあるかなとわか りました。大変勉強になりました。
No.12739 Re: PLSDA結果の解釈について 【青木繁伸】 2010/05/30(Sun) 10:13
> もしデータが1組しかない場合,おかしいかどうかは見分けられないことになります
理論的な意味づけがあるとき,例えば「ある特性が強い」というのがあるなら,符号が正のときその特性を表すように符号付けすればよいでしょう。
そもそも,見分ける必要はない。
> 符号を変えたことを明記する必要はあるか
ありません。
> 明記しない場合,ほかの研究者が追実験や解析をして,そのままでは同じ結果にならない
他の研究者は,そのあたりのことをわかっているので,符号が逆だと言うことで悩んだりしない。
> このような問題がよくあることですか
何度も言っているように,よくあることです。プログラムやアルゴリズムが違えば,符号が違ってくるということはよくあることなのです。だれも,符号の違いは問題にしません。
> 数理的な解析が,どんな方法やソフトを使っても,絶対唯一の結果しか存在しありえないと考えてきました
固有ベクトルの符号の違いは正解とか不正解というのではありません。どちらでもよいのです。一方の解が正しく,もう一方は間違っているということではないのです。
No.12741 Re: PLSDA結果の解釈について 【張 樹槐 】 2010/05/30(Sun) 11:04
青木先生,詳しくご教示いただき,深くお礼申し上げます。ありがとうございました。また,大変勉強になりました。
また何かありましたら宜しくお願いします。
No.12778 Re: PLSDA結果の解釈について 【張 樹槐】 2010/06/04(Fri) 10:56
この問題について,ソフト開発元より中間報告が来ました。
主な内容として,青木先生のご説明と同じ,固有ベクトルの計算アルゴリズムにあるようです。今回の問題は,Matlabのバージョン違いによって引き起こしたことを確認できたそうです。
一応,報告させていただきます。
● 「統計学関連なんでもあり」の過去ログ--- 043 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る