Question simple: comment spécifier une distribution log-normale dans l'argument de la famille GLM dans R? Je n'ai pas pu trouver comment cela pourrait être réalisé. Pourquoi la lognormale (ou exponentielle) n'est-elle pas une option dans l'argument familial?
Quelque part dans les archives R, j'ai lu qu'il suffit d'utiliser le lien de journal pour la famille définie sur gaussien dans le GLM, afin de spécifier un lognormal. Cependant, cela n'a pas de sens car cela correspondra à une régression non linéaire et R commence à demander des valeurs de départ.
Quelqu'un sait-il comment définir une distribution lognormale (ou exponentielle) pour un GLM?
Réponses:
Le package gamlss vous permet d'adapter des modèles additifs généralisés avec des distributions lognormales et exponentielles, et un tas d'autres, avec une certaine variété de fonctions de liaison et en utilisant, si vous le souhaitez, des modèles semi-paramétriques ou non paramétriques basés sur des splines pénalisées. Il y a des articles publiés sur les algorithmes utilisés et la documentation et des exemples liés au site auquel je me suis connecté.
la source
Concernant l'ajustement du modèle exponentiel avec
glm
: Lorsque vous utilisez laglm
fonction avec family = Gamma, vous devez également utiliser les fonctions de support desummary.glm
afin de fixer le paramètre de dispersion à 1:Et comme j'allais le souligner, mais jbowman m'a battu, le (s) package (s) "gamlss" permet un ajustement log-normal:
la source
glm
, mais avec les mathématiques, ... et si vous avez des estimations de paramètres, la construction des résidus est triviale dans R. Postez cette question dans SO avec une balise [r] et vous obtiendra sûrement une réponse rapide.Lognormal n'est pas une option car la distribution log-normale n'est pas dans la famille exponentielle des distributions. Les modèles linéaires généralisés ne peuvent ajuster que les distributions de la famille exponentielle.
Je suis moins clair pourquoi l'exponentielle n'est pas une option, car la distribution exponentielle est dans la famille exponentielle (comme vous pouvez l'espérer). D'autres logiciels statistiques que je connais permettent d'ajuster la distribution exponentielle comme un GLM en la traitant comme un cas particulier de la distribution Gamma avec un paramètre de forme (aka échelle ou dispersion) fixé à 1 plutôt qu'estimé.
glm()
Cependant, je ne vois pas de moyen de corriger ce paramètre en utilisant la fonction de R. Une alternative serait d'utiliser lasurvreg()
fonction dusurvival
package avecdist="exponential"
.la source
L'ajustement d'un GLM log-normal n'a rien à voir avec la distribution ni l'option de lien de la
glm()
fonction. Le terme "log-normal" est assez déroutant dans ce sens, mais signifie que la variable de réponse est normalement distribuée (famille = gaussienne), et une transformation est appliquée à cette variable de la manière suivante:Cependant, lors de la comparaison de ce glm log-normal avec d'autres glms utilisant une distribution différente (par exemple, gamma), la fonction AIC () doit être corrigée. Quelqu'un connaîtrait-il une alternative à ces AIC () erronés, dans ce cas?
la source
Essayez d'utiliser la commande suivante:
Cela fonctionne ici et l'AIC semble être correct.
la source