回归分析,是对两个或两个以上变量之间的因果关系进行定量研究的一种统计分析方法。在做回归分析或者解决回归问题时,常会用到R²平方值。

定义:

应用描述:

应用实现代码:

 

R^2定义:

1.定义:决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例,回归中可解释离差平方和与总离差平方和之比值,其数值等于相关系数R的平方。简而言之:模型可以解释为多大程度是自变量导致因变量的改变。

 2 描述:即判定系数R^2是评估回归模型好坏的指标。R平方取值范围也为0~1,通常以百分数表示。比如回归模型的R平方等于0.7,那么表示,此回归模型对预测结果的可解释程度为70%。

公式:

 

R^2应用描述:

进行线行回归时,R²为回归平方和与总离差平方和的比值,这一比值越大,表示总离差平方和中可以由回归平方和解释的比例越大,模型越精确,回归效果越显著。从数值上说,R²介于0~1之间,越接近1,回归拟合效果越好,一般认为超过0.8的模型拟合优度比较高。

在模型调整时,增加自变量的个数,判定系数就会增加,即随着自变量的增多,R平方会越来越大,会显得回归模型精度很高,有较好的拟合效果。而实际上可能并非如此,有些自变量与因变量(即预测)完全不相关,增加这些自变量,并不会提升拟合水平和预测精度。

如果调整后的R平方与R平方存在明显差异,则意味着所用的自变量不能很好的测算因变量的变化,或者是遗漏了一些可用的自变量。调整后的R平方与R平方间差距越大,模型的拟合越差。

R^2应用实现代码:

import numpy as np
import math


def R2(X, Y):
    xBar = np.mean(X)
    yBar = np.mean(Y)
    SSR = 0
    varX = 0
    varY = 0
    for i in range(0, len(X)):
        diffXXBar = X[i] - xBar
        diffYYBar = Y[i] - yBar
        SSR += (diffXXBar * diffYYBar)
        varX += diffXXBar ** 2
        varY += diffYYBar ** 2

    SST = math.sqrt(varX * varY)
    return SSR / SST

testX = [1, 3, 8, 7, 9]
testY = [10, 12, 24, 21, 34]

print(R2(testX, testY))

#
0.94031007654487

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐