Come calcolare il campione R al quadrato?


10

So che probabilmente è stato discusso da qualche altra parte, ma non sono stato in grado di trovare una risposta esplicita. Sto cercando di utilizzare la formula per calcolare fuori campione di un modello di regressione lineare, in cui è la somma dei residui quadrati e è la somma totale dei quadrati. Per il set di allenamento, è chiaro cheR2=1SSR/SSTR2SSRSST

SST=Σ(yy¯train)2

E il set di test? Dovrei continuare a usare per il campione , oppure usare invece ?y¯trainyy¯test

Ho scoperto che se uso , l' risultante può essere talvolta negativo. Ciò è coerente con la descrizione della funzione di sklearn , dove hanno usato (che è anche usato dalla funzione del loro modello lineare per testare i campioni). Dichiarano che "un modello costante che prevede sempre il valore atteso di y, ignorando le caratteristiche di input, otterrebbe un punteggio R ^ 2 di 0,0".y¯testR2r2_score()y¯testscore()

Tuttavia, in altri luoghi le persone hanno usato come qui e qui (la seconda risposta di dmi3kno). Quindi mi chiedevo quale fosse più sensato? Ogni commento sarà molto apprezzato!y¯train

Risposte:


3

Hai ragione.

I residui di OSR si basano su dati di test, ma la linea di base dovrebbe essere ancora i dati di training. Detto questo, il tuo SST è ; notare che è lo stesso per2SST=Σ(yy¯train)2R2


3
Anche se ho corretto alcuni errori evidenti e alcuni apparenti dalle modifiche precedenti, alcuni della notazione e alcuni dei significati previsti non sono ancora chiari.
Nick Cox,

Grazie per la risposta! Hai qualche riferimento su questo? Sembra che i software stat usino comunemente la definizione alternativa, con y_test?
Matifou
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.