Qual è la formula R al quadrato corretta in lm in R e come dovrebbe essere interpretata?


35

Qual è la formula esatta usata in R lm() per il rettangolo R rettificato? Come posso interpretarlo?

Formule rettangolari rettificate

Sembra che esistano diverse formule per calcolare il rettangolo R rettificato.

  • Formula di Wherry: 1-(1-R2)(n-1)(n-v)
  • Formula di McNemar: 1-(1-R2)(n-1)(n-v-1)
  • Formula del Signore: 1-(1-R2)(n+v-1)(n-v-1)
  • Formula di Stein: 1-[(n-1)(n-K-1)(n-2)(n-K-2)(n+1)n](1-R2)

Descrizioni del libro di testo

  • Secondo il libro di testo di Field, Discovering Statistics Using R (2012, p. 273) R usa l'equazione di Wherry che "ci dice quanta varianza in Y verrebbe calcolata se il modello fosse stato derivato dalla popolazione da cui è stato prelevato il campione". Non dà la formula per Wherry. Raccomanda di usare la formula di Stein (a mano) per verificare se il modello convalida in modo incrociato.
  • Kleiber / Zeileis, Applied Econometrics with R (2008, p. 59) dichiarano che è "R-quadrato rettificato di Theil" e non dicono esattamente come la sua interpretazione vari dal R-quadrato multiplo.
  • Dalgaard, Introductory Statistics with R (2008, p. 113) scrive che "se moltiplichi [rettangolo R rettificato] per il 100%, può essere interpretato come '% di riduzione della varianza'". Non dice a quale formula corrisponde.

In precedenza avevo pensato e letto ampiamente che R-squared penalizza per l'aggiunta di ulteriori variabili al modello. Ora l'uso di queste diverse formule sembra richiedere interpretazioni diverse. Ho anche esaminato una domanda correlata su Stack Overflow ( Qual è la differenza tra R-quadrato multiplo e R-quadrato rettificato in una regressione dei minimi quadrati a singola variabile? ), E il dizionario statistico della scuola di Wharton su UPenn .

Domande

  • Quale formula viene utilizzata per il rettangolo r rettificato di R lm() ?
  • Come posso interpretarlo?

8
da summary.lm () ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf):, dove ans $ r.squared = R ^ 2; n = n, rdf = residuo df, df.int = intercetta df (0 o 1).
EDi,

Fornirò una risposta al vero problema qui, che non è "che tipo di R ^ 2 ...". Le informazioni che ti mancano (e molte altre) sono queste: tutti i pacchetti R, anche il core, rendono disponibile il codice sorgente. Anche le cose compilate nelle distro sono disponibili in {nomepacchetto} .tar.gz sul CRAN o su altri repository.
Carl Witthoft,

OP qui: Grazie per questo fantastico contributo. Che ne dici della mia seconda domanda: come posso interpretarla? Ho letto tante interpretazioni diverse di Adj. R-quadrato che a volte sembra essere basato su una formula che potrebbe non essere quella di Wherry?

Risposte:


29

1. Quale formula lmusa in R per il rettangolo r rettificato?

Come già accennato, la digitazione summary.lmti darà il codice che R usa per calcolare il quadrato R rettificato. Estrarre la riga più pertinente che ottieni:

ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf)

che corrisponde in notazione matematica a:

Run'dj2=1-(1-R2)n-1n-p-1

df.int=1np è il numero di predittori. Pertanto, i tuoi gradi di errore di libertà (cioè, rdf) sono uguali n-p-1.

n-pn-p-1

2. Perché ci sono così tante formule rettangolari rettificate?

Run'dj2ρ2ρ2 ).

R2Run'dj2

Run'dj2

Run'dj2ρ2ρ2R2

Riferimenti

  • R2

9

Per quanto riguarda la tua prima domanda: se non sai come viene calcolato, guarda il codice! Se si digita summary.lmla console, si ottiene il codice per questa funzione. Se si sfiorano throught il codice troverete una riga: ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf). Se guardi alcune righe sopra di questa riga noterai che:

  • ans$r.squaredR2
  • n è il numero dei residui = numero di osservazioni
  • df.int è 0 o 1 (a seconda se hai un'intercettazione)
  • rdf sono il tuo df residuo

R2R2

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.