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

A,B,C,I,J,Kの6つの既知の変数に対して
以下の行列式を成立させるa1~a3, b1~b3, c1~c3が
存在するとします。

(A B C) | ※求めたい行列 | = (I J K)

※求めたい行列
| a1 a2 a3 |
| b1 b2 b3 |
| c1 c2 c3 |

A,B,C,I,J,Kが1通りであれば3×3行列は決定できると思いますが、
A,B,C,I,J,Kの組が複数ある場合、完全に条件を満たす3×3行列が
あるとは限らず、実際のところ近似値になると思います。

A,B,C,I,J,Kは、幾通りあるにせよ既知の定数です。
例としてデータの組は添付ファイルのように複数あるとします。

近似的に3×3行列を求めるには、どのような計算を行えば
良いのでしょうか?

そのような計算をExcelで行う方法、又はそれが可能なフリーソフトなど
ありましたら教えて頂けませんでしょうか?

「3行3列の行列(近似値)を求めたい」の質問画像

A 回答 (2件)

データが4組以上あるときは、最小2乗法による回帰分析が使えます。



たとえば、データを(A,B,C,I,J,K)で表すとして、

  データ1=(3,2,6,5,9,8)
  データ2=(8,9,6,2,5,4)
  データ3=(1,9,8,5,4,7)
  データ4=(1,2,3,4,5,6)

のとき、次の3種類の回帰分析(定数項がないモデル)を実行します。

1 非説明変数は(5,2,5,4)。説明変数は(3,8,1,1)、(2,9,9,2)、(6,6,8,3)の3系列。
   ⇒ 計算された3個の係数パラメータは、a1,b1,c1の近似値

2 非説明変数は(9,5,4,5)。説明変数は(3,8,1,1)、(2,9,9,2)、(6,6,8,3)の3系列。
   ⇒ 計算された3個の係数パラメータは、a2,b2,c2の近似値

3 非説明変数は(8,4,7,6)。説明変数は(3,8,1,1)、(2,9,9,2)、(6,6,8,3)の3系列。
   ⇒ 計算された3個の係数パラメータは、a3,b3,c3の近似値

(Excelで実行する場合)

Excelで実行する場合は、「分析ツール」の中の「回帰分析」が使えます。この場合、「定数に0を使用」というオプションをオンに設定します。

なお、Excelのリボンやツールバーに「分析ツール」が見つからないときは、まず、アドオンを有効にする必要があります。詳しい方法は、Excelのヘルプを参照してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
Excelで出来る、とのことで安心しました。
MATLABやMathmaticaなど、高価な学術用ソフトが必要なのかと心配していました。
さっそくやってみようと思います。

お礼日時:2010/11/21 14:17

 データが4セット以上ある場合は分かりませんが、例のようにちょうど3セットあるときは、求めたい行列を唯一に決めることができると思います。


 ちょうど3セットの場合は、データA,B,Cで作った行列の逆行列を データI,J,Kで作った行列に左から掛けてやれば 求めたい行列が得られます。
 参考までに、例のときの「求めたい行列」を表計算ソフトで計算したものを示します。
 この行列に左から(A B C)を掛けてやれば厳密に(I J K)が得られます。

0.227848101,-0.006329114,0.946202532
0.481012658,0.208860759,0.275316456
0.46835443,0.348101266,-0.041139241



>A,B,C,I,J,Kが1通りであれば3×3行列は決定できると思いますが、

 1セットだけでは、いくらでも自由度が生じまい、一意に決定できません。
 例えば例のデータ1のセットでしたら、勝手に次のように作れますが、これは他のデータセットには当てはまりません。

(3)(1,1,0) (5)
(2)(1,0,1)=(9)
(6)(0,1,1) (8)

この回答への補足

データが1セットだけでは、確かに一意には決定できませんね。
実際のデータ数は、数十~数百を想定しています。

補足日時:2010/11/21 13:47
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
3セットまでなら一意に決定できるのですか。行列についての知識は、学生時代の古い記憶のみを頼りに考えていました。もう少し勉強しなおそうと思います。

お礼日時:2010/11/21 13:43

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