Importanza dei predittori nella regressione multipla: parziale rispetto a coefficienti standardizzati


21

Mi chiedo quale sia la relazione esatta tra parziale e coefficienti in un modello lineare e se dovrei usare solo uno o entrambi per illustrare l'importanza e l'influenza dei fattori.R2

Per quanto ne so, con summaryottengo stime dei coefficienti e con anovala somma dei quadrati per ciascun fattore - la proporzione della somma dei quadrati di un fattore divisa per la somma della somma dei quadrati più i residui è parziale (è inserito il seguente codice ).R2R

library(car)
mod<-lm(education~income+young+urban,data=Anscombe)
    summary(mod)

Call:
lm(formula = education ~ income + young + urban, data = Anscombe)

Residuals:
    Min      1Q  Median      3Q     Max 
-60.240 -15.738  -1.156  15.883  51.380 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.868e+02  6.492e+01  -4.418 5.82e-05 ***
income       8.065e-02  9.299e-03   8.674 2.56e-11 ***
young        8.173e-01  1.598e-01   5.115 5.69e-06 ***
urban       -1.058e-01  3.428e-02  -3.086  0.00339 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 26.69 on 47 degrees of freedom
Multiple R-squared:  0.6896,    Adjusted R-squared:  0.6698 
F-statistic: 34.81 on 3 and 47 DF,  p-value: 5.337e-12

anova(mod)
Analysis of Variance Table

Response: education
          Df Sum Sq Mean Sq F value    Pr(>F)    
income     1  48087   48087 67.4869 1.219e-10 ***
young      1  19537   19537 27.4192 3.767e-06 ***
urban      1   6787    6787  9.5255  0.003393 ** 
Residuals 47  33489     713                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

La dimensione dei coefficienti per "giovane" (0,8) e "urbano" (-0,1, circa 1/8 del primo, ignorando "-") non corrisponde alla varianza spiegata ("giovane" ~ 19500 e "urbano" ~ 6790, cioè circa 1/3).

Quindi ho pensato che avrei dovuto ridimensionare i miei dati perché ho ipotizzato che se l'intervallo di un fattore è molto più ampio dell'intervallo di un altro fattore i loro coefficienti sarebbero difficili da confrontare:

Anscombe.sc<-data.frame(scale(Anscombe))
mod<-lm(education~income+young+urban,data=Anscombe.sc)
summary(mod)

Call:
lm(formula = education ~ income + young + urban, data = Anscombe.sc)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.29675 -0.33879 -0.02489  0.34191  1.10602 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.084e-16  8.046e-02   0.000  1.00000    
income       9.723e-01  1.121e-01   8.674 2.56e-11 ***
young        4.216e-01  8.242e-02   5.115 5.69e-06 ***
urban       -3.447e-01  1.117e-01  -3.086  0.00339 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.5746 on 47 degrees of freedom
Multiple R-squared:  0.6896,    Adjusted R-squared:  0.6698 
F-statistic: 34.81 on 3 and 47 DF,  p-value: 5.337e-12

anova(mod)
Analysis of Variance Table

Response: education
          Df  Sum Sq Mean Sq F value    Pr(>F)    
income     1 22.2830 22.2830 67.4869 1.219e-10 ***
young      1  9.0533  9.0533 27.4192 3.767e-06 ***
urban      1  3.1451  3.1451  9.5255  0.003393 ** 
Residuals 47 15.5186  0.3302                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1    

Ma ciò non fa davvero la differenza, parziale e la dimensione dei coefficienti (questi sono ora coefficienti standardizzati ) non corrispondono ancora:R2

22.3/(22.3+9.1+3.1+15.5)
# income: partial R2 0.446, Coeff 0.97
9.1/(22.3+9.1+3.1+15.5)
# young:  partial R2 0.182, Coeff 0.42
3.1/(22.3+9.1+3.1+15.5)
# urban:  partial R2 0.062, Coeff -0.34

Quindi è giusto dire che "giovane" spiega tre volte più varianza di "urbano" perché parziale per "giovane" è tre volte quello di "urbano"? R2Perché il coefficiente di "giovane" non è tre volte quello di "urbano" (ignorando il segno)?

Suppongo che la risposta a questa domanda mi dirà anche la risposta alla mia domanda iniziale: dovrei usare parziale o coefficienti per illustrare l'importanza relativa dei fattori? (Ignorando la direzione dell'influenza - segno - per il momento).R2

Modificare:

L'eta-quadrato parziale sembra essere un altro nome per quello che ho chiamato parziale . etasq {heplots} è una funzione utile che produce risultati simili:R2

etasq(mod)
          Partial eta^2
income        0.6154918
young         0.3576083
urban         0.1685162
Residuals            NA

Cosa stai cercando di fare o mostrare esattamente? L'influenza stimata? Il significato?
IMA,

Sì, ho familiarità con i test T e F. Vorrei mostrare un'influenza stimata, per la quale i test t e F di afaik non sono adatti.
robert,

1
La mia domanda è: dovrei usare R² parziale o i coefficienti per mostrare quanta influenza ha ciascun fattore sul risultato? Supponevo che entrambi puntassero nella stessa direzione. Stai dicendo che non è vero perché c'è multicollinearità nei dati. Va bene, quindi quando voglio fare una dichiarazione come il fattore "giovane" influenza il risultato x volte di più / è x volte più importante del fattore "urbano", guardo R² o coefficienti parziali?
robert

1
Non sono d'accordo con @IMA. Il quadrato parziale R è direttamente collegato alla correlazione parziale, che è un buon modo per studiare le relazioni adattate al confondatore tra iv e dv.
Michael M,

1
Ho modificato la tua domanda per farla apparire di nuovo in prima pagina. Sarei molto interessato a una buona risposta; se non appare nessuno, potrei persino offrire una taglia. A proposito, i coefficienti di regressione dopo la standardizzazione di tutti i predittori sono chiamati "coefficienti standardizzati". Ho inserito questo termine nella tua domanda, per renderlo più chiaro.
ameba dice Ripristina Monica il

Risposte:


10

In breve , non utilizzerei sia il parziale sia i coefficienti standardizzati nella stessa analisi, poiché non sono indipendenti. Direi che di solito è probabilmente più intuitivo confrontare le relazioni usando i coefficienti standardizzati perché si riferiscono prontamente alla definizione del modello (cioè Y = β X ). Il parziale R 2 , a sua volta, è essenzialmente la proporzione della varianza condivisa unica tra il predittore e variabile dipendente (dv) (quindi per il primo predittore è il quadrato del parziale correlazione r x 1 y . X 2 . . . X nR2Y=βXR2rX1y.X2...Xn). Inoltre, per un adattamento con un errore molto piccolo tutti i coefficienti tendono a 1, quindi non sono utili per identificare l'importanza relativa dei predittori.R2


Le definizioni delle dimensioni dell'effetto

  • coefficiente standardizzato, - i coefficienti β ottenuti dalla stima di un modello sulle variabili standardizzate (media = 0, deviazione standard = 1).βStdβ
  • parziale - La percentuale di variazione residua spiegata aggiungendo il predittore al modello vincolato (il modello completo senza predittore). Uguale a:R2

    • il quadrato della correlazione parziale tra il predittore e la variabile dipendente, controllando per tutti gli altri predittori nel modello. .Rpun'rtioun'l2=rXioy.XXio2
    • parziale - la proporzione di tipo III somma dei quadrati dal predittore alla somma dei quadrati attribuiti al predittore e l'errore SS effetto / ( SS effetto + SS errore )η2SSeffetto/(SSeffetto+SSerrore)
  • - La differenza in R 2 tra il modello vincolato e il modello completo. Uguale a:ΔR2R2

    • correlazione semipartiale quadrata rXio(y.XXio)2
    • per la somma dei quadrati di tipo III effetto SS / totale SS - quello che stavi calcolando come R 2 parzialenella domanda.η2SSeffetto/SStotaleR2

Tutti questi sono strettamente correlati, ma differiscono per come gestiscono la struttura di correlazione tra le variabili. Per comprendere meglio questa differenza, supponiamo di avere 3 variabili standardizzate (media = 0, sd = 1) cui correlazioni sono r x y , r x z , r y z . Prenderemo x come variabile dipendente e y e zX,y,zrXy,rXz,ryzXyzcome i predittori. Esprimeremo tutti i coefficienti di dimensione dell'effetto in termini di correlazioni in modo da poter vedere esplicitamente come ciascuna struttura gestisce la struttura di correlazione. Per prima cosa elencheremo i coefficienti nel modello di regressione stimati usando OLS. La formula per i coefficienti: β y = r x y - r y z r z xX=βyY+βzZ La radice quadratadell'R2parzialeper i predittori sarà uguale a:

βy=rXy-ryzrzX1-ryz2βz=rXz-ryzryX1-ryz2,
Rparziale2

RXy.z2=rXy-ryzrzX(1-rXz2)(1-ryz2)RXz.y2=rXz-ryzryX(1-rXy2)(1-ryz2)

il è dato da:ΔR2

RXyz2-RXz2=ry(X.z)=rXy-ryzrzX(1-ryz2)RXzy2-RXy2=rz(X.y)=rXz-ryzryX(1-ryz2)

La differenza tra questi è il denominatore, che per e β contiene solo la correlazione tra i predittori. Si noti che nella maggior parte dei contesti (per i predittori debolmente correlati) la dimensione di questi due sarà molto simile, quindi la decisione non influirà troppo sulla tua interpretazione. Inoltre, se i predittori che hanno una forza di correlazione simile con la variabile dipendente e non sono troppo fortemente correlati i rapporti diΔR2 sarà simile ai rapporti diβstd.Rparziale2βStd

anovaR2lm

AnovacarFtF(1,n)=t2(n)anova(mod)Anova(mod, type = 2)options(contrasts = c("contr.sum","contr.poly"))Anova(mod,type=3)R2etasq()pR2


Credito


β=(XX)Xy

1
Hai ragione, intendevo dire che i test SS e t di tipo III per coefficienti danno sostanzialmente lo stesso test F e valore p.
Chris Novak,

2
@amoeba dopo aver fatto alcuni calcoli ho modificato la mia risposta per includere i tuoi suggerimenti, chiarire un po 'le differenze tra le due dimensioni dell'effetto e affrontare meglio la risposta del PO.
Chris Novak,

1
ΔR2R2R2R2

1
ΔR2Rp2ΔR2Rp2R21
ameba dice Reinstate Monica il

8

Come già spiegato in molte altre risposte e nei commenti, questa domanda si basava su almeno tre confusioni:

  1. anova()tAnova()car

  2. R2βStd

  3. R2SSeffetto/(SSeffetto+SSerrore)SSeffetto/SStotaleR2SSeffetto

Dopo che queste confusioni sono state chiarite, rimane la domanda su quali siano le misure più appropriate della dimensione o dell'importanza dell'effetto predittore.


In R, esiste un pacchetto relaimpoche fornisce diverse misure di importanza relativa.

library(car)
library(relaimpo)
mod <- lm(education~income+young+urban, data=Anscombe)
metrics <- calc.relimp(mod, type = c("lmg", "first", "last", "betasq", "pratt", "genizi", "car"))

Utilizzando lo stesso Anscombeset di dati della tua domanda, si ottengono le seguenti metriche:

Relative importance metrics: 

              lmg      last      first    betasq       pratt     genizi        car
income 0.47702843 0.4968187 0.44565951 0.9453764  0.64908857 0.47690056 0.55375085
young  0.14069003 0.1727782 0.09702319 0.1777135  0.13131006 0.13751552 0.13572338
urban  0.07191039 0.0629027 0.06933945 0.1188235 -0.09076978 0.07521276 0.00015460

Alcune di queste metriche sono già state discusse:

  • betasqsono coefficienti standardizzati quadrati, gli stessi valori ottenuti con lm().
  • firstSSeffetto/SStotaleSSeffettoanova()
  • lastR2SSeffetto/SStotaleSSeffettoR2anova()

R2

Ci sono altre quattro metriche in relaimpo- e un'altra (quinta) è disponibile se il pacchetto relaimpoviene installato manualmente: la versione CRAN esclude questa metrica a causa di un potenziale conflitto con il suo autore che, come sembra folle, ha un brevetto americano sul suo metodo . Sto eseguendo R online e non ho accesso ad esso, quindi se qualcuno può installarlo manualmente relaimpo, per favore aggiungi questa metrica aggiuntiva al mio output sopra per completezza.

Sono due le metriche prattche possono essere negative (cattive) e genizipiuttosto oscure.

Due approcci interessanti sono lmge car.

SSeffetto/SStotaleSSeffetto

Il secondo è stato introdotto in (Zuber & Strimmer, 2011) e ha molte proprietà teoriche interessanti; è un coefficiente standardizzato quadrato dopo che i predittori sono stati prima standardizzati e poi imbiancati con trasformazione ZCA / Mahalanobis (cioè sbiancati minimizzando l'errore di ricostruzione).

2:1lmg878:1car

Bibliografia:

  1. Riferimenti su importanza relativa sul sito web di Ulrike Grömping - di cui è autrice relaimpo.

  2. Grömping, U. (2006). Importanza relativa per la regressione lineare in R: il pacchetto relaimpo . Journal of Statistical Software 17, Numero 1.

  3. Grömping, U. (2007). Stimatori di importanza relativa nella regressione lineare basata sulla decomposizione della varianza . The American Statistician 61, 139-147.

  4. Zuber, V. and Strimmer, K. (2010). Regressione ad alta dimensione e selezione variabile mediante punteggi CAR . Applicazioni statistiche in genetica e biologia molecolare 10.1 (2011): 1-27.

  5. Grömping, U. (2015). Importanza variabile nei modelli di regressione . Recensioni interdisciplinari di Wiley: Statistiche computazionali, 7 (2), 137-152. (dietro il muro paga)


Riepilogo molto bello con ulteriori informazioni di valore su vari coefficienti di importanza. A proposito, stai usando questo motore R online pbil.univ-lyon1.fr/Rweb o un altro?
ttnphns

1
Uso r-fiddle.org , ma non ho mai provato nient'altro e non so come si confronta. Sembra piuttosto elegante però.
ameba dice Ripristina Monica il

Riepilogo molto chiaro e informazioni aggiuntive sulle dimensioni degli effetti (+1)
Chris Novak,

4

Hai scritto:

La mia domanda è: dovrei usare R² parziale o i coefficienti per mostrare quanta influenza ha ciascun fattore sul risultato?

È importante non confondere due cose qui. Innanzitutto, c'è la questione delle specifiche del modello. L'algoritmo lm presuppone che le ipotesi OLS siano soddisfatte. Ciò significa che, per stime obiettive, dal modello NON può mancare alcuna variabile significativa (tranne quando non correlata a tutti gli altri regressori, rara).
Quindi, nel trovare un modello, l'influenza aggiuntiva su R² o R² aggiustata è ovviamente interessante. Si potrebbe pensare che sia corretto aggiungere regressori fino a quando l'R² modificato non smette di migliorare, per esempio. Esistono problemi interessanti con le procedure di regressione graduale come questa, ma questo non è l'argomento. In ogni caso suppongo che ci fosse una ragione per cui hai scelto il tuo modello.

TUTTAVIA: questa influenza aggiuntiva sull'R² non è identica all'influenza reale o totale del regressore sulla variabile indipendente, proprio a causa della multicollinerità: se togli il regressore, parte della sua influenza verrà ora attribuita agli altri regressori che sono correlati ad esso. Quindi ora la vera influenza non è mostrata correttamente.

E c'è un altro problema: le stime sono valide solo per il modello completo con tutti gli altri regressori presenti. O questo modello non è ancora corretto e quindi la discussione sull'influenza non ha senso - oppure è corretta e quindi non è possibile eliminare un regressore e utilizzare comunque i metodi OLS con successo.

Quindi: il tuo modello e l'uso di OLS sono appropriati? In tal caso, le stime rispondono alla tua domanda: sono la tua migliore ipotesi letterale sull'influenza delle variabili sulla variabile regresso / dipendente.
In caso contrario, il tuo primo lavoro è trovare un modello corretto. Per questo l'uso di R² parziale può essere un modo. Una ricerca sulle specifiche del modello o sulla regressione graduale produrrà molti approcci interessanti in questo forum. Ciò che funziona dipenderà dai tuoi dati.


1
Grazie a quattro la tua risposta! Non sono sicuro che la tua affermazione che "questa ulteriore influenza sull'R² non sia identica all'influenza reale o totale del regressore sulla variabile indipendente" non è controversa. Il pacchetto relaimpo cran.r-project.org/web/packages/relaimpo/relaimpo.pdf ad esempio utilizza R² parziale "per valutare l'importanza relativa nei modelli lineari".
robert,

1
Pensi di poter fornire un riferimento per la tua opinione che R² dovrebbe essere usato solo per la selezione del modello?
Robert

1
@robert: la ragion d'essere di relaimpoè fornire alternative al R ^ 2 parziale, esattamente per il motivo che l'IMA dà!
Scortchi - Ripristina Monica

1
@Scortchi: Wow, dopo aver guardato nel manuale del relaimpopacchetto mi sono reso conto che esiste un intero mondo di approcci diversi per quantificare l'importanza relativa dei predittori nella regressione lineare. Attualmente sto esaminando alcuni documenti collegati lì ( questa prestampa del 2010 sembra abbastanza buona finora), e questo è un casino! Non mi rendevo conto che questo problema è così complicato, quando ho offerto la mia generosità. Non sembra essere stato adeguatamente discusso sul CV. È un argomento oscuro? Se è così, perché?
ameba dice Ripristina Monica il

2
@amoeba: una risposta immediata è che "l'importanza relativa dei predittori" non è poi così importante per la maggior parte degli scopi. Se hai un modello che ti soddisfa, puoi usarlo per dire cose come fumare una sigaretta al giorno equivale a mangiare cinque hamburger in termini di rischio di infarto: l'importanza deriva dall'interpretazione sostanziale di ciò che stai modellando; se si confrontano modelli, si confrontano interi modelli - diciamo quelli con e senza una coppia di predittori costosi da misurare - e non è necessario preoccuparsi di come il potere predittivo possa essere abbastanza suddiviso.
Scortchi - Ripristina Monica

3

Per quanto riguarda la differenza tra il coefficiente di regressione lineare e la correlazione parziale, è possibile leggere questo , ad esempio.

Tuttavia, la confusione espressa nella domanda sembra essere di altra natura. Sembra riguardare il tipo predefinito di somme di quadrati utilizzate da questo o quel pacchetto statistico (argomento, discusso più volte sul nostro sito). La regressione lineare utilizza ciò che viene chiamato nella contabilità SS di tipo III ANOVA. In molti programmi ANOVA questa è anche l'opzione predefinita. In Rfunzione anova, mi sembra (non sono un utente R, quindi suppongo che sia) il calcolo di default è SS di tipo I (una "SS sequenziale" che dipende dall'ordine in cui i predittori sono specificati nel modello). Quindi, la discrepanza che hai osservato e che non è scomparsa quando hai standardizzato ("ridimensionato") le tue variabili è perché hai specificato ANOVA con l'opzione di Tipo I predefinita.

Di seguito sono riportati i risultati ottenuti in SPSS con i tuoi dati:

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

È possibile selezionare in queste stampe che i parametri (coefficienti regressivi) siano gli stessi indipendentemente dal tipo di calcolo SS. Si può anche notare che il quadrato Eta parziale [che è SSeffect / (SSeffect + SSerror) e = R-quadrato parziale nel nostro caso perché i predittori sono covariate numeriche] è completamente lo stesso nella tabella degli effetti e dei coefficienti solo quando si digita SS è III. Quando il tipo SS è I, solo l'ultimo dei 3 predittori, "urbano", mantiene lo stesso valore (.169); questo perché nella sequenza di input dei predittori è l'ultimo. Nel caso di SS di tipo III l'ordine di input non ha importanza, come nella regressione. A proposito, la discrepanza è anche osservata nei valori p. Anche se non lo vedi nelle mie tabelle perché ci sono solo 3 cifre decimali nella colonna "Sig",

Potresti voler leggere di più sui diversi "tipi di SS" nel modello ANOVA / lineare. Concettualmente, il tipo III o "regressione" di SS è fondamentale e primordiale. Altri tipi di SS (I, II, IV, ne esistono ancora di più) sono dispositivi speciali per stimare gli effetti in modo più completo, meno dispendioso di quanto i parametri di regressione consentano nella situazione dei predittori correlati.

In generale, le dimensioni degli effetti e i loro valori p sono più importanti da segnalare rispetto ai parametri e ai loro valori p, a meno che lo scopo dello studio non sia quello di creare un modello per il futuro. I parametri sono ciò che ti permette di prevedere, ma "influenza" o "effetto" può essere un concetto più ampio di "forza della previsione lineare". Per segnalare influenza o importanza sono possibili altri coefficienti oltre al quadrato Eta parziale. Un essere è il coefficiente di esclusione: l'importanza di un predittore è la somma residua di quadrati con il predittore rimosso dal modello, normalizzato in modo che i valori di importanza per tutti i predittori si sommino a 1.


+1, grazie per esserti unito alla discussione. Ho una domanda terminologica. "Parziale R al quadrato" è definito come SSeffect / (SSeffect + SSerror). Qual è il nome di SSeffect / SStotal? Per quanto ho capito (correggimi se sbaglio), se usiamo la decomposizione SS di tipo III, allora questo SSeffect / SStotal sarà uguale alla correlazione parziale quadrata tra la risposta e questo predittore (controllando per tutti gli altri predittori). Questa quantità ha un nome? Il parziale R2 è analogo al eta parziale al quadrato, ma perché non esiste un nome per l'analogo dell'eta al quadrato stesso? Sono confuso da questo.
ameba dice Ripristina Monica il

Oops, penso di aver scritto alcune assurdità sopra: la correlazione parziale quadrata è SSeffect / (SSeffect + SSerror), cioè esattamente parziale R2, corretto? Tuttavia, la domanda su come chiamare SSeffect / SStotal (che è ciò che OP ha cercato di calcolare nella sua domanda originale!) Rimane. Dovremmo chiamarlo eta quadrato? O "R2 partizionato" (comprendendo ovviamente che per SS di tipo III, queste "partizioni" non si sommano al totale R2)?
ameba dice di reintegrare Monica il

1
Sì, SSeffect / SStotal è semplicemente eta quadrato. È eta al quadrato del predittore in quello specifico modello (da non confondere con eta marginale al quadrato = eta al quadrato quando il predittore è solo uno nel modello = ordine zero Pearson r ^ 2, nel nostro caso di predittori continui).
ttnphns

1
Esattamente così. La correlazione delle parti è (un'istanza specifica di) eta. Penso che sia giusto quindi chiamare quell'et nella parte modello eta. Non ricordo alcun testo in cui trovo il termine "parte" o "semipartiale" eta. Se lo scopri, fammi sapere.
ttnphns,

1
Sì; perché, penso allo stesso modo. Ma r, parziale r, semipartiale r sono casi particolari dell'eta corrispondente. L'importante distinzione terminologica tra i due, tuttavia, emerge nel contesto in cui, oltre all'effetto "non lineare" categorico generale (fittizio), aggiungiamo l'effetto lineare (o polinomiale) del predittore come se fosse codificato da un codice numerico. Qui vengono visualizzati 3 effetti: Etasq combinato = Rsq lineare + Deviazione dalla linearità.
ttnphns
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.