Je voudrais adapter un modèle linéaire (lm) où la variance des résidus dépend clairement de la variable explicative.
Pour ce faire, je sais utiliser glm avec la famille Gamma pour modéliser la variance, puis mettre son inverse dans les poids de la fonction lm (exemple: http://nitro.biosci.arizona.edu/r/chapter31 .pdf )
Je me demandais:
- Est-ce la seule technique?
- Quelles autres approches sont pertinentes?
- Quels packages / fonctions R sont pertinents pour ce type de modélisation? (autre que glm, lm)
glm()
alorslm()
dans le chapitre que vous liez. Il me semble queglm()
c'est tout ce qui est nécessaire et utilisé là-bas, mais j'ai peut-être manqué quelque chose. Vous pouvez essayer les moindres carrés généralisés (gls()
en nlme ) qui permettent d'estimer les poids pour contrôler le type d'hétéroscédasticité que vous mentionnez; voir?varFunc
et suivre les liens à partir de là. L'IIRCvarFixed()
fera ce que vous voulez.Réponses:
Les pilules contre «l'effet mégaphone» comprennent (entre autres):
rlm()
dans leMASS
package de R fait une estimation M, qui est censée être robuste à l'inégalité des variances.Édition de juillet 2017: Il semble que les moindres carrés généralisés, comme suggéré dans la réponse de Greg Snow, soit l'une des meilleures options.
la source
Avec le package gamlss , vous pouvez modéliser la distribution des erreurs de la réponse comme une fonction linéaire, non linéaire ou fluide des variables explicatives. Cela semble être une approche assez puissante (j'ai beaucoup appris sur toutes les possibilités qui pourraient survenir au cours du processus de sélection de modèle) et tout est bien expliqué dans plusieurs publications (y compris des livres) qui sont référencées au lien ci-dessus.
la source
La
gls
fonction dans lenlme
package pour R peut estimer la régression et la relation avec la variance en même temps. Voir l'weights
argument et le 2ème exemple sur la page d'aide.la source