如何在 python 中做一个简单的 'model fitting'?
How to do a simple 'model fitting' in python?
假设我有三个数据集x, y, z
。
我想拟合一个简单的模型:A*x + B*y + C = z
(A、B、C 是常量。)
我如何在 Python 中做到这一点?
我找到了 scipy.optimize.curve_fit
。但是,它似乎只能采用一个变量:curve_fit(f, xdata, ydata[, p0, sigma])
,适合 f(x) = y
。我需要的是 f(x, y)=z
.
在 Mathematica 中,NonLinearModelFit
可以完成这项工作。我想知道 Python 中是否有我错过的类似模块。
docs表明scipy.optimize.curve_fit
确实可以满足您的需求。特别是:
xdata : An M-length sequence or an (k,M)-shaped array
for functions with k predictors. The independent variable where the data is measured.
ydata : M 长度序列
The dependent data — nominally f(xdata, ...)
如果您的自变量当前是单独的数组,您可以将它们与 np.vstack:
组合
scipy.optimize.curve_fit(f, np.vstack(x, y), z)
假设我有三个数据集x, y, z
。
我想拟合一个简单的模型:A*x + B*y + C = z
(A、B、C 是常量。)
我如何在 Python 中做到这一点?
我找到了 scipy.optimize.curve_fit
。但是,它似乎只能采用一个变量:curve_fit(f, xdata, ydata[, p0, sigma])
,适合 f(x) = y
。我需要的是 f(x, y)=z
.
在 Mathematica 中,NonLinearModelFit
可以完成这项工作。我想知道 Python 中是否有我错过的类似模块。
docs表明scipy.optimize.curve_fit
确实可以满足您的需求。特别是:
xdata : An M-length sequence or an (k,M)-shaped array
for functions with k predictors. The independent variable where the data is measured.
ydata : M 长度序列
The dependent data — nominally f(xdata, ...)
如果您的自变量当前是单独的数组,您可以将它们与 np.vstack:
组合scipy.optimize.curve_fit(f, np.vstack(x, y), z)