データのカーブフィット(パート3)

今回はデータのカーブフィットを実施した実例の後半を紹介する。「求められた回帰係数の桁数を減らしたい」、「計算効率を少しでも上げたい」という要求から発展したKaleidaGraphの応用編と言えよう。

------------------------------------------------------------------------------

5 回帰係数の桁落とし

 KaleidaGraphのマニュアルに記載無き内容なので、この作業は必ずしも必要ではない。興味があれば試す価値は有るだろう。KaleidaGraphのユーザーならば驚くはずだ。

KaleidaGraphの計算結果は有効桁5桁である。今ケースは電卓で計算するのに、面倒というほどの式ではないが、これ以上に式が複雑になったり、反復計算を行いたい場合は、出来るだけ回帰係数の桁は少ない事に超した事は無い。そこでKaleida Graphの回帰式ユーザー指定の機能を活用して、精度を保ったまま回帰係数の桁を少なくするテクニックを紹介する。

回帰係数を一個づつ定数に置き換えて、相関係数Rが低下しないように置き換える定数の桁を削っていく。これを全ての回帰係数で作業を行うのだ。

まずは最もErrorの小さいものからスタート。m2に直接0.861を指定する(∵図6の計算結果0.8608を桁落とし)。回帰式入力領域を以下のように変える。

 m1 * M0^ 0.861+m3; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図7の通り、相関係数に影響を及ぼしていない。

図7

 

次は0.861を0.86に指定する。回帰式入力領域を以下の通り。

 m1 * M0^ 0.86+m3; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図8の通り、まだ相関係数に影響は無い(プロットに大きな変化はないので、しばらく計算結果のみを表示する)。

図8

 

次は0.86を0.9に指定する。回帰式入力領域を以下の通り。

 m1 * M0^ 0.9+m3; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図9の通り、相関係数が僅かだが低下したので、m2は0.86に戻そう。                                               

図9

 

次にErrorの小さいものはm1だ。m1に3.796を指定する。回帰式入力領域を以下のように変える。

 3.796 * M0^ 0.86+m3; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押す、結果は図10の通り、相関係数に影響を及ぼしていない。

図10

 

次は3.796を3.79に指定する。回帰式入力領域を以下のように変える。

 3.79 * M0^ 0.86+m3; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図11の通り、まだ相関係数に影響は無い。

図11

 

次は3.79を3.8に指定する。回帰式入力領域を以下のように変える。

 3.8 * M0^ 0.86+m3; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図12の通り、まだ相関係数に影響は無い。

図12

 

最後はm3を桁落とししていくが、図10~図12のm1の変化(3.796、3.79、3.8)に対して、m3の変化(5.835、5.9009、5.7911)を見てみると、予想は付けられる。

m3を5.8586に指定して、m1を求める。回帰式入力領域を以下のように変える。

 m1 * M0^ 0.86+5.8586; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図13の通り、相関係数に影響を及ぼしていない。

図13

 

次にm3を5.859に指定して、m1を求める。回帰式入力領域は以下のようになる。

 m1 * M0^ 0.86+5.859; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図14の通り、まだ相関係数に影響は無い。

図14

 

次にm3を5.86に指定して、m1を求める。回帰式入力領域は以下のようになる。

 m1 * M0^ 0.86+5.86; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図15の通り、まだ相関係数に影響は無い。

図15

 

次にm3を5.9に指定して、m1を求める。回帰式入力領域は以下のようになる。

 m1 * M0^ 0.86+5.9; m1 = 1.1; m2 = 1.2; m3=1.3

OKボタンを押すと、結果は図16の通り、まだ相関係数に影響は無い。

図16

 

最終的な値を入力して精度が変わらないことを確認する。回帰式入力領域は以下のようになる。

 3.8 * M0^ 0.86+5.86; m1 = 1.1; m2 = 1.2; m3=1.3

(m3を5.9から5.86に戻しているのは、相関係数が僅かに下がったからで、三つの回帰係数を全て有効桁2桁には落とせなかった。)

OKボタンを押すと、結果は図17の通り。

図17

結構地味な作業だが、数式が得られれば、他の理系ツールでも利用可能となる。目出たし。

-----------------------------------------------------------------------------------

以下のURLも参考になる。

PR

www2.usaco.co.jp