Pourquoi le modèle change-t-il lors de l'utilisation de Relevel?

8

Lors du calcul de modèles de régression avec R, j'utilise régulièrement la fonction relevel pour que mon modèle me donne également des résultats pour l'autre niveau. J'ai remarqué que parfois, mais pas souvent, cela changeait le modèle dans le sens où les niveaux d'autres facteurs qui étaient significatifs avant la mise à niveau ne le sont plus. Est-ce inhérent à la mise à jour ou exceptionnel et peut-être dû à un problème avec mes données? Cela montre-t-il que mes données ne répondent probablement pas à l'une des conditions préalables des modèles linéaires?

En rapport avec cela, est-ce correct si j'utilise Relevel, recalcule mon modèle, puis signale les valeurs de signification des deux modèles dans mon article? Si la signification diffère entre les deux modèles pour un certain facteur, je suppose que je devrais alors choisir un modèle moins optimiste?

Je suppose que ma question trahit que je n'en sais pas assez sur lm pour comprendre le besoin d'un niveau de base. Je pensais l'avoir bien compris;) D'une manière ou d'une autre, aucune des introductions que j'ai lues n'expliquait ce point, ou j'étais trop idiot pour le comprendre. Donc, si quelqu'un pouvait me diriger vers un site où le point d'avoir des niveaux de base en lm est expliqué ou l'expliquer eux-mêmes, ce serait bien aussi!

Edit: Voici un exemple minimal:

library(datasets)
sprays<-OrchardSprays
model<-lm(decrease~treatment+rowpos+colpos,data=sprays)
summary(model)

Une partie du résumé dit

treatmentC    20.625      9.731   2.120  0.03866 *

Donc, si le traitement == C, cela a une influence positive significative sur la «diminution». Maintenant, je relève le «traitement» en B pour savoir quelle influence le traitement == A a:

sprays$treatment<-relevel(sprays$treatment,"B")
summary(model)

Et maintenant le traitement == C n'est pas significatif dans ce nouveau modèle:

treatmentC    17.625      9.731   1.811  0.07567 .

Désolé d'avoir posté au mauvais endroit! Puis-je déplacer ma question vers stats statexchange ou dois-je en ouvrir une nouvelle là-bas?

robert
la source
2
Bienvenue chez SO. Pensez-vous que vous pouvez faire un petit exemple reproductible qui illustre cela?
Andrie
4
Il semble que vous ne sachiez pas vraiment à quoi correspond le modèle et comment interpréter les paramètres de votre modèle. C'est probablement plus approprié pour le site d'échange de statistiques.
Dason
2
Les deux commentaires précédents sont en plein dans le mille. Quelque chose d'aussi simple que d <- data.frame(y=runif(300),f=factor(rep(LETTERS[1:3],each=100)); lm(y~f,data=d)vous donnera un début, bien qu'il n'y ait bien sûr pas de changements significatifs dans ce cas (bien que les estimations de paramètres et les valeurs de p changeront certainement lorsque vous vous releverez).
Ben Bolker
Vous voudrez peut-être voir les pages 74-75 de ce livre springer.com/economics/econometrics/book/978-0-387-77316-2 . Il s'agit clairement d'un problème économétrique concernant les variables muettes. La modification de votre ligne de base ne modifie pas la valeur attendue de votre estimation, mais modifie l'estimation des paramètres. Tout livre d'économétrie de base vous aidera sur cette question.
2
... Ce n'est vraiment pas un problème "d'économétrie" autant qu'un problème de paramétrage de modèle qui est un problème dans n'importe quel domaine de la statistique.
Dason

Réponses:

7

Supposons que le facteur conditionsait des niveaux A,B,Cet que vous régressiez votre variable de réponse ysur les conditions utilisant mod <- lm(y ~ conditions). Maintenant , summary(mod)retourne la moyenne du niveau de référence conditions( par exemple A) et la différence de moyens entre les conditions Bet Aet la différence entre les conditions Cet A(rapporté respectivement (Intercept), conditions:Bet conditions:C). Si vous conditions <- relevel(conditions, ref = 'B')et réunissez à nouveau le modèle linéaire, vous obtiendrez maintenant la moyenne de B, la différence entre Aet B, et la différence entre CetA. Naturellement, les valeurs de p peuvent changer. Cela ne signifie pas qu'il y a un problème avec vos données. Cela ne signifie pas que vos données échouent nécessairement à une hypothèse du modèle linéaire. L'ajustement est le même et vous avez simplement changé les informations imprimées car vous avez changé le niveau de référence et utilisez des contrastes de traitement. Vous pouvez obtenir les mêmes tests d'hypothèse linéaire en utilisant l'original mod.

En ce qui concerne les éléments à déclarer, dans de nombreux domaines, il est habituel de signaler s'il y a eu un effet statistiquement significatif de conditions(en utilisant la sortie de anova(mod)) et de signaler la sortie de régression complète dans un tableau (en utilisant les niveaux de référence que vous souhaitez ). Les normes pour savoir comment et s'il faut signaler les tests de Avs B(par exemple) varient selon le domaine. Examinez de près les bons articles dans votre domaine.

verrouillé
la source
Merci, cela répond à peu près à ma question! Juste pour clarification: vous dites qu'il est de coutume de signaler si les facteurs étaient significatifs (sortie d'anova) et la sortie de régression complète, mais les normes pour les tests peuvent varier. Mais la sortie de régression complète (avec résumé) comprend principalement ces tests (en plus de l'interception), n'est-ce pas?
Oui, mais cela ne signifie pas nécessairement que vous devez les signaler. Les tests de signification de l'interception en particulier sont le plus souvent insignifiants ...
Ben Bolker
Je suis confus ... Si le résumé les rapporte, je suppose qu'ils doivent être utiles pour quelque chose? De plus, la principale raison pour laquelle je calcule un modèle est que je veux savoir quel niveau peut être considéré comme ayant une influence avec un certain degré de certitude. Donc, s'ils ont tendance à être «dénués de sens», j'ai peu de raisons de le faire. Ou recommanderiez-vous une autre méthode pour ce faire?