R2与R2adj的区别:
R2是回归平方和与总平方和的比值。根据定义,它就是反应了回归方程对y的解释能力。
在它基础上,又派生出一个调整确定系数,是因为在多元线性回归方程中,自变量个数的增加会引起余差平方和的减少,R2增大;因此,尽管有的自变量与y线性关系不显著,将其引入方程后,也会使R2增大。也就是说,R2本身还受自变量个数的影响。
因此,为了剔除自变量个数对R2的影响,让R2的大小只反应回归方程的拟合优度,引入了调整的R2,从其可以看出,调整的R2随k的增加而减小,(n是样本个数,在调查之后分析时,是固定的),可以识别自变量个数对R2的影响。
经验上,一般当 p:n大于1:5时,R2会高估实际的拟合优度,这时,宜用调整后的R2来说明方程的拟合优度,也就是自变量对y的解释能力。
n 为样本数,p为特征数(因子数)
if rows_number - cols_number - 1 == 0:
r2adj = 0
else:
r2adj = 1 - (1-r2)(rows_number-1)/(rows_number - cols_number - 1)