[scikit-learn] Regarding negative value of sklearn.metrics.r2_score and sklearn.metrics.explained_variance_score

Christophe Pallier christophe at pallier.org
Fri Aug 13 06:08:29 EDT 2021


Indeed , this is basically what I told you (you do not be need to copy
textbook stuff: I taught probas/stats) : these are mostly problems for
*inference*.

On Fri, 13 Aug 2021, 12:03 Samir K Mahajan, <samirkmahajan1972 at gmail.com>
wrote:

>
> Dear Christophe Pallier*,*
>
> When we are doing prediction, we are relying on the values of the
> coefficients of the model created. We are feeding test data on the model
> for prediction.    We may be nterested to see if the OLS
> estimators(coefficients)  are BLUE or not. In the presence of
> autocorrelation (normally noticed in time series data),  residuals are not
> independent, and as such the OLS estimators are not BLUE in the sense that
> they don't have minimum variance, and thus no more efficient estimators.
> Statistical tests (t, F and *χ*2)  may not be valid.  We may reject the
> model to make predictions in such a situation.  .   We have to rely upon
> other improved models.   There may be issues relating to multicollinearity
> (in case of multivariable regression model)  and heteroscedasticity (mostly
> seen  in cross-section data) too in a model.  Can we discard these  tools
> while predicting a model?
>
> Regards,
>
> Samir K Mahajan
>
>
> On Fri, Aug 13, 2021 at 1:07 PM Christophe Pallier <christophe at pallier.org>
> wrote:
>
>> Actually, multicollinearity and autocorrelation are problems for
>> *inference* more than for *prediction*. For example, if there is
>> autocorrelation, the residuals are not independent, and the degrees of
>> freedom are wrong for the tests in an OLS model (but you can use, e.g., an
>> AR1 model).
>>
>> On Thu, 12 Aug 2021, 22:32 Samir K Mahajan, <samirkmahajan1972 at gmail.com>
>> wrote:
>>
>>> A note please (to Sebastian Raschka, mrschots).
>>>
>>>
>>>   The OLS model  that I used  ( where the test score gave me a negative
>>> value)  was not a good fit.  Initial findings showed that t*he
>>> regression coefficients and  the model as a whole were significant,    *yet
>>> ,  finally  ,  it failed in two econometrics tests  such as VIF (used for
>>> detecting multicollinearity ) and Durbin-Watson test  ( used for detecting
>>> auto-correlation).  *Presence of multicollinearity and autocorrelation
>>> problems * in the model make it unsuitable for prediction.
>>> Regards,
>>>
>>> Samir K Mahajan.
>>>
>>> On Fri, Aug 13, 2021 at 1:41 AM Samir K Mahajan <
>>> samirkmahajan1972 at gmail.com> wrote:
>>>
>>>> Thanks  to all of you for your kind response.   Indeed, it  is a
>>>> great learning experience.  Yes, econometrics books  too create models for
>>>> prediction, and programming  really   makes things better in a complex
>>>> world.   My understanding is that machine learning does depend on
>>>> econometrics  too.
>>>>
>>>> My Regards,
>>>>
>>>> Samir K Mahajan
>>>>
>>>> On Fri, Aug 13, 2021 at 1:21 AM Sebastian Raschka <
>>>> mail at sebastianraschka.com> wrote:
>>>>
>>>>> The R2 function in scikit-learn works fine. A negative means that the
>>>>> regression model fits the data worse than a horizontal line representing
>>>>> the sample mean. E.g. you usually get that if you are overfitting the
>>>>> training set a lot and then apply that model to the test set. The
>>>>> econometrics book probably didn't cover applying a model to an independent
>>>>> data or test set, hence the [0, 1] suggestion.
>>>>>
>>>>> Cheers,
>>>>> Sebastian
>>>>>
>>>>>
>>>>> On Aug 12, 2021, 2:20 PM -0500, Samir K Mahajan <
>>>>> samirkmahajan1972 at gmail.com>, wrote:
>>>>>
>>>>>
>>>>> Dear Christophe Pallier,  Reshama Saikh and Tromek Drabas,
>>>>> Thank you for your kind response.  Fair enough. I go with you R2 is
>>>>> not a square.  However, if you open any  book of econometrics,  it says R2
>>>>> is  a ratio that lies between 0  and 1.  *This is the constraint.* It
>>>>> measures the proportion or percentage of the total variation in  response
>>>>> variable (Y)  explained by the regressors (Xs) in the model . Remaining
>>>>> proportion of variation in Y, if any,  is explained by the residual term(u)
>>>>> Now, sklearn.matrics. metrics.r2_score gives me a negative value lying on a
>>>>> linear scale (-5.763335245921777). This negative value breaks the
>>>>> *constraint.* I just want to highlight that. I think it needs to be
>>>>> corrected. Rest is up to you .
>>>>>
>>>>> I find that  Reshama Saikh  is hurt by my email. I am really sorry for
>>>>> that. Please note I never undermine your  capabilities and initiatives. You
>>>>> are great people doing great jobs. I realise that I should have been more
>>>>> sensible.
>>>>>
>>>>> My regards to all of you.
>>>>>
>>>>> Samir K Mahajan
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Aug 12, 2021 at 12:02 PM Christophe Pallier <
>>>>> christophe at pallier.org> wrote:
>>>>>
>>>>>> Simple: despite its name R2 is not a square. Look up its definition.
>>>>>>
>>>>>> On Wed, 11 Aug 2021, 21:17 Samir K Mahajan, <
>>>>>> samirkmahajan1972 at gmail.com> wrote:
>>>>>>
>>>>>>> Dear All,
>>>>>>> I am amazed to find  negative  values of  sklearn.metrics.r2_score
>>>>>>> and sklearn.metrics.explained_variance_score in a model ( cross validation
>>>>>>> of OLS regression model)
>>>>>>> However, what amuses me more  is seeing you justifying   negative
>>>>>>> 'sklearn.metrics.r2_score ' in your documentation.  This does not
>>>>>>> make sense to me . Please justify to me how squared values are negative.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Samir K Mahajan.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> scikit-learn mailing list
>>>>>>> scikit-learn at python.org
>>>>>>> https://mail.python.org/mailman/listinfo/scikit-learn
>>>>>>>
>>>>>> _______________________________________________
>>>>>> scikit-learn mailing list
>>>>>> scikit-learn at python.org
>>>>>> https://mail.python.org/mailman/listinfo/scikit-learn
>>>>>>
>>>>> _______________________________________________
>>>>> scikit-learn mailing list
>>>>> scikit-learn at python.org
>>>>> https://mail.python.org/mailman/listinfo/scikit-learn
>>>>>
>>>>> _______________________________________________
>>>>> scikit-learn mailing list
>>>>> scikit-learn at python.org
>>>>> https://mail.python.org/mailman/listinfo/scikit-learn
>>>>>
>>>> _______________________________________________
>>> scikit-learn mailing list
>>> scikit-learn at python.org
>>> https://mail.python.org/mailman/listinfo/scikit-learn
>>>
>> _______________________________________________
>> scikit-learn mailing list
>> scikit-learn at python.org
>> https://mail.python.org/mailman/listinfo/scikit-learn
>>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn at python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/scikit-learn/attachments/20210813/31649a50/attachment-0001.html>


More information about the scikit-learn mailing list