[R] {nlme} Multilevel estimation heteroscedasticity

From: Rense Nieuwenhuis <r.nieuwenhuis_at_student.ru.nl>
Date: Sun, 10 Jun 2007 16:35:58 +0200

Dear All,

I'm trying to model heteroscedasticity using a multilevel model. To do so, I make use of the nlme package and the weigths-parameter. Let's say that I hypothesize that the exam score of students
(normexam) is influenced by their score on a standardized LR test
(standLRT). Students are of course nested in "schools". These
variables are contained in the Exam-data in the mlmRev package.

lme(fixed = normexam ~ standLRT,

	data = Exam,
	random = ~ 1 | school)

If I want to model only a few categories of variance, all works fine. For instance, should I (for whatever reason) hypothesize that the variance on the normexam-scores is larger in mixed schools than in boys-schools, I'd use weights = varIdent(form = ~ 1 | type), leading to:

heteroscedastic <- lme(fixed = normexam ~ standLRT,

	data = Exam,
	weights = varIdent(form = ~ 1 | type),
	random = ~ 1 | school)

This gives me nice and clear output, part of which is shown below: Variance function:
Structure: Different standard deviations per stratum Formula: ~normexam | type
Parameter estimates:

      Mxd Sngl
1.000000 1.034607
Number of Observations: 4059
Number of Groups: 65

Though, should I hypothesize that the variance on the normexam- variable is larger on schools that have a higher average score on intake-exams (schavg), I run into troubles. I'd use weights = varIdent
(form = ~ 1 | schavg), leading to:

heteroscedastic <- lme(fixed = normexam ~ standLRT,

	data = Exam,
	weights = varIdent(form = ~ 1 | schavg),
	random = ~ 1 | school)

This leads to estimation problems. R tells me: Error in lme.formula(fixed = normexam ~ standLRT, data = Exam, weights = varIdent(form = ~1 | :

        nlminb problem, convergence error code = 1; message = iteration limit reached without convergence (9)

Fiddling with maxiter and setting an unreasonable tolerance doesn't help. I think the origin of this problem lies within the large number of categories on "schavg" (65), that may make estimation troublesome.

This leads to my two questions:
- How to solve this estimation-problem?
- Is is possible that the varIdent (or more general: VarFunc) of lme returns a single value, representing a coŽfficiŽnt along which variance is increasing / decreasing?

Many thanks in advance,

Rense Nieuwenhuis

        [[alternative HTML version deleted]]

R-help_at_stat.math.ethz.ch 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. Received on Sun 10 Jun 2007 - 15:04:48 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 10 Jun 2007 - 21:32:24 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.