用未知公式拟合数据集(SciPy)

2024-10-03 19:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用曲线拟合瓦尔德拉姆图,这样我就可以自己画了。我用一个程序,从图中得到一条曲线作为点数据,并想算出公式。在

我对SciPy有一定的了解,我觉得你需要知道曲线的公式应该是什么,我没有。有没有办法在不知道一般公式的情况下求解最佳拟合曲线?在

Waldram Diagram

Python Code for my custom points


Tags: 数据程序formycustom情况codescipy
2条回答

我用遗传算法将您发布的数据拟合到400多个已知的、四个或更少参数的非线性方程组中,并从排序结果中选择了我认为很好的候选方程作为悬链线变换方程(带偏移量)-见附图。在

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

简单回答:不,你需要一些模型的功能形式来适应。在

理想情况下,您应该能够根据数据的含义编写一个包含多个参数(然后针对这些参数进行优化)的模型。如果这是不可能的,你需要根据你的领域知识想出一些合理的方法。在

相关问题 更多 >