gpt4 book ai didi

python - 在 Python 中计算决定系数

转载 作者:行者123 更新时间:2023-11-28 21:30:14 27 4
gpt4 key购买 nike

我正在尝试计算 coefficient of determination (R^2) 在 Python 中,但在某些情况下我得到负值。这是否表明我的计算有误?我认为 R^2 应该限制在 0 和 1 之间。

这是我用于计算的 Python 代码,直接改编自 WP 文章:

>>> yi_list = [1, 1, 63, 63, 5, 5, 124, 124]
>>> fi_list = [1.7438055421354988, 2.3153069186947639, 1002.7093097555808, 63.097699219524706, 6.2635465467410842, 7.2275532522971364, 17.55393551900103, 40.8570]
>>> y_mean = sum(yi_list)/float(len(yi_list))
>>> ss_tot = sum((yi-y_mean)**2 for yi in yi_list)
>>> ss_err = sum((yi-fi)**2 for yi,fi in zip(yi_list,fi_list))
>>> r2 = 1 - (ss_err/ss_tot)
>>> r2
-43.802085810924964

最佳答案

维基百科文章中所示的计算实现对我来说没问题。

根据维基百科文章:

Values of R2 outside the range 0 to 1 can occur where it is used to measure the agreement between observed and modelled values and where the "modelled" values are not obtained by linear regression and depending on which formulation of R2 is used.

查看您的数据,预期模型对 63 和 1002.7093097555808 可能是大方差的主要来源。

关于python - 在 Python 中计算决定系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460357/

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