R2 im Out-Sample-Datensatz

Oct 16 2020

Die konventionelle Definition von $R^2$ ist: $R^2 = 1-SSE/SST$wobei SSE die Summe der quadratischen Fehler bezeichnet und SST die Gesamtsumme der Quadrate ist ($n\times variance$, n ist die Anzahl der Abtastpunkte im Zugsatz).

Ich möchte jedoch die Fitness meines Modells auf einem Out-of-Sample-Set (Test-Set) oder auf Zug- und Test-Sets zusammen sehen. Ist es in Ordnung, die gleiche Definition von zu verwenden?$R^2$indem Sie SSE und SST entsprechend über Test-Set oder (Zug + Test) Sets nehmen? Z.B. Ich trainiere mein Modell weiter$n$Beispielpunkte. Ich möchte die Leistung überprüfen auf ($n+p$) Punkte ($p$einige neue Beispielpunkte aus dem Zugset). Kann ich benutzen$R^2 = 1-(SSE$ auf (n + p) Punkten$)/(SST$ auf (n + p) Punkten$)$?

Antworten

3 awend Oct 18 2020 at 01:03

Es ergibt Sinn. Es ist jedoch üblicher, die Trainings- und Testsätze getrennt zu halten. Damit Sie Ihr Modell am Zugsatz trainieren und dann allein am Testsatz vorhersagen können. Von dort aus können Sie den Vorhersagefehler berechnen und a$R^2_{pred}$wenn du möchtest. (Trainieren auf$n$ Datenpunkte auswerten am $p$ Datenpunkte, in Ihren Begriffen.)

Sie können auch Dinge wie die PRESS-Statistik und andere Kreuzvalidierungsmethoden nachschlagen.

2 Firebug Oct 18 2020 at 01:59

Es ist sinnvoll, sich zu bewerben $R^2= 1-{\sum(y_i-\hat y_i)^2}/{\sum(y_i-\bar y)^2}$Set direkt testen. Es ist ein Maß für die Größe der quadratischen Residuen im Vergleich zur Varianz der wahren Werte.

Wenn Sie alternativ den Begriff der Abweichung übernehmen (siehe diese Antwort ), können Sie stattdessen das Nullmodell aus Trainingsdaten verwenden:

$$\tilde R^2= 1-\frac{\sum(y_i-\hat y_i)^2}{\sum(y_i-\bar y_{train})^2}$$

Ich habe beide in Gebrauch gesehen, und beide können gerechtfertigt werden.