• ベストアンサー

多変数関数の解法について

y=a1x1+a2x2+・・・+a8x8にあたる式がいくつもあり、x1~x8,yの変数はわかっているとすると、a1~a8の係数はどうすれば求められるでしょうか? やりたいことは、これらをexcelで計算し、係数を推定したいです。 ニュートン法を使えば求められるのでしょうか?是非、教えていただきたいです。。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

企業でSQCを推進する立場の者です. 8個の係数(あるいはそれに加えて「定数項」)を解くのに, 8個以上のサンプルがあるとするならば, 最小2乗法でフィットさせることになります. これを重回帰分析分析といい, エクセルではLINEST関数を使用します. それを使わないならば, β=(X'X)^-1・X’・Y (ラージxやラージYはxやyの行列を,「’」は転置を表しています) で解くことになります. これを,エクセルでやるには β=Mmult(  Minverse(Mmult(Transpose( X ), X )),  Mmult(Transpose( X ),Y)  ) とやればいいです. エクセルでやると上記のとおりですが, 統計ソフトを使うとワンボタンで解析が終わるような一般的な解析です.

galaxy1228
質問者

お礼

ご回答ありがとうございます! 重回帰分析を使うんですね。エクセルではlinest関数を使うとのことで、 調べてみたところ、 http://www.aoni.waseda.jp/abek/document/regression-2.html で分析ツールが使えることがわかりました。 これで係数を推定できそうです。仕事で数値を予測するのに使用したかったので、とても助かりました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • muturajcp
  • ベストアンサー率77% (511/658)
回答No.1

そのいくつもある式の中から8つの式を選び y1=a1x11+a2x12+a3x13+a4x14+a5x15+a6x16+a7x17+a8x18 y2=a1x21+a2x22+a3x23+a4x24+a5x25+a6x26+a7x27+a8x28 y3=a1x31+a2x32+a3x33+a4x34+a5x35+a6x36+a7x37+a8x38 y4=a1x41+a2x42+a3x43+a4x44+a5x45+a6x46+a7x47+a8x48 y5=a1x51+a2x52+a3x53+a4x54+a5x55+a6x56+a7x57+a8x58 y6=a1x61+a2x62+a3x63+a4x64+a5x65+a6x66+a7x67+a8x68 y7=a1x71+a2x72+a3x73+a4x74+a5x75+a6x76+a7x77+a8x78 y8=a1x81+a2x82+a3x83+a4x84+a5x85+a6x86+a7x87+a8x88 Y=t(yi)_{i=1~8},(縦ベクトル) A=t(ai)_{i=1~8},(縦ベクトル) X=((x_ij)_{j=1~8})_{i=1~8},(i:行,j:列,8行8列の行列) とすると Y=XA だから 行列式|X|=MDETERM(X)≠0であるように, いくつもある式の中から8つの式を選ぶ、 |X|=0ならば,8つの式を選びなおす。 |X|≠0ならば 逆行列X^{-1}=MINVERSE(X)が存在して A=X^{-1}Y=MMULT(MINVERSE(X),Y)

galaxy1228
質問者

お礼

ご回答ありがとうございます! 解法についてとても詳しく丁寧に教えていただきありがとうございます。完全に理解できました。学生時代に学んだ逆行列の存在を忘れてました。とても、参考になりました。

すると、全ての回答が全文表示されます。

関連するQ&A