如何在python中进行简单的“模型拟合”?

时间:2015-03-18 06:21:19

标签: python model-fitting

假设我有三个数据集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中是否有类似的模块我错过了。

1 个答案:

答案 0 :(得分:1)

docs表明scipy.optimize.curve_fit确实可以满足您的需求。特别是:

  

xdata:M长度序列或(k,M)形阵列

     
    

用于具有k个预测变量的函数。测量数据的自变量。

  
     

ydata:M长度序列

     
    

依赖数据 - 名义上为f(xdata,...)

  

如果您的自变量当前是单个数组,则可以将它们与np.vstack结合使用:

scipy.optimize.curve_fit(f, np.vstack(x, y), z)