EXCELを用いた最小2乗法

        


計測点列の近似曲線を作ってみよう



            図1 最小2乗法で求めた近似曲線のグラフ


やさしくわかるExcel VBA(ブイビーエー)プログラミング改訂版

すぐに使える! Excel関数逆引き辞典


データを「見える化」するExcelグラフ大事典

知ったモン勝ち! 私はこの方法で資格を30取得しました ―無敵のラジカル・マスター学習法

生物と無生物のあいだ

無理なく続けられる 年収10倍アップ勉強法

「続ける」技術

「その他大勢」から一瞬で抜け出す技術 過小評価されているあなたを救うスピード・ブランディング


下図のような、誤差を含むデータ(X,Y)を計測したとします。
近似関数をつくり、計測点以外のデータを取り出せるようにしたい場合、最小2乗法がよく使われます。


                       図2 例題の計測点列とそのグラフ


Excelで学ぶ統計解析―統計学理論をExcelでシミュレーションすれば、視覚的に理解できる


よくわかるMicrosoft Office Excel 2007 (基礎)

よくわかるMicrosoft Office Excel2007

エクセルこれだけ関数事典90―ハンディで見やすい!

Excelでマスターする ビジネスデータ分析 実践の極意


最小2乗法の近似曲線(近似関数)


一般的にはn次関数で近似します。ここでは、3次関数で近似しようと思います。

3次関数 f(X) = aX3 + bX2 + cX + d   ・・・・・ (1)

次数が高いほど、点列に近い関数がつくれます。しかし、高すぎると誤差を拾う可能性があり、
ほどほどの次数にする必要があります。

最小2乗法は点列の近辺を通るなめらかな関数をつくります。そのため、誤差を含むデータの近似方法
としては良い方法です。

計測点列を絶対に通る近似関数を作りたい場合は、ラグランジュの補間法、ニュートンの補間法等をつかいます。

最小2乗法では、n次関数以外の関数も使えます。周期性のある点列の場合、3角関数などを検討して下さい。



最小2乗法の説明


計測点がXの時、Yと 関数値 f(X) の差 (Y-f(X))を計算します。
差の2乗 (Y−f(x) )2 が小さければ、Yとf(X)は近い値となります。
ほんとうは、2乗より、絶対値 |Y-f(X)|をとる方が良いのでしょうが、絶対値では計算処理が複雑となる。

一箇所の計測点だけが近い値となるだけではだめです。関数をすべての計測点に近づける必要がある。

そのため、全ての点で、差の2乗を合計します。

 T(合計) = Σ ( Y - f(X) ) 2  ・・・・・ (2)   Σ(シグマ) : 全ての点で合計するという記号

(2)式のT(合計)が最小となる関数の係数(a,b,c,d)を求めます。

係数が求まると、任意のXでの値
 f(X) = aX3 + bX2 + cX + d
が求まりま
す。



T(合計)を最小にする条件は連立方程式となる


(1)式の3次関数を(2)式に代入すると次の(3)式となる。

 T = Σ( Y - aX3 - bX2 - cX - d )2   ・・・・・ (3)

(3)式のTは係数(a,b,c,d)の関数と見ることができる。

(3)式のTを係数(a,b,c,d)で微分した式 が 0 のとき、(3)式のTは最小となる。

すなわち

  δT/δd = 0
  δT/δc = 0
  δT/δb = 0
  δT/δa = 0

となる。

これを解いて、整理すると、4元連立方程式(下の行列計算式)となる。



 4元連立方程式は下記マトリックス(行列)式で表記できる。

    A ×x = b    ・・・・・ (4)

この行列式(4)を解き、係数a,b,c,dを算出する。

一般的に、n次式の関数で近似すると、n+1元連立方程式となる。



EXCELを用い成分を計算し、マトリックス(行列)、ベクトルを設定する



EXCELを用い(4)式のマトリックス(行列)AとベクトルBの成分を計算し、マトリックス(行列)AとベクトルBを設定します。


                          図3 (4)式のマトリックス(行列)とベクトルを計算するエクセルシート



連立方程式の解き方


 連立方程式は下記マトリックス(行列)式で表記できる。

    A ×x = b

両辺に逆マトリックス A-1をかける。

   A-1 × ( A × x ) = A-1 × b

   (A-1 × A ) × x = A-1 × b

  A-
1 × A = E より

   E × x = A-1 × b

   x = A-1 × b

これで解 x が求まった。



連立方程式をエクセル(EXCEL)で解いてみよう


 EXCELで連立方程式 A × x = b を解いてみよう。

@ 逆マトリックス( A-1 ) の計算

 任意位置に逆マトリックス A-1 のエリアを確保し、
関数 MINVERSE( マトリックス A )を設定する。
注) 複数エリアに関数を設定する場合 Ctrl Shift キーを押しながら、
   Enterをキー入力する。

A 逆マトリックス( A-1 ) × ベクトル( b ) の計算

  任意位置に解 ( x ) のエリアを確保し、
関数 MMULT( 逆マトリックス( A-1 ), ベクトル( b ) )を設定すると、
解 ( x ) が求まる。



              図4 (4)の連立方程式(行列計算)を解くエクセルシート



近似関数の計算


連立方程式を解くことにより、近似関数の係数(a,b,c,d)が求まった。
この係数を使い、関数を計算すると、計測点列に近い近似曲線が求る。


   図5 (1)式の近似関数を計算するエクセルシート


                図6 (1)式の近似曲線と計測点列を比較したグラフ

  グラフ作成方法の参考 : エクセル(EXCEL)でグラフを作ってみよう



エクセルのソルバーを用いた最小2乗法

 
 最小2乗法は目的関数(誤差の2乗の合計)が最小となる係数を探索します。

この機能はエクセルのソルバー機能と完全に一致します。

微分やマトリックス計算などの高等数学を用いて、最小2乗法を活用するのが一般的です。

しかし、エクセルのソルバーを用いると、簡単な四則演算の知識のみで、最小2乗法が

使いこなせます。

また、制約条件付き最小2乗法、重み付き最小2乗法も容易に設定できます。

エクセルのソルバー機能を用いた最小2乗法も参照して下さい。


 



ベクターPCショップ&ソフトウェア・ライブラリ



EXCELを用いた科学技術計算
EXCELのソルバーを用いた科学技術計算
EXCELを用いた構造力学(材料力学)計算





〒673−0036 兵庫県明石市松江62−14
(有)ゴッドフット企画



感想をお聞かせ下さい



JR福知山線 脱線事故シミュレーション

脱線事故シミュレーションもEXCELで
(Yahoo Japan 掲載)


Copyright (C) GODFOOT 2007 All Rights Reserved.