2013-07-01 29 views
5

Voglio fare una regressione di y~x (solo 1 dipendente e 1 variabile indipendente) ma ho eteroschedasticità. La variabilità di y aumenta con l'aumentare di x. Per affrontarlo, vorrei usare i minimi quadrati ponderati attraverso la funzione "gls()" in R. Ma devo ammettere che non capisco come usarlo. Devo applicare una funzione di varianza all'argomento "pesi" della funzione gls. Ma non so quale scegliere e come usarlo. Potresti darmi un aiuto su questo per favore?Minimi quadrati ponderati - R

Grazie.

risposta

5

Ecco un esempio di come prendere in considerazione il numero di poisson come dati in cui la variazione sarà proporzionale alla media (che sembra avere).

fit = lm (y ~ x, data=dat,weights=(1/dat$x^2)) 

si utilizza il recipricol come il peso poiché vi sarà moltiplicando i valori. Lo piazza per prendersi cura dei dati di conteggio di Poisson perché la varianza ha unità al quadrato. Puoi fare qualcosa come:

fit = lm (y ~ x, data=dat,weights=(1/dat$x)) 

Per ridimensionarlo semplicemente con il valore x e vedere cosa funziona meglio.

+0

Come valutare se funziona meglio. Il valore restituito dal test Bartlett è lo stesso con e senza l'argomento "pesi". Ecco il mio codice: a2 = read.table ("total37.txt", intestazione = TRUE) m1 = lm (Res ~ Modef, A2, pesi = 1/a2 $ Modef^2) m2 = lm (res ~ Modef, a2) bartlett.test (residui (M1) ~ a2 $ Modef)) Bartlett prova dati: residui (M1) e a2 $ Modef di Bartlett K-squared = 35,2706, df = 11, p- valore = 0.0002236 bartlett.test (residui (m2) ~ a2 $ Modef)) Bartlett test di dati : residui (m2) e a2 $ Modef di Bartlett K-squared = 35,2706, df = 11, p-value = 0.0002236 – user1671537