曲线拟合具有未知公式(SciPy)的数据集

我试图曲线拟合Waldram图,以便我可以绘制自己的图。 我使用了一个程序,从图中得到一条曲线作为点数据,并且想要计算出公式。

我对SciPy有一个大概的了解,在我看来,你需要有一些想法,曲线的公式应该是什么,我不知道。 有没有办法解决一个最佳拟合曲线而不知道一个通​​用的公式?

Waldram图

我的自定义点的Python代码

我使用初始参数估计的遗传algorithm来拟合超过400个具有四个或更less参数的已知的命名的非线性方程的数据,并且从sorting结果中select我认为是好的候选方程作为Catenary变换方程与偏移量) – 见附图。

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] 

输出图

简短的回答:不,你需要模型的一些functionforms来适应。

理想情况下,您应该可以根据数据的含义编写一个包含几个参数(您可以优化的参数)的模型。 如果这是不可能的,你需要根据你的领域知识来想出一些合理的东西。