2015-01-03 9 views
5

からの不確実性を探します。私はサンプルデータの行に合わせてオーダー2の簡単な<code>polyfit</code>を使用する関数polyfit

今、私はフィットラインの不確実性を見つけたい、と3x3の共分散行列を返しcov引数、使用しようとしました:

np.polyfit(x, y, 2, cov=True) 

をしかし、私は不確実性を計算するかどうかはわかりません、私に従っていますGoogle検索は、共分散行列の対角を二乗することによって計算する必要があります。

答えて

4

この問題はP.Hによって"Estimating Errors in Least-Squares Fitting"によって解決されています。 Richter、1995、TDA Progress Report 42-122。レポートから

、この段落はすでに 一つ以上のフィッティングパラメータの誤差を決定、あなた

すなわち、上記と考え最初のインスタンスに十分であるかもしれない、の 的に与えられた単純明快な答えを持っていますフィッティングの共分散行列の対角要素、 がよく知られています。

興味のある対角要素は、例えば次のとおり多項式係数でこのエラーは関数としても従属変数yの誤差がどのように参照アドレス、一般に

x = linspace(0,1,1000) 
# comment and uncomment the last term to see how the fit appears in the figure, 
# and how the covariances of the single polynomial coefficients vary in turn. 
y = cos(x)*x**2+x+sin(x-1.) #+(x*1.3)**6 
p,cov = polyfit(x,y,2,cov=True) 
plot(x,y,'b') 
plot(x,polyval(p,x),'r') 
print sqrt(diag(cov)) 

詳細独立変数xのレポートから:

独立したの関数としてフィットの 標準誤差を決定するために1を可能にする結果を提示するために、 特に、上記のエラーを議論して、この記事の目的であります変数 と同様に、これらのエラーの信頼限界を確立することができます。

関連する問題