fitpoly

内容

  1. 1 概要
  2. 2 追加の情報
  3. 3 コマンドラインでの使用法
  4. 4 変数
  5. 5 説明
  6. 6 サンプル
  7. 7 アルゴリズム
  8. 8 参考文献
  9. 9 関連のXファンクション

概要

LabTalkで使用する多項式フィット

追加の情報

必要なOriginのバージョン: Origin 9.0

コマンドラインでの使用法

1. fitpoly iy:=(1,2) polyorder:=2 fixint:=0 intercept:=0 coef:=3 oy:=(4,5);

変数

表示
変数
I/O

データ型
デフォルト
説明
入力 iy

入力

XYRange

<active>

この変数は入力データ範囲を指定します。
多項式次数 polyorder

入力

int

2

この変数は、フィットする多項式の次数を指定します。
切片を固定 fixint

入力

int

0

1の値(ダイアログでチェックされている状態)は、切片を固定します。
固定切片の値 intercept

入力

double

0

固定する切片の値を指定します。fixint が 0 のときこ、この値は無視されます。
多項式係数 coef

出力

vector

<optional>

これは多項式の係数を受け取る列またはデータセット変数を指定します。例えば、coef:=3 の場合、これは多項式の係数を3番目の列に出力します。
出力 oy

出力

XYRange

<optional>

多項式フィット曲線を出力する範囲を指定します。
ポイント数 N

出力

int

<unassigned>

フィットのポイント数を受け取る変数を指定します。
調整済み残差平方和 AdjRSq

出力

double

<unassigned>

これは調整済み残差平方和(R^2)を受け取る変数を指定します。
決定係数 (R^2) RSqCOD

出力

double

<unassigned>

決定係数(R^2)を受け取る列あるいはデータセット変数を指定します。
多項式係数の誤差 err

出力

vector

<optional>

多項式係数の誤差を受け取る列あるいはデータセット変数を指定します。

説明

多項式回帰は、指定したデータセットを次のモデルでフィットします。

FitPolynomial help English files image006.gif.

ここで \gamma_i は係数、\epsilon は誤差項です。誤差項は従属変数の予期しない、または、説明できない変動を表します。ランダムな変数 \epsilon の平均が0に等しくなるということです。

パラメータは重み付けした最小二乗法を使って推定されます。これは独立変数の範囲内で理論曲線と測定データポイント間の差の二乗和を最小化する方法です。フィットの後、モデルは仮説検定を使って、残差をプロットして評価できます。

より高い次数の多項式が従属変数に対して最も効果的であることに注目すべきです。逆に、高い次数(4以上)のモデルは、係数値の精度に敏感で、係数値の少しの違いでも、計算されるy値が大きく変わってしまいます。デフォルトで、多項式フィットの結果は5桁で丸め処理されます。手動でこれらのレポートワークシートの値をフィット曲線に表示する場合、丸め処理による小さな桁落ちは、高次項に影響し、モデルが不適切だという誤った結論を導いてしまう恐れがあります。手動で、最適なフィットパラメータを使った計算を実行するには、丸め処理した値ではなく、完全な精度の値を使ってください。Originは、レポートする値を5桁にしてますが、これは表示のためのものです。Originは、ユーザが他のデータ型に指定しなければ、常に完全な精度(double(8))で数学演算を行っています。詳細は、Originでの数値形式をご覧ください。

一般的に言えば、連続した関数は比較的高い次数の多項式モデルでフィットできます。しかし、より高い次数にしても実用上意味がないかもしれません。

サンプル

他のサンプルについては、XFスクリプトダイアログ(F11を押す)をご覧下さい。

アルゴリズム

回帰モデル

与えられたデータセット (xi, yi ), i = 1,2,...n, に対して、( X は独立変数、Y は従属変数) 次の形式のモデルを使ってデータに多項式回帰を実行します。

FitPolynomial help English files image008.gif

ここで、k は次数で、Originでは、10より小さい正の数です。誤差項 \epsilon は、独立しており、正規分布 N (0, \sigma^2 )に従うものとします。

モデルをフィットするため、残差は次のようになります。

FitPolynomial help English files image010.gif

平均値が0、分散が \sigma_i^2 の正規分布です。その後、パラメータ \beta_i の 最大尤度推定は はカイ二乗値を最小化することによって計算でき、次のように定義されています。

誤差が重み付けとして取り扱われる場合、カイ二乗を最小化する数式は次のように記述することができます。

FitPolynomial help English files image012.gif

そして:

FitPolynomial help English files image002.gif

ここで、\sigma_i は測定誤差です。それらが不明な場合は、全てを1に設定します。

行列計算による係数の推定

推定される係数の計算は行列で計算できます。最初に、行列の形式で回帰モデルを書き換えます。

FitPolynomial help English files image015.gif

ここで、

FitPolynomial help English files image017.gif

ベクターデータ B の推定値は、線形方程式の解で、次の式で表すことができます。

FitPolynomial help English files image019.gif FitPolynomial help English files image021.gif FitPolynomial help English files image023.gif FitPolynomial help English files image025.gif

ここで X'X の転置行列になります。

FitPolynomial help English files image027.gif

多項式回帰での推測

多項式フィットのANOVAは以下の表のようにまとめられます。

 

df

平方和

二乗平均

F 値

Prob > F

モデル

k

SSreg = TSS - RSS

MSreg = SSreg / k

MSreg/ MSE

P値

誤差

n* - k

RSS

MSE = RSS / (n*-k)

   

合計

n*

TSS

     


(Note:切片がモデルに含まれてる場合、n*=n-1 です。それ以外は、 n*=n で平方和の合計は未補正となります。

ここで、平方和の合計TSSは、

FitPolynomial help English files image029.gif (補正モデル)

FitPolynomial help English files image031.gif (未補正モデル)

そして、残差平方和 (RSS) または平方誤差和 (SSE)が、各データポイントとフィット曲線との垂直方向での差の実際の平方和となります。これは次式のように定義できます。

FitPolynomial help English files image033.gif

ANOVA表に、 F検定の結果が現れます。F 検定の帰無仮説は、すべての部分係数が0に等しいということです。例えば、

H_0:\beta_0 = \beta_1 = \beta_2 = ...= \beta_k = 0

つまり、対立仮説は、次のようになります。

'H_\alpha':少なくとも一つは\beta_j \ne 0

計算されたF値を使って、対応する帰無仮説を棄却するかどうかを決めることができます。与えられた有意水準 \alpha では、F > F_\alpha の場合、または、F (計算された p 値) の有意性が \alpha よりも小さい場合にH_0 を棄却することができます。

推定のために、次の式で計算される一部の勾配の標準誤差を知る必要があります。

FitPolynomial help English files image035.gif

ここで c_{jj} は、(X’X)-1j 番目の対角要素となります。s_\epsilon は、次式で計算される残差標準偏差 (「std dev」、「推定の標準誤差」、「root MSE」のようにも呼びます) です。

FitPolynomial help English files image037.gif

回帰の前提から、t検定を実行して、帰無仮説と対立仮説を使って回帰係数を求めます。

H_0:\beta_j = 0, H_\alpha:\beta_j \ne 0,

t値は次のように計算できます。

FitPolynomial help English files image039.gif

t値を使って、帰無仮説を棄却するかどうかを調べることができます。与えられた有意水準 \alphaでは、 |t| > t{\alpha/2} の場合、または、p 値が \alpha よりも小さい場合に H_0 を棄却することができます。

信頼区間と予測区間

特定の値 xp の場合、x=xpにおけるyの平均値の100(1-\alpha)% 信頼区間は、

FitPolynomial help English files image041.gif

そしてx=xpにおけるyの平均値の100(1-\alpha)%予測区間は、

FitPolynomial help English files image043.gif

決定係数

フィットの良さは、決定係数(COD) R2で評価でき、次の式で計算できます。

FitPolynomial help English files image045.gif

補正 R2 は、自由度の R2 値を調整するのに使用されます。これは次式のように定義できます。

FitPolynomial help English files image047.gif

相関係数 R値は、R2 の平方根を使って計算できます。

FitPolynomial help English files image049.gif

共分散行列と相関行列

多項式回帰の共分散行列は以下によって計算されます。

FitPolynomial help English files image051.gif

2つのパラメータ間の相関は、

FitPolynomial help English files image053.gif


参考文献

1.Bruce Bowerman, Richard T. O'Connell.1997.Applied Statistics:Improving Business Processes.The McGraw-Hill Companies, Inc.

2.Sanford Weisberg.2005.Applied Linear Regression, 2nd ed. John Wiley & Son, Inc., Hoboken, New Jersey.

3.William H. Press.; et al.2002.Numerical Recipes in C++, 2nd ed. Cambridge University Press:New York.

関連のXファンクション

fitLR, nlfit