2017-02-28 10 views
0

私は自分自身をプロットできるようにWaldramダイアグラムをカーブフィッティングしようとしています。私はプログラムを使い、図から点データとして1つの曲線を得て、その式を計算したいと思っています。曲線未知の公式(SciPy)を持つデータセットをフィッティング

私はSciPyに関する一般的な知識を持っています。私には、曲線の公式がどのようなものでなければならないか、何らかの考え方が必要です。一般的な公式を知らなくてもベストフィットカーブを解く方法はありますか?

Waldram Diagram

Python Code for my custom points

+2

関数は(多項式)シリーズに展開することができますので、また、多くの場合、良いアイデアです。 –

+0

ダイアグラムから、あなたの関数はかなり周期的かつ対称的に見えるので、いくつかのdctモードでフィッティングすることができます。 –

+0

@ a_guestのコメントを拡張すると、あなたのカーブが適切に近似されるまでnumpyの[polyfit](https://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html)を任意の次数で使うことができますエラー)。それはうまくいかないかもしれませんが、良い出発点です。 –

答えて

0

短い答え:いいえ、あなたはに合わせてモデルのいくつかの関数形式を必要としています。

理想的には、データの意味から複数のパラメータ(最適化する)を持つモデルを書くことができます。それが不可能な場合は、あなたのドメインの知識に基づいて分かりやすいものを考え出す必要があります。

1

あなたは、初期パラメータ推定のための遺伝的アルゴリズムを使用して、4つ以下の既知の名前付き非線形方程式に投稿したデータを適合させ、ソートした結果から、カテナリー変換式(オフセット付き) - 添付のグラフを参照してください。多項式を仮定

y = a * cosh((bx + c)/a) + Offset 

a = -9.8413881676827686E-02 
b = 8.3564373717938123E-03 
c = -3.8850547606358887E-04 
Offset = 8.7774689075636331E+01 


Degrees of freedom (error): 183 
Degrees of freedom (regression): 3 
Chi-squared: 2232.72609461 
R-squared: 0.985367781841 
R-squared adjusted: 0.985127909412 
Model F-statistic: 4107.88262167 
Model F-statistic p-value: 1.11022302463e-16 
Model log-likelihood: -497.209347432 
AIC: 5.36052778002 
BIC: 5.42964240284 
Root Mean Squared Error (RMSE): 3.45538879663 

a = -9.8413881676827686E-02 
     std err: 2.35115E-04 
     t-stat: -6.41825E+00 
     p-stat: 1.14906E-09 
     95% confidence intervals: [-1.28667E-01, -6.81608E-02] 

b = 8.3564373717938123E-03 
     std err: 1.27107E-06 
     t-stat: 7.41202E+00 
     p-stat: 4.45377E-12 
     95% confidence intervals: [6.13203E-03, 1.05808E-02] 

c = -3.8850547606358887E-04 
     std err: 3.74545E-07 
     t-stat: -6.34812E-01 
     p-stat: 5.26344E-01 
     95% confidence intervals: [-1.59599E-03, 8.18980E-04] 

Offset = 8.7774689075636331E+01 
     std err: 2.53913E-01 
     t-stat: 1.74192E+02 
     p-stat: 0.00000E+00 

     95% confidence intervals: [8.67805E+01, 8.87689E+01] 


Coefficient Covariance Matrix 
[ 1.92706102e-05 -1.41684431e-06 1.54227770e-08 -4.40076630e-04] 
[ -1.41684431e-06 1.04180031e-07 -1.21060089e-09 3.25700381e-05] 
[ 1.54227770e-08 -1.21060089e-09 3.06987009e-08 -8.90474871e-07] 
[ -4.40076630e-04 3.25700381e-05 -8.90474871e-07 2.08113423e-02] 

output plot

関連する問題