@cardinal a télégraphié une réponse dans les commentaires. Allons-y. Son point de vue est que, bien que les modèles linéaires généraux (tels que ceux mis en œuvre par lm
et, dans ce cas, glmRob
) semblent destinés à évaluer les relations entre les variables, ils peuvent aussi être de puissants outils pour étudier une seule variable. L'astuce repose sur le fait que la régression des données par rapport à une constante n'est qu'une autre façon d'estimer sa valeur moyenne («emplacement») .
À titre d'exemple, générez des données de Poisson:
set.seed(17)
x <- rpois(10, lambda=2)
Dans ce cas, R
produira le vecteur( 1 , 5 , 2 , 3 , 2 , 2 , 1 , 1 , 3 , 1 )des valeurs x
d'une distribution de Poisson de la moyenne2. Estimez son emplacement avec glmRob
:
library(robust)
glmrob(x ~ 1, family=poisson())
La réponse nous indique que l' ordonnée à l'origine est estimée à0,7268. Bien entendu, toute personne utilisant une méthode statistique doit savoir comment elle fonctionne: lorsque vous utilisez des modèles linéaires généralisés avec la famille Poisson, la fonction "lien" standard est le logarithme. Cela signifie que l'ordonnée à l'origine est le logarithme de l'emplacement estimé. Nous calculons donc
exp(0.7268)
Le résultat, 2.0685, est confortablement proche de 2: la procédure semble fonctionner. Pour voir ce qu'il fait, tracez les données:
plot(x, ylim=c(0, max(x)))
abline(exp(0.7268), 0, col="red")
La droite ajustée est purement horizontale et estime donc le milieu des valeurs verticales: nos données. C'est tout ce qui se passe.
Pour vérifier la robustesse, créons une mauvaise valeur aberrante en plaçant quelques zéros sur la première valeur de x
:
x[1] <- 100
Cette fois, pour une plus grande flexibilité dans le post-traitement, nous allons enregistrer la sortie de glmRob
:
m <- glmrob(x ~ 1, family=poisson())
Pour obtenir la moyenne estimée, nous pouvons demander
exp(m$coefficients)
La valeur cette fois est égale à 2,496: un peu en retrait, mais pas trop loin, étant donné que la valeur moyenne de x
(obtenue comme mean(x)
) est12. C'est dans ce sens que cette procédure est "robuste". Plus d'informations peuvent être obtenues via
summary(m)
Sa sortie nous montre, entre autres, que le poids associé à la valeur périphérique de 100en x[1]
est juste0,02179, presque 0, identifiant la valeur aberrante suspectée.