情報通信工学科 コンピュータ数値解析 担当:中川朋子


データ y を xのm次式 c0 + c1 x + c2 x2 + c3 x3 + ... + cm xm で近似するとき
この式を使って、xに i番目のデータ xiを代入して得られた予想値 と データyi との差 は
予想値  c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xm
データ  yi
差   ( c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xm) - yi
差の2乗  ( c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xm - yi2 
差の2乗の総和Sは
S = Σi ( c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xm - yi2 

差の2乗の総和Sが最小になるようにc0を選ぶには、
Sをc0で微分したときに0になるようにすれば良い。
∂S/∂c0 = 0
∂S/∂c0 = 2Σi ( c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xm - yi
よって    2Σi ( c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xim - yi ) = 0
この式は Σi c0 + Σi c1 xi + Σi c2 xi2 + Σi c3 xi3 + ... + cm xim - Σiyi = 0 とも書ける。
c0, c1, c2, ... はΣiとは無関係なので、外に出せて、
この式は (Σi1) c0 + (Σi xi) c1 + (Σi xi2) c2 + (Σi xi3) c3 + ... + cm xim = Σiyi とも書ける。...............................(*)

差の2乗の総和Sが最小になるようにc1を選ぶには、
Sをc1で微分したときに0になるようにすれば良い。
∂S/∂c1 = 0
∂S/∂c1 = 2Σi {( c0 + c1 xi + c2 xi2 + c3 xi3 + ... + cm xim - yi ) xi }
よって 2Σi ( c0 xi + c1 xi xi+ c2 xi2 xi+ c3 xi3 xi + ... + cm xim xi - yixi ) = 0
この式は (Σixi) c0 + (Σi xi2) c1 + (Σi xi3) c2 + (Σi xi4) c3 + ... + (Σi xim+1) cm = Σiyixi とも書ける。...............................(*)

差の2乗の総和Sが最小になるようにc2を選ぶには、
Sをc2で微分したときに0になるようにすれば良い。
∂S/∂c2 = 0
∂S/∂c2 = 2Σi {( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) xi2 } = 0
この式は (Σixi2) c0 + (Σi xi3) c1 + (Σi xi4) c2+ (Σi xi5) c3+ ... + (Σi xim+2) cm = Σiyixi2 とも書ける。...............................(*)

差の2乗の総和Sが最小になるようにcmを選ぶには、
Sをcmで微分したときに0になるようにすれば良い。
∂S/∂cm = 0
∂S/∂cm = 2Σi {( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) xim } = 0
この式は (Σixim) c0 + (Σi xim+1) c1 + (Σi xim+2) c2+ (Σi xim+3) c3+ ... + (Σi xim+m) cm = Σiyixim とも書ける。...............................(*)

.............(*)のついた式を集めてくると、連立方程式になっている。
( Σi1 ) c0 + (Σi xi ) c1 + (Σi xi2) c2+ (Σi xi3) c3+ ... + (Σixim) cm = Σiyi
ixi ) c0 + (Σi xi2) c1 + (Σi xi3) c2+ (Σi xi4) c3+ ... + (Σi xim+1) cm = Σiyixi
ixi2) c0 + (Σi xi3) c1 + (Σi xi4) c2+ (Σi xi5) c3 + ... + (Σi xim+2) cm = Σiyixi2
  :
ixim) c0 + (Σi xim+1) c1 + (Σi xim+2) c2+ (Σi xim+3) c3+ ... + (Σi xim+m) cm = Σiyixim
これを c0, c1, c2, ... について解き、最初に作った近似式に入れると、できあがり。

m次式で近似するときは__元連立方程式を解くことになるね。

前回作った「連立方程式を解く」プログラムを使おう。