Modellazione di regressione con varianza diseguale


22

Vorrei adattare un modello lineare (lm) in cui la varianza dei residui dipende chiaramente dalla variabile esplicativa.

Il modo in cui so di fare questo è usando glm con la famiglia Gamma per modellare la varianza e quindi mettere il suo inverso nei pesi nella funzione lm (esempio: http://nitro.biosci.arizona.edu/r/chapter31 .pdf )

Mi stavo chiedendo:

  • È questa l'unica tecnica?
  • Quali altri approcci sono rilevanti?
  • Quali pacchetti / funzioni R sono rilevanti per questo tipo di modellazione? (altro che glm, lm)

4
Dove usano glm()quindi lm()nel capitolo a cui ti colleghi. Mi sembra che glm()sia tutto ciò che è necessario e utilizzato lì, ma potrei aver perso qualcosa. Puoi provare i minimi quadrati generalizzati ( gls()in nlme ) che consentono di stimare i pesi per controllare il tipo di eteroscedasticità che menzioni; vedere ?varFunce seguire i collegamenti da lì. IIRC varFixed()farà ciò che vuoi.
Ripristina Monica - G. Simpson,

In "proc mixed", "subject = option" produce una struttura diagonale a blocchi nella matrice varianza-covarianza dei residui. Hai quindi considerato un modello misto lineare generale per modificare l'ipotesi dell'omoscedasticità?
Ocram,

Grazie Gavin, ho esaminato un po 'queste funzioni. Due domande: 1) Raccomandi qualche tutorial? (Sospetto che il libro MASS possa essere un buon inizio, ma mi chiedevo se ci avessi pensato). 2) Poiché il modello che sto adattando è un semplice OLS, quanto sarà diversa la stima quando si utilizza la funzione gls? (Se ricordo bene - non molto, dal momento che dovrebbe funzionare su un'approssimazione iterativa di primo grado, ma non ne sono affatto sicuro). Ocram - grazie, ma non uso SAS.
Tal Galili,

Qui nella Sezione 2 viene spiegato come farlo in STATA per la regressione di quasipoisson : stata.com/meeting/fnasug08/gutierrez.pdf . Se qualcuno potesse suggerire un modo per ricodificare questo in R, sarei molto grato.
a11msp,

Risposte:


17

Le pillole contro l '"effetto megafono" includono (tra gli altri):

  1. Utilizza log o radice quadrata trasformare . Questo non è esatto ma a volte doma l'ampliamento.Y
  2. Utilizzare la regressione minima quadrata ponderata . In questo approccio, ad ogni osservazione viene dato il proprio fattore di varianza. Questa risposta mostra come utilizzare WLSR in R (ad esempio se la varianza dei residui è proporzionale alla media, è possibile fornire come pesi l'inverso del valore montato nel modello non ponderato).
  3. Usa una regressione robusta. La funzione rlm()nel MASSpacchetto di R fa la stima M, che dovrebbe essere robusta alla disuguaglianza delle varianze.

Modifica di luglio 2017: sembra che i minimi quadrati generalizzati, come suggerito nella risposta di Greg Snow, siano una delle migliori opzioni.


2
Ho basato su questa risposta per una domanda Stack Overflow .
Peter Ellis,

1
Potrebbe valere la pena sottolineare anche l'opzione dei minimi quadrati generalizzati, usando gls con l'opzione dei pesi impostata su varFixed () - per me questa sembrerebbe una delle opzioni più eleganti ...
Tom Wenseleers

@TomWenseleers Sono d'accordo. Nota che questa è la risposta di Greg Snow.
gui11aume,

9

Con il pacchetto gamlss è possibile modellare la distribuzione degli errori della risposta come una funzione lineare, non lineare o uniforme delle variabili esplicative. Questo sembra essere un approccio abbastanza potente (ho imparato molto su tutte le possibilità che potrebbero sorgere durante il processo di selezione del modello) e tutto è ben spiegato in diverse pubblicazioni (compresi i libri) a cui si fa riferimento al link sopra.


8

La glsfunzione nel nlmepacchetto per R può stimare contemporaneamente la regressione e la relazione con la varianza. Vedi l' weightsargomento e il secondo esempio nella pagina di aiuto.

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.