好吧,社区:
最近我问过如何做指数回归(Exponential regression function Python),认为对于那个数据集,最佳回归是双曲型的。在
x_data = np.arange(0, 51)
y_data = np.array([0.001, 0.199, 0.394, 0.556, 0.797, 0.891, 1.171, 1.128, 1.437,
1.525, 1.720, 1.703, 1.895, 2.003, 2.108, 2.408, 2.424,2.537,
2.647, 2.740, 2.957, 2.58, 3.156, 3.051, 3.043, 3.353, 3.400,
3.606, 3.659, 3.671, 3.750, 3.827, 3.902, 3.976, 4.048, 4.018,
4.286, 4.353, 4.418, 4.382, 4.444, 4.485, 4.465, 4.600, 4.681,
4.737, 4.792, 4.845, 4.909, 4.919, 5.100])
现在,我怀疑:
第一种是指数拟合。第二种是双曲型。我不知道哪个更好。。。如何确定?我应该遵循哪些标准?有什么python函数吗?在
提前谢谢!在
一个常见的拟合统计量是R平方(R2),它可以计算为“R2=1.0-(绝对误差方差/相依数据方差)”,它告诉你模型解释了相依数据方差的哪一部分。例如,如果R平方值为0.95,那么您的模型解释了95%的相关数据方差。由于您使用的是numpy,R平方值通常计算为“R2=1.0-(abs)”_误差变量()/部门_数据.var())”因为numpy数组有一个var()方法来计算方差。将数据拟合到Michaelis-Menten方程“y=ax/(b+x)”,参数值为a=1.0232217656373191E+01和b=5.2016057362771100E+01时,我计算出的R平方值为0.9967,这意味着“y”数据中99.67%的方差由该模型解释。然而,没有银弹,它总是很好的验证其他拟合统计和视觉检查模型。以下是我使用的示例的图:
你可以取函数和拟合线之间的2-范数。Python有一个函数
np.linalg.norm
R平方值用于线性回归。在好吧,你应该计算一个误差函数来衡量你的拟合程度。您可以使用许多不同的错误函数,但是从一开始,均方误差应该是有效的(如果您对进一步的度量感兴趣,请看一下http://scikit-learn.org/stable/modules/model_evaluation.html)。在
一旦确定了回归问题的系数,就可以手动实现均方误差:
相关问题 更多 >
编程相关推荐