Thanks Kingsford! I will cc r-help. varPower() works for me. I want to use lm because predict.gls does not give lwr and upr values, and also the bptest and ncv.test only work with lm models...
On 4/29/08, Kingsford Jones <[EMAIL PROTECTED]> wrote: > > hi Tom, > > Basically, a simple way to model non-constant variance when the > variance increases (the common case) or decreases with the conditional > mean of your response is to use "weights = varPower()", and gls will > estimate the parameter \alpha that defines the power relationship > between the regression line and the error variances. If for some > reason you wanted to use lm rather then gls for your final model, then > after estimating the gls model you could supply a weights argument to > lm of the form: > > weights = > fitted(your.gls.model)^(-2*the.alpha.estimate.from.the.gls.model). > > and you should get the same (or very close) estimates as from the gls > model but have a model of class 'lm'. > > There are many different ways to model non-constant variance and > you'll need to choose one that is appropriate for your data. If the > model I described isn't appropriate then you should look at Ch 5 of > P&B to learn about the other varFunc classes. > > good luck, > > Kingsford > > ps - would you mind forwarding to r-help in case this others have the > same question. > > > On Tue, Apr 29, 2008 at 3:24 PM, tom soyer <[EMAIL PROTECTED]> wrote: > > Thanks Kingsford! What are the varClasses? I don't know how to use > them.... > > If I choose varPower(), then does it mean the function would generate > the > > weights, w, so that w gives the most likely explanation of the > relationship > > between the variance and the independent variable? > > > > > > > > > > On 4/29/08, Kingsford Jones <[EMAIL PROTECTED]> wrote: > > > On Tue, Apr 29, 2008 at 6:20 AM, tom soyer <[EMAIL PROTECTED]> > wrote: > > > > Hi, > > > > > > > > I would like to use a weighted lm model to reduce > heteroscendasticity. > > I am > > > > wondering if the only way to generate the weights in R is through > the > > > > laborious process of trial and error by hand. Does anyone know if R > has > > a > > > > function that would automatically generate the weights need for lm? > > > > > > Hi Tom, > > > > > > The 'weights' argument to the 'gls' function in the nlme package > > > provides a great deal of flexibility in estimate weighting parameters > > > and model coefficients. For example, if you want to model monotonic > > > heteroscedasticity by estimating the weights $E(Y)^{-2\alpha}$, > > > you can use the varPower variance function class. E.g., something > like > > > > > > f1 <- gls(y ~ x1 + x2, data = your.data, weights = varPower()) > > > > > > will estimate the regression coefficients and alpha parameter together > > > via maximum likelihood. (note that the usual specification for > varPower > > is > > > varPower(form = ~ your.formula), but by default the mean is used. See > > > Ch 5 of the Pinheiro and Bates Mixed-effects Models book for details) > > > > > > Kingsford Jones > > > > > > > > > > > -- > > Tom > -- Tom [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.