gpt4 book ai didi

python - 从 scipy.linalg.lstsq 获取 R^2 值

转载 作者:行者123 更新时间:2023-11-28 16:32:46 26 4
gpt4 key购买 nike

我有一个使用 scipy.linalg.lstsq 函数的拟合 3D 数据集。
我正在使用:

# best-fit quadratic curve    
A = np.c_[np.ones(data.shape[0]), data[:,:2], np.prod(data[:,:2], axis=1), data[:,:2]**2]
C,_,_,_ = scipy.linalg.lstsq(A, data[:,2])
#evaluating on grid
Z = np.dot(np.c_[np.ones(XX.shape), XX, YY, XX*YY, XX**2, YY**2], C).reshape(X.shape)

但是我怎样才能从中得到拟合曲面的 R^2 值呢?
有什么方法可以检查拟合结果的重要性?

任何与此相关的想法将不胜感激。
谢谢。

最佳答案

正在关注 http://en.wikipedia.org/wiki/Coefficient_of_determination :

B = data[:,2]

SStot = ((B - B.mean())**2).sum()
SSres = ((B - np.dot(A,C))**2).sum()
R2 = 1 - SSres / SStot

如维基百科文章所述,R2 有很多缺点。据我所知,scipy/numpy 与像 statsmodels 这样的库相比效果不佳。

如果您想运行多元回归,因为您需要计算事后估计系数标准误差、t 统计量、p 值等等,如果您想知道数据中发生了什么。

有很多帖子专门介绍如何使用 Python 运行 OLS,因此只需选择一个,例如:http://www.datarobot.com/blog/ordinary-least-squares-in-python/

关于python - 从 scipy.linalg.lstsq 获取 R^2 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com