statsmodels的回归R2的问题

本文探讨了在使用statsmodels进行回归分析时,R2(可决系数)的计算问题。通过对比不同设置下的R2值,解释了hasconstant参数对R2的影响。当hasconstant为False时,由于未减去均值(uncentered TSS),导致R2值增大。同时,文章指出,若模型中显式或隐式包含常数项,R2将采用常规计算方式。理解这些差异有助于正确解读和应用statsmodels的回归结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        做量化呢,得经常做回归,各种各样的,ols,wls,正则的lasso, 岭回归等等。回归有一个很重要的整体解释力度的参数就是R2,也就是可决系数。在python中,我们回归一般采用的是statsmodels这个模块,但是回归的时候获得的R2其实有那么点学问,有时候设置错参数可能得到的R2大家会觉得怪怪的。这里就给大家排个雷。首先,我们先给出两组、六个回归函数。

第一组:

def cross_reg1_1(df):
    results = sm.OLS(df.rate, sm.add_constant(df[['plf_ttm']]), hasconst=False).fit()
    return results

def cross_reg1_2(df):
    results = sm.OLS(df.rate, sm.add_constant(df[['plf_ttm']]), hasconst=True).fit()
    return results

def cross_reg1_3(df):
    results = sm.OLS(df.rate, sm.add_constant(df[['plf_ttm']])).fit()
    return results

第二组:

def cross_reg2_1(df):
    results = sm.OLS(df.rate, df[['plf_ttm']],  hasconst=False).fit()
    return results

def cross_reg2_2(df):
    results &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱塘小甲子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值