28.7 グラフのフィッティング

gnuplot ではグラフを描くだけではなく最小二乗法を用いたフィッティングを行うことができ,特に回帰分析ができます.この節ではフィッティングのやり方を説明します.

まず,この節での説明に使うサンプルファイルをダウンロードしてください.

samplefile4.txt

このファイルはハワイにあるマウナロア山の大気中の年平均 CO2 濃度を,1959 年から毎年測定したデータです.アメリカ大気海洋庁の externalEarth System Research Laboratory のサイト内 から引用しました.まずは点でプロットしてみましょう.

plot "sampledata4.txt"return2

年代が進むにつれて CO2 濃度が増える傾向にあるのが分かります.濃度の増え方がだいたい線型のようなので直線で近似できると仮定し,最も良く近似する回帰直線を求めてみます.gnuplot で次のように入力してください.

fit a*x+b "sampledata4.txt" via a,b return2

このように fit コマンドに近似式,データファイルとパラメータを順番に与えることでフィッティングができます.ここでは直線で近似するため近似式を a*x+b とし,パラメータを a, b としました.

fit の計算が終わると,次のように結果が表示されます.

Final set of parameters            Asymptotic Standard Error =======================            ==========================

a               = 1.47085          +/- 0.02343      (1.593%) b               = -2571.46         +/- 46.52        (1.809%)

fit をすると,コマンドを呼ぶ際に指定した変数 a, b の中にフィッティングの係数が格納されます.ですのでデータのプロットと同時に直線 a*x+b のプロットをすれば,データと近似直線が描かれます.

plot "sampledata4.txt" , a*x+b return2

ここでは回帰直線の計算をしましたが,1 次式以外でのフィッティングや 3 個以上のパラメータの利用もできます.各自で実験してみてください.