Gérer 0,1 valeur dans une régression bêta

20

J'ai quelques données en [0,1] que je voudrais analyser avec une régression bêta. Bien sûr, quelque chose doit être fait pour s'adapter aux valeurs 0,1. Je n'aime pas modifier les données pour les adapter à un modèle. Je ne pense pas non plus que l'inflation zéro et 1 soit une bonne idée car je pense que dans ce cas, il faut considérer les 0 comme de très petites valeurs positives (mais je ne veux pas dire exactement quelle valeur est appropriée. Un choix raisonnable Je pense que ce serait de choisir de petites valeurs comme .001 et .999 et d'ajuster le modèle en utilisant la dist cumulative pour le bêta. Donc pour les observations y_i la log log vraisemblance LL_iwould être

 if  y_i < .001   LL+=log(cumd_beta(.001))
 else if y_i>.999  LL+=log(1.0-cum_beta(.999))
 else LL+=log(beta_density(y_i))

Ce que j'aime dans ce modèle, c'est que si le modèle de régression bêta est valide, ce modèle l'est également, mais il supprime un peu la sensibilité aux valeurs extrêmes. Cependant, cela semble être une approche tellement naturelle que je me demande pourquoi je ne trouve aucune référence évidente dans la littérature. Donc ma question est au lieu de modifier les données, pourquoi ne pas modifier le modèle. La modification des données biaise les résultats (sur la base de l'hypothèse que le modèle d'origine est valide), tandis que la modification du modèle en regroupant les valeurs extrêmes ne biaise pas les résultats.

Peut-être qu'il y a un problème que je néglige?

dave fournier
la source
1
Il n'est pas vraiment possible de donner une bonne réponse à cette question sans en savoir plus sur le problème particulier. La question clé est de savoir si les zéros et les uns exacts sont générés par un processus différent de celui qui génère les données en (0,1). Un exemple classique est la pluie, où il y a des zéros exacts reflétant les jours où il ne pleut pas. Dans votre application, les zéros et les uns sont-ils «spéciaux» d'une manière ou d'une autre?
Dikran Marsupial
Associé / en double: stats.stackexchange.com/questions/48028 .
amoeba dit Reinstate Monica

Réponses:

16

Selon cet article , une transformation appropriée est

x=x(N1)+sN

"où N est la taille de l'échantillon et s est une constante entre 0 et 1. Du point de vue bayésien, s agit comme si nous tenions compte d'un a priori. Un choix raisonnable pour s serait 0,5."

Cela compressera les données qui se trouvent dans pour être dans ( 0 , 1 ) . La citation ci-dessus et une raison mathématique de la transformation sont disponibles dans les notes supplémentaires de l' article .[0,1](0,1)

Cam.Davidson.Pilon
la source
1
+1 .. Mais pourriez-vous corriger le premier lien ou au moins citer le document afin que nous puissions le trouver indépendamment?
whuber
1
Mais cela ne répond pas à ma question. Je suis bien conscient que l'on peut transformer les données. Ma question est pourquoi ne pas transformer le modèle à la place?
dave fournier
1
Dave, veuillez modifier votre question pour refléter cela: actuellement, cela se lit comme si vous cherchez un moyen de transformer les données . Dans le processus, il vous serait utile d'indiquer ce que vous pensez être la différence entre une transformation de données et un changement de modèle, car s'il y en a une, elle est subtile.
whuber
@davefournier, Si vous lisez les sites de Cam papier, il répond en partie à votre question. Ils donnent également des recommandations de modèle alternatif (voir page 69), et une partie des recommandations dépend de la nature des données. Votre probabilité ajustée ressemble au «processus mixte discret-continu» (mentionné vers la fin de la page 69). Il se peut également que le modèle Tobit soit satisfaisant compte tenu de vos données, bien qu'il serait préférable de voir d'autres références pour la pertinence du modèle Tobit, comme le livre de Scott Long sur la régression catégorique.
Andy W
1
Mais ils n'adoptent pas cette approche. Ils proposent un modèle différent, un processus continu discret mixte. C'est très différent de regrouper les valeurs extrêmes. Comme je l'ai déjà dit, si le modèle bêta est valide, le modèle de binning est valide. Si le modèle continu discret est valide, le modèle bêta n'est pas valide. Je soupçonne qu'ils ont été principalement motivés dans leur analyse par les types de modèles mixtes qu'ils pouvaient intégrer à leur logiciel. Le modèle mixte bêta mixte est un peu plus difficile à adapter.
dave fournier
3

Dave,

Une approche courante de ce problème consiste à ajuster 2 modèles de régression logistique pour prédire si un cas est 0 ou 1. Ensuite, une régression bêta est utilisée pour ceux de la gamme (0,1).

B_Miner
la source
Pourriez-vous fournir un exemple? ou un document traitant de cela plus en détail?
user1607
2

(log(x),log(1x))

x(x,x2)

Je crois que les deux sont facilement estimés de manière bayésienne car ils sont tous les deux des familles exponentielles. Il s'agit d'une modification du modèle que vous espériez.

Neil G
la source
1

Je pense que la réponse "correcte" à cette question est une régression bêta gonflée de zéro. Ceci est conçu pour gérer des données qui varient en continu sur l'intervalle [0,1], et permet à de nombreux vrais 0 et 1 d'être dans les données. Cette approche correspond à trois modèles distincts dans un contexte bayésien, similaire à ce que propose @B_Miner.

Modèle 1: une valeur est-elle un 0/1 discret, ou la valeur est-elle en (0,1)? Monter avec une distribution bernoulli.

Modèle 2: ajustement d'un sous-ensemble discret avec une distribution de Bernoulli.

Modèle 3: ajustement du sous-ensemble (0,1) avec régression bêta.

Pour la prédiction, les premiers résultats du modèle peuvent être utilisés pour pondérer les prédictions des modèles 2 et 3. Cela peut être implémenté dans le zoibpackage R, ou brassé à la maison dans BUGS / JAGS / STAN / etc.

colin
la source