はんすのWebSite
はんすのWebSite |
最小二乗法などの計算機を使った数学的手法を駆使して工学上の問題を解くことの面白さにどっぷり漬かってしまったエンジニアが、妻子が寝たあとの週末の深夜の時間を使って作成しているページです。
このページでは、最小二乗法(最小自乗法ともいう、英語ではLeast
Squares Method)を使ってさまざまな問題を解いていきます。最小二乗法とは、近似曲線(フィッティングカーブ)を求める数学的手法です。この方法はいろいろな場面で非常に役立ちます。実験データを理論曲線にフィッティングさせれば、そこから見えてくるものがいろいろあります。
最小二乗法とは |
どういうときに最小二乗法を使うのか?
実験などで得られた複数のデータ点をグラフ上にプロットしたあと、それらの点にフィットする近似曲線(フィッティングカーブ)を得たいという場合があります。例えば、
1.
データ点にフィットする直線の傾きを求めたいとき
2.
正規分布(ガウス分布)している物理量分布の統計量(平均値、標準偏差など)を求めたいとき(ガウスフィッティング)。
3.
複数のピークが重なっているスペクトルの波形分離(ピーク分離)をしたいとき
これら以外にも色々な場合があります。プロットされたデータを理論式にフィッティングさせることによって、理論式中に含まれる定数がいくらであるかを知ることができ、そこからさまざまな情報を得ることができます。その際、最小二乗法はフィッティングに欠かせない手法となります。
具体例(電流の時間変化から抵抗、静電容量を求める)
ここでは、実験からえられたデータ点を、最小二乗法を用いて理論式にフィッティングさせることにより抵抗、静電容量を求める例を挙げます。
詳細な説明は省きますが、下図のような直流電源、抵抗、コンデンサの直列接続からなる電気回路に時刻t=0にスイッチをONした場合、流れる電流I (t)はI=(V/R)exp(-t/CR)と表されます。
ここで、電圧Vは既知であり、抵抗Rと容量Cが未知であって、これらを実験結果から求めることを考えます。電流の時間変化を実験で測定し、下の図のような結果が得られたとします。
先ほどの理論式中のRとCに適当な値を放り込んで電流の時間変化のグラフを
描くと、RとCの値の違いによってさまざまなカーブを描くことができます。そのことを表したのが、下の2つの図です。
しかしこれらの中でも、適切なRとCの値を用いてグラフを描けば、実験結果と一致するカーブが得られるはずです。RとCの値を求めるという作業は、実験結果の曲線と一致するRとCの値を探し出すという作業と同等です。ここでフィッティングの手法である最小二乗法の出番となります。
実験で得られたカーブを、最小二乗法を用いて理論式にフィッティングさせると、下図のようなフィッティング結果を得られるとともに、未知数RとCを知ることができます。
最小二乗法の数学的説明
最小二乗法(最小自乗法)は近似曲線(フィッティングカーブ)を得る際に、もっともよく使われる数学的手法です。以下に、数学的説明をします。ここでは簡単のために1つのデータ点は2つの物理量から構成されるものとしますが、3つ以上の場合ももちろん考えられます。
n個のデータ点を(x1, y1), (x2,
y2), ・・・,
(xn,
yn)とし、これらデータ点をフィットする関数y = f (x)を求める場合を考えます。最小二乗法ではその名前の通り、
が最小になるようなy = f (x)を求める方法です。ここで、f
(x)の中に含まれている定数をk1, k2, ・・・,
kmとすると、Sが最小になるようなk1, k2,
・・・,
kmを探し出すということと同じです。例えば、一次関数y =k1 x+k2にフィッティングさせたい場合には、
においてSが最小になるようなk1 とk2を求めることになります。
Sが最小になるのは極小値を取るときですので、傾きは0であることから、1からmまでのすべての整数jに関して次の式が成り立ちます。
・・・@
ここで、
・・・A
とおくと左辺は、
となります。yiは定数であることからkjでの偏微分は0であり、さらに計算を進めると、
となります。よって@式より、
が得られ、さらにA式を代入すると最終的に次の式が得られます。
1からmまでのすべての整数jに関してこれを満たせばSが最小になるようなk1, k2, ・・・,
kmを求められたことになります。
フィッティングには計算ソフトウェアを使うのが一般的
このような計算は場合によっては非常に煩雑ですし、さらには解析的には解を求めることができない場合もあり、手計算で行うことはあまり現実的ではありません。そこで、時間と手間を省くために、最小二乗計算を行ってくれるソフトウェアを利用することになります。
フィッティング計算をしてくれるソフトウェア
ここでは、非常に煩雑な最小自乗計算を簡単に行ってくれるソフトウェアについて紹介します。
ここで紹介するRSquareは最小二乗計算を用い、測定されたデータにフィッティングする近似曲線を求めてくれるソフトウェアで、次のような特長があります。
1.
線形関数だけでなく、指数、対数、三角関数、逆三角関数、さらにこれらを組み合わせた関数へのフィッティングも可能です。
2.
したがって、正規分布(ガウス分布)へのフィッティングが可能であり、さらに正規分布の複数ピークが重ねあわされた状態を波形分離(ピーク分離)することも可能です。
3.
フィッティングの結果を簡易グラフ上で確認することができるうえ、元のデータとフィッティング関数の相関の強さを表す指数である相関係数R^2を見ることができます。
4.
画面最下部に表示されるステータスバーの指示に従って操作を進めてゆくだけで、簡単にフィッティング結果を得ることができます。
5.
サンプルファイルを同梱しており、ガウスフィッティングや波形分離の方法を体験することができます。
使い方の説明はこちらをどうぞ。
ソフトウェアのダウンロード
下のボタンをクリックするとVectorのサイトからソフトウェアをダウンロードすることができるサイトへジャンプします。
最小二乗法の利用例 |
最小二乗法を使って工学上の問題を解析した事例を紹介します。(一部、最小二乗法とは関係ないものも含まれています。)
水冷された物体上に置かれている加熱された物体の冷却曲線から、2つの物体間の熱伝達係数を求めます。
数学的に挙動を解析した結果を説明します。微分方程式を場合分けしながら解くと、面白い結果が得られます。
工学上で役に立つリンクを掲載しています。
|
はんすのWebSite