Temps passé dans une activité comme variable indépendante

14

Je veux inclure le temps passé à faire quelque chose (semaines d'allaitement, par exemple) comme variable indépendante dans un modèle linéaire. Cependant, certaines observations n'engagent pas du tout le comportement. Les coder comme 0 n'est pas vraiment correct, car 0 est qualitativement différent de toute valeur> 0 (c'est-à-dire que les femmes qui n'allaitent pas peuvent être très différentes des femmes qui le font, même celles qui ne le font pas très longtemps). Le mieux que je puisse trouver est un ensemble de mannequins qui catégorise le temps passé, mais c'est un gaspillage d'informations précieuses. Quelque chose comme Poisson gonflé à zéro semble également être une possibilité, mais je ne peux pas vraiment comprendre à quoi cela ressemblerait dans ce contexte. Est-ce que quelqu'un a des suggestions?

DL Dahly
la source

Réponses:

16

Pour développer un peu la réponse de @ ken-butler. En ajoutant à la fois la variable continue (heures) et une variable indicatrice pour une valeur spéciale (heures = 0, ou non allaitement), vous pensez qu'il y a un effet linéaire pour la valeur "non spéciale" et un saut discret dans le résultat prévu à la valeur spéciale. Cela aide (du moins pour moi) à regarder un graphique. Dans l'exemple ci-dessous, nous modélisons le salaire horaire en fonction des heures hebdomadaires de travail des enquêtées (toutes les femmes), et nous pensons qu'il y a quelque chose de spécial à propos des «heures normales» de 40 heures par semaine:

entrez la description de l'image ici

Le code qui a produit ce graphique (dans Stata) peut être trouvé ici: http://www.stata.com/statalist/archive/2013-03/msg00088.html

Dans ce cas, nous avons donc attribué à la variable continue une valeur 40, même si nous voulions qu'elle soit traitée différemment des autres valeurs. De même, vous donneriez à vos semaines d'allaitement la valeur 0 même si vous pensez qu'elle est qualitativement différente des autres valeurs. J'interprète votre commentaire ci-dessous que vous pensez que c'est un problème. Ce n'est pas le cas et vous n'avez pas besoin d'ajouter un terme d'interaction. En fait, ce terme d'interaction sera abandonné en raison de la colinéarité parfaite si vous avez essayé. Ce n'est pas une limitation, cela vous indique simplement que les termes d'interaction n'ajoutent aucune nouvelle information.

Supposons que votre équation de régression ressemble à ceci:

y^=β1weeks_breastfeeding+β2non_breastfeeding+

est le nombre de semaines d'allaitement (y compris la valeur 0 pour celles qui n'allaitent pas) et n o n _ b r e a s t f e e d i n g est une variable indicatrice qui est 1 lorsque quelqu'un n'allaite pas et 0 sinon.weeks_breastfeedingnon_breastfeeding

Considérez ce qui se passe lorsque quelqu'un allaite. L'équation de régression se simplifie pour:

y^=β1weeks_breastfeeding+β20+=β1weeks_breastfeeding+

Donc n'est qu'un effet linéaire du nombre de semaines d'allaitement pour celles qui allaitent.β1

Considérez ce qui se passe lorsque quelqu'un n'allaite pas:

y^=β10+β21+=β2+

β2

Vous pouvez voir qu'il est inutile d'ajouter un terme d'interaction, car ce terme d'interaction est déjà (implicitement) là-dedans.

β2weeks_breastfeedingweeks_breastfeedingβ2

Maarten Buis
la source
1
J'apprécie la réponse (et les autres), mais j'ai du mal à l'accepter. Si j'inclus un 1: 0 et la variable de temps continue, je dois encore attribuer aux non-allaitantes une valeur de temps (ou bien elles chutent pour une co-variée manquante). Même conditionnel à la variable 1: 0, je ne vois pas comment l'inclusion des non-allaitantes comme time = 0 n'affecte pas le coefficient de régression. Peut-être que l'ajout du terme d'interaction produit entre les deux aurait plus de sens?
DL Dahly
@DLDahly J'ai modifié ma réponse pour faire face à ces doutes
Maarten Buis
D'accord, c'est très utile. Permettez-moi de vous demander un autre suivi rapide ... si je vous comprends bien, alors la valeur estimée pour B1 devrait être la même quelle que soit la valeur temporelle que je donne aux personnes B2 = 1. Est-ce correct?
DL Dahly
1
Très belle réponse Maarten. Voici une question / réponse similaire sur le site qui montre une situation similaire en incluant une variable indépendante qui ne concerne qu'un sous-groupe particulier .
Andy W
1
@ GavinM.Jones Je n'ai jamais pensé à la nécessité de le nommer ou de le citer: il s'agit simplement d'une application directe de variables continues et d'indicateurs. Par conséquent, je n'ai pas de bonne référence pour vous. La chose la plus proche que j'ai pu trouver rapidement est Treiman, DJ (2009): Quantitative Data Analysis. Faire de la recherche sociale pour tester des idées. San Francisco: Jossey-Bass. , le chapitre 7 a discuté de quelque chose de similaire. Le modèle contient une constante.
Maarten Buis
6

Quelque chose de simple: représentez votre variable par un indicateur 1/0 pour tout / aucun et la valeur réelle. Mettez les deux dans la régression.

Ken Butler
la source
4

Si vous mettez un indicateur binaire pour n'importe quel temps passé (= 1) vs aucun temps passé (= 0) et que vous avez ensuite le temps passé en tant que variable continue, l'effet différent de "0" fois sera " ramassé "par l'indicateur 0-1

Glen_b -Reinstate Monica
la source
2

Vous pouvez utiliser des modèles à effets mixtes avec un regroupement basé sur un temps 0 par rapport à un temps différent de zéro et conserver votre variable indépendante

rezakhorshidi
la source
Pourriez-vous s'il vous plaît développer un peu cela? Merci beaucoup.
DL Dahly
un modèle à effets mixtes suppose qu'il existe un facteur qui divise les données en différents compartiments (hétérogènes), dans chacun desquels nous pourrions avoir une relation différente entre les variables explicatives et dépendantes (en termes d'interception ou d'interception et de pente / coefficient). en.wikipedia.org/wiki/Mixed_model
rezakhorshidi
Alors, utilisez des individus, nichés dans le statut d'allaitement maternel, puis une pente aléatoire sur les semaines d'allaitement maternel? Je pourrais le faire assez facilement en tant que SEM et tester certaines contraintes. Merci +1
DL Dahly
1

Si vous utilisez Random Forest ou Neural Network, mettre ce nombre à 0 est OK, car ils pourront comprendre que 0 est distinctement différent des autres valeurs (s'il est en fait différent). L'autre solution consiste à ajouter une variable catégorielle oui / non en plus de la variable temporelle.

Mais dans l'ensemble, dans ce cas particulier, je ne vois pas de vrai problème - 0,1 semaine d'allaitement est proche de 0 et l'effet sera très similaire, donc cela ressemble à une variable assez continue pour moi avec 0 ne se démarquant pas comme quelque chose distinct.

sashkello
la source
3
+1 pour le premier paragraphe mais concernant les données des sciences sociales ou médicales, l'effet de 0 contre 0,1 semaine de quelque chose n'est pas la principale inquiétude. Le fait est que les femmes qui n'essaient pas ou ne déclarent pas du tout l'allaitement au sein peuvent être systématiquement différentes à bien d'autres égards (problèmes de santé, revenu, situation familiale, capacité de ne pas travailler, accès aux services de santé, où elles ont obtenu des informations sur parentales, etc.) Il n'y a vraiment aucune raison de croire que ces femmes sont très semblables aux mères qui essaient d'allaiter et de l'arrêter rapidement.
Gala
1
D'un point de vue statistique, il serait préférable de mettre ces autres variables explicitement dans votre modèle, mais il est logique de faire attention en supposant qu'il n'y a rien de spécial à 0, je pense.
Gala du
0

Le modèle Tobit est ce que vous voulez, je pense.

Mark T Patterson
la source
5
Les Tobits sont utilisés lorsque le résultat est censuré au-dessus ou en dessous d'un certain seuil. Par exemple, nous n'observons aucun salaire inférieur au salaire minimum ou revenu supérieur à une valeur codée supérieure. Cette application concerne une variable indépendante.
Dimitriy V. Masterov