Why would R-Squared decrease when I add an exogenous variable in OLS using python statsmodels

后端 未结 1 685
[愿得一人]
[愿得一人] 2020-12-17 03:26

If I understand the OLS model correctly, this should never be the case?

trades[\'const\']=1
Y = trades[\'ret\']+trades[\'comms\']
#X = trades[[\'potential\'         


        
相关标签:
1条回答
  • 2020-12-17 04:00

    see the answer here Statsmodels: Calculate fitted values and R squared

    Rsquared follows a different definition depending on whether there is a constant in the model or not.

    Rsquared in a linear model with a constant is the standard definition that uses a comparison with a mean only model as reference. Total sum of squares is demeaned.

    Rsquared in a linear model without a constant compares with a model that has no regressors at all, or the effect of the constant is zero. In this case the R squared calculation uses a total sum of squares that does not demean.

    Since the definition changes if we add or drop a constant, the R squared can go either way. The actual explained sum of squares will always increase if we add additional explanatory variables, or stay unchanged if the new variable doesn't contribute anything,

    0 讨论(0)
提交回复
热议问题