Python中的渐近回归?
我有一部分数据集,Python中的渐近回归?,python,machine-learning,statistics,curve-fitting,modeling,Python,Machine Learning,Statistics,Curve Fitting,Modeling,我有一部分数据集,y值最终必须达到一个渐近极限。以下是前300个条目的示意图: 我已经看到了(形式为y=b0+b1*(1-exp(-exp(lrc)*x)),我认为这将是适合此数据的最佳模型。R的库中似乎已经有了,但我在Python中找不到 (1) 是否有以下Cleb回答的渐近回归或相关饱和动力学模型的库函数?如果没有,如何使用scipy.optimize.curve_fit建模 (2) 还有如何预测曲线的最大整数值?例如,如果y=2454.1234是X=10**20和y=2545.5678在
y
值最终必须达到一个渐近极限。以下是前300个条目的示意图:
我已经看到了(形式为y=b0+b1*(1-exp(-exp(lrc)*x)
),我认为这将是适合此数据的最佳模型。R的库中似乎已经有了,但我在Python中找不到
(1) 是否有以下Cleb回答的渐近回归或相关饱和动力学模型的库函数?如果没有,如何使用scipy.optimize.curve_fit建模
(2) 还有如何预测曲线的最大整数值?例如,如果y=2454.1234
是X=10**20
和y=2545.5678
在X=10**50
处的值,对于某个模型,我想得到2454
。除了线性搜索之外,还有什么一次性的方法吗
谢谢你的帮助。你可以很容易地使用它。我使用了不同的型号,但你可以很容易地改变它 您得到的输出如下所示: 这是一段非常不言自明的代码:
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import pandas as pd
def f(x, a, b, n):
return a * x ** n / (x ** n + b)
data = pd.read_csv('data.txt.txt', sep='\t')
y = data['y'].astype(float)
x = data['X'].astype(float)
popt, pcov = curve_fit(f, x, y, p0=[1800., 20., 1.])
plt.scatter(x, y)
plt.plot(x, f(x, *popt), 'r-')
plt.show()
您使用的模型是什么?@Ain:只有一个模型可以用来描述饱和动力学。您可以用所需的模型替换它,但初始条件(
p0
)将很重要;您可能必须拟合模型的对数。如何进行拟合?您可以添加如何在答案中选择p0值吗?这将是一个很大的帮助。@Ain:现在时间不多,以后可能可以这样做。通常我会绘制一些参数值的数据和函数输出,以至少获得形状ect;其余的曲线拟合就可以了:)。当然,@Cleb我很期待。谢谢