Comment dois-je modéliser une variable dépendante continue dans le

9

J'ai une variable dépendante qui peut aller de 0 à l'infini, les 0 étant en fait des observations correctes. Je comprends que la censure et les modèles Tobit ne s'appliquent que lorsque la valeur réelle de est partiellement inconnue ou manquante, auquel cas les données seraient tronquées. Quelques informations supplémentaires sur les données censurées dans ce fil .Y

Mais ici, 0 est une vraie valeur qui appartient à la population. L'exécution d'OLS sur ces données présente le problème particulièrement ennuyeux de porter des estimations négatives. Comment dois-je modéliser ?Y

> summary(data$Y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    0.00    0.00    7.66    5.20  193.00 
> summary(predict(m))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  -4.46    2.01    4.10    7.66    7.82  240.00 
> sum(predict(m) < 0) / length(data$Y)
[1] 0.0972098

Développements

Après avoir lu les réponses, je signale l'ajustement d'un modèle d'obstacle gamma en utilisant des fonctions d'estimation légèrement différentes. Les résultats me surprennent assez. Voyons d'abord le DV. Ce qui est évident, ce sont les données à queue extrêmement grasse. Cela a des conséquences intéressantes sur l'évaluation de l'ajustement que je commenterai ci-dessous:

entrez la description de l'image ici

quantile(d$Y, probs=seq(0, 1, 0.1))
        0%        10%        20%        30%        40%        50%        60%        70%        80%        90%       100% 
  0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.286533   3.566165  11.764706  27.286630 198.184818 

J'ai construit le modèle d'obstacle Gamma comme suit:

d$zero_one = (d$Y > 0)
logit = glm(zero_one ~ X1*log(X2) + X1*X3, data=d, family=binomial(link = logit))
gamma = glm(Y ~ X1*log(X2) + X1*X3, data=subset(d, Y>0), family=Gamma(link = log))

Enfin, j'ai évalué l' ajustement dans l'échantillon en utilisant trois techniques différentes:

# logit probability * gamma estimate
predict1 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(prob*Yhat)
}

# if logit probability < 0.5 then 0, else logit prob * gamma estimate 
predict2 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, prob)*Yhat)
}

# if logit probability < 0.5 then 0, else gamma estimate
predict3 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, Yhat))
}

Au début, j'évaluais l'ajustement par les mesures habituelles: AIC, déviance nulle, erreur absolue moyenne, etc. Mais en regardant les erreurs absolues quantiles des fonctions ci-dessus, nous soulignons certains problèmes liés à la forte probabilité d'un résultat 0 et à l' extrême grosse queue. Bien sûr, l'erreur croît de façon exponentielle avec des valeurs plus élevées de Y (il y a aussi une très grande valeur Y à Max), mais ce qui est plus intéressant, c'est que s'appuyer fortement sur le modèle logit pour estimer les 0 produit un meilleur ajustement de distribution (je ne voudrais pas t savoir mieux décrire ce phénomène):Y

quantile(abs(d$Y - predict1(logit, gamma, d)), probs=seq(0, 1, 0.1))
           0%           10%           20%           30%           40%           50%           60%           70%           80%           90%          100% 
   0.00320459    1.45525439    2.15327192    2.72230527    3.28279766    4.07428682    5.36259988    7.82389110   12.46936416   22.90710769 1015.46203281 
quantile(abs(d$Y - predict2(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.309598    3.903533    8.195128   13.260107   24.691358 1015.462033 
quantile(abs(d$Y - predict3(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.307692    3.557285    9.039548   16.036379   28.863912 1169.321773 
Robert Kubrick
la source
3
La variable est-elle continue autrement qu'à 0? Si c'est le cas, un modèle à gonflement nul (par exemple, gamma à gonflement nul /
lognormal à gonflement
Oui. Ce n'est pas un modèle probit à coup sûr. J'hésite un peu à propos des modèles gonflés à zéro, car cela semble suggérer que les 0 ont été sur-déclarés et la distribution IV "a un problème", pour ainsi dire, où dans mon cas toutes les valeurs IV sont correctes.
Robert Kubrick
Et que diriez-vous de supprimer l'interception (je sais, je sais ... mais ici l'origine est vraiment 0)?
Robert Kubrick
Pouvez-vous nous donner un aperçu du mécanisme de génération de données? Par exemple, les distributions composées de poissons peuvent gérer ce type de données, mais elles sont vraiment conçues pour modéliser la somme de certaines statistiques appliquées à une collection d'événements aléatoires (c'est-à-dire la somme du coût des réclamations d'assurance sur une police).
jlimahaverford
2
Robert, quelques exemples concrets de modèles zéro gonflés pour les retirer de la terre d'abstraction (et pour expliquer pourquoi ils ne sont pas vraiment sur les données "ayant un problème"): (1) combien de cigarettes on fumait par jour par le passé 30 jours peuvent nécessiter un modèle gonflé à zéro, car il faut avoir l'habitude de fumer des cigarettes pour que le nombre soit> 0. (2) Le nombre de poissons capturés lors de ce voyage en bateau nécessite de pêcher pour que le nombre soit> 0.
Alexis

Réponses:

14

Censuré vs gonflé vs obstacle

Les modèles censurés, à obstacles et gonflés fonctionnent en ajoutant une masse ponctuelle au-dessus d'une densité de probabilité existante. La différence réside dans l'endroit où la masse est ajoutée et comment. Pour l'instant, il suffit d'envisager d'ajouter une masse ponctuelle à 0, mais le concept se généralise facilement à d'autres cas.

Tous impliquent un processus de génération de données en deux étapes pour une variable :Y

  1. Dessinez pour déterminer si ou .Y=0Y>0
  2. Si , dessiner pour déterminer la valeur de .Y>0Y

Modèles gonflés et haies

Les modèles gonflés (généralement zéro) et les obstacles fonctionnent en spécifiant explicitement et séparément Pr(Y=0)=π, pour que le DGP devienne:

  1. Tirez une fois de ZBernoulli(π) obtenir la réalisation z.
  2. Si z=0, ensemble y=z=0.
  3. Si z=1, tirez une fois de YD(θ) Et mettre y=y.

Dans un modèle gonflé, Pr(Y=0)>0. Dans un modèle obstacle,Pr(Y=0)=0. Voilà la seule différence .

Ces deux modèles conduisent à une densité sous la forme suivante:

fD(y)=I(y=0)Pr(Y=0)+I(y0)Pr(Y0)fD(y)

Iest une fonction d'indicateur. Autrement dit, une masse ponctuelle est simplement ajoutée à zéro et dans ce cas, cette masse est simplementPr(Z=0)=1π. Vous êtes libre d'estimerp directement, ou pour définir g(π)=Xβ pour certains inversibles g comme la fonction logit. D peut aussi dépendre Xβ. Dans ce cas, le modèle fonctionne en "superposant" une régression logistique pourZ sous un autre modèle de régression pour Y.

Modèles censurés

Les modèles censurés ajoutent également de la masse à une frontière. Ils y parviennent en «coupant» une distribution de probabilité, puis en «regroupant» l'excédent à cette frontière. La façon la plus simple de conceptualiser ces modèles est en termes de variable latenteYD avec CDF FD. alorsPr(Yy)=FD(y). Il s'agit d'un modèle très général; la régression est le cas particulier dans lequelFD dépend de Xβ.

L'observé Y est alors supposé être lié à Y par:

Y={0Y0YY>0

Cela implique une densité de la forme

fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

et peut être facilement étendu.

Mettre ensemble

Regardez les densités:

fD(y)=I(y=0)π+I(y0)(1π)fD(y)fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

et notez qu'ils ont tous les deux la même forme:

I(y=0)δ+I(y0)(1δ)fD(y)

car ils atteignent le même objectif: construire la densité pour Y en ajoutant une masse ponctuelle δ à la densité pour certains Y. Le modèle gonflé / haies définitδpar un processus externe de Bernoulli. Le modèle censuré détermineδ en "coupant" Y à une frontière, puis "agglutiner" la masse restante à cette frontière.

En fait, vous pouvez toujours postuler un modèle d'obstacle qui "ressemble" à un modèle censuré. Considérons un modèle d'obstacle oùD est paramétré par μ=Xβ et Z est paramétré par g(π)=Xβ. Ensuite, vous pouvez simplement définirg=FD1. Un CDF inverse est toujours une fonction de lien valide dans la régression logistique, et en effet une raison pour laquelle la régression logistique est appelée "logistique" est que le lien logit standard est en fait le CDF inverse de la distribution logistique standard.

Vous pouvez également boucler la boucle sur cette idée: les modèles de régression de Bernoulli avec n'importe quel lien CDF inverse (comme le logit ou probit) peuvent être conceptualisés comme des modèles de variables latentes avec un seuil pour observer 1 ou 0. La régression censurée est un cas particulier de régression des obstacles où la variable latente implicite Z est le même que Y.

Lequel devriez-vous utiliser?

Si vous avez une «histoire de censure» convaincante, utilisez un modèle censuré. Une utilisation classique du modèle Tobit - le nom économétrique pour la régression linéaire gaussienne censurée - est pour modéliser les réponses d'enquête qui sont "top-codées". Les salaires sont souvent déclarés de cette façon, où tous les salaires supérieurs à un certain seuil, disons 100 000, sont simplement codés comme 100 000. Ce n'est pas la même chose que troncature , où les individus avec un salaire supérieur 100 000 ne sont pas respectées du tout . Cela peut se produire dans une enquête qui n'est administrée qu'aux personnes dont le salaire est inférieur à 100 000.

Une autre utilisation pour la censure, comme décrit par whuber dans les commentaires, est lorsque vous prenez des mesures avec un instrument qui a une précision limitée. Supposons que votre appareil de mesure de distance ne puisse pas faire la différence entre 0 etϵ. Ensuite, vous pouvez censurer votre distribution surϵ.

Sinon, un obstacle ou un modèle gonflé est un choix sûr. Il n'est généralement pas faux de faire l'hypothèse d'un processus général de génération de données en deux étapes, et cela peut offrir un aperçu de vos données que vous n'auriez peut-être pas eu autrement.

D'autre part, vous pouvez utiliser un modèle censuré sans histoire de censure pour créer le même effet qu'un modèle obstacle sans avoir à spécifier un processus "marche / arrêt" distinct. C'est l'approche de Sigrist et Stahel (2010) , qui censurent une distribution gamma décalée tout comme un moyen de modéliser des données dans[0,1]. Cet article est particulièrement intéressant car il montre à quel point ces modèles sont modulaires: vous pouvez réellement gonfler à zéro un modèle censuré (section 3.3), ou vous pouvez étendre "l'histoire des variables latentes" à plusieurs variables latentes qui se chevauchent (section 3.1).

Troncature

Modifier: supprimé, car cette solution était incorrecte

shadowtalker
la source
2
La troncature n'est pas correcte; vous voulez en effet la censure. La troncature d'une distribution continue conduit à une probabilité nulle qu'un point final soit réalisé. La censure d'une distribution à zéro fait en sorte que la probabilité que toutes les valeurs négatives s'accumulent à zéro, créant là un atome discret: "l'inflation nulle". En fait, les commentaires suggèrent que la censure se produit en fait à une valeur positive minusculeϵ et que toutes les valeurs inférieures à ϵsont enregistrés comme des zéros: c'est la censure, pure et simple.
whuber
@whuber, je n'y avais jamais pensé avant. Pour un VRX qui est tronqué ci-dessous c, Pr(Xc)=0, droite? Cela, et les distributions demi-Cauchy ou demi-t sont de toute façon utilisées pour les paramètres d'échelle positifs . Maintenant, je suis curieux de savoir la différence entre les distributions censurées et les distributions tronquées gonflées aux limites ...
shadowtalker
Mathématiquement, je ne vois aucune différence. Conceptuellement, je serais prêt à reconnaître qu'il peut y avoir une différence subtile, dans la mesure où la distribution censurée nous suggère ce que serait la distribution d'un résultat hypothétique non censuré, alors que coller un atome à la frontière d'une distribution tronquée ne fait aucune supposition à ce sujet. distribution hypothétique. Il peut y avoir une différence mathématique ( c'est-à-dire réelle) dans des situations de censure plus complexes, comme lorsque les limites de censure varient.
whuber
@whuber, cela se résume à la façon dont l'atome est paramétré, non? Comme dans, un gaussien à censure nulle équivaudrait à un gaussien tronqué gonflé à zéro avec une "fonction de liaison" Probit
shadowtalker
1
Cela ressemble à un modèle plus compliqué (en général) que le modèle de régression censuré simple que j'ai décrit. Je ne suggère pas la limite pouryvariera: cependant, par rapport à la distribution du résidu , la limite varie. Si vous le souhaitez, laissezθ=Xβ Et mettre Fθ(y)=F(yθ)=F(yXβ), pour que Fθ(0)=F(Xβ): qui présente mon modèle comme un cas particulier du modèle plus général que vous venez de décrire.
whuber
0

Permettez-moi de commencer par dire que l'application OLS est tout à fait possible, de nombreuses applications réelles le font. Cela cause (parfois) le problème que vous pouvez vous retrouver avec des valeurs ajustées inférieures à 0 - je suppose que c'est ce qui vous inquiète? Mais si seulement très peu de valeurs ajustées sont inférieures à 0, je ne m'en inquiéterais pas.

Le modèle tobit peut (comme vous le dites) être utilisé dans le cas de modèles censurés ou tronqués. Mais cela s'applique aussi directement à votre cas, en fait le modèle tobit a été inventé votre cas. Y "s'empile" à 0, et est autrement grossièrement continu. La chose à retenir est que le modèle tobit est difficile à interpréter, vous devrez vous fier à l'APE et au PEA. Voir les commentaires ci-dessous.

Vous pouvez également appliquer le modèle de régression des possessions, qui a une interprétation presque OLS - mais il est normalement utilisé avec les données de comptage. Wooldridge 2012 CHAP 17, contient une discussion très soignée du sujet.

Repmat
la source
"le modèle tobit n'a pas d'interprétation réelle" pourriez-vous expliquer un peu plus cela? Je ne peux pas dire que je suis d'accord avec cette déclaration telle quelle.
shadowtalker
J'ai ajouté le pourcentage d'estimation négatif à ma question. C'est 10% de l'échantillon, assez élevé. Quel seraitc, la constante de censure, dans mon cas? Il n'y a pas de valeur de censure fixe après quoiYdevient 0. Et que sont l'APE et le PEA?
Robert Kubrick
@ssdecontrol Dans le modèle tobit, les \ beta_j mesurent les effets partiels de x_j sur E (y * | x), où y * est la (soi-disant) variable latente. La variable que OP souhaiterait modéliser est y, qui est le résultat observé (heures travaillées, contributions caritatives, etc.). C'est pourquoi il faut s'appuyer sur l'effet partiel moyen (APE) et l'effet partiel à la moyenne (PEA). Vous ne devez pas utiliser le modèle censuré. Si vos données étaient censurées, vous le sauriez, c'est-à-dire: vous avez une question sur le revenu, où la dernière réponse est "Je gagne plus de $ x", cette information peut "entrer" dans l'estimation -> censure.
Repmat
@ user3551644 bien sûr, mais je ne vois pas comment vous pouvez dire que le modèle n'a donc "aucune interprétation réelle"
shadowtalker
Hmm, d'accord, je mettrai à jour ma réponse.
Repmat