Puis-je tester la validité d'une donnée donnée antérieure?

10

Problème

J'écris une fonction R qui effectue une analyse bayésienne pour estimer une densité postérieure à partir d'un préalable informé et de données. Je voudrais que la fonction envoie un avertissement si l'utilisateur doit reconsidérer le préalable.

Dans cette question, je suis intéressé à apprendre à évaluer un a priori. Les questions précédentes ont couvert la mécanique de l'énonciation de prieurs informés ( ici et ici .)

Les cas suivants peuvent nécessiter une réévaluation du préalable:

  • les données représentent un cas extrême qui n'a pas été pris en compte lors de la
  • erreurs dans les données (par exemple, si les données sont en unités de g lorsque l'a priori est en kg)
  • le mauvais avant a été choisi parmi un ensemble de prieurs disponibles en raison d'un bogue dans le code

Dans le premier cas, les antérieurs sont généralement suffisamment diffusés pour que les données les submergent généralement à moins que les valeurs des données ne se situent dans une plage non prise en charge (par exemple <0 pour logN ou Gamma). Les autres cas sont des bugs ou des erreurs.

Des questions

  1. Y a-t-il des problèmes concernant la validité de l'utilisation des données pour évaluer un a priori?
  2. un test particulier est-il le mieux adapté à ce problème?

Exemples

Voici deux ensembles de données qui sont mal appariés à un antérieur parce qu'ils proviennent de populations avec (rouge) ou (bleu).logN(0,1)N(0,5)N(8,0,5)

Les données bleues pourraient être une combinaison prioritaire + données valide tandis que les données rouges nécessiteraient une distribution préalable prise en charge pour les valeurs négatives.

entrez la description de l'image ici

 set.seed(1)
 x<- seq(0.01,15,by=0.1)
 plot(x, dlnorm(x), type = 'l', xlim = c(-15,15),xlab='',ylab='')
 points(rnorm(50,0,5),jitter(rep(0,50),factor =0.2), cex = 0.3, col = 'red')
 points(rnorm(50,8,0.5),jitter(rep(0,50),factor =0.4), cex = 0.3, col = 'blue')
David LeBauer
la source

Réponses:

4

Vous devez être clair sur ce que vous entendez par «avant». Par exemple, si vous êtes intéressé par ma croyance antérieure concernant l'espérance de vie au Royaume-Uni, cela ne peut pas être faux. C'est ma croyance! Cela peut être incompatible avec les données observées, mais c'est une autre question complètement.

Le contexte est également important. Par exemple, supposons que nous nous intéressions à la population de quelque chose. Mon préalable affirme que cette quantité doit être strictement non négative. Cependant, les données ont été observées avec erreur et nous avons des mesures négatives. Dans ce cas, le prieur n'est pas invalide, c'est juste le prieur pour le processus latent.

Pour répondre à tes questions,

  1. Y a-t-il des problèmes concernant la validité de l'utilisation des données pour évaluer un a priori?

Un puriste dirait que vous ne devriez pas utiliser les données deux fois. Cependant, la personne pragmatique répondrait simplement que vous n'aviez pas suffisamment pensé au prieur en premier lieu.

2 Un test particulier est-il le mieux adapté à ce problème?

Cela dépend vraiment du modèle considéré. Je suppose que vous pouvez comparer la plage précédente à la plage de données.

csgillespie
la source
merci pour votre réponse, en particulier à # 1 est utile. Pour le test, j'avais pensé à cela, mais la gamme de la plupart des priors aura une borne à , donc je pensais peut-être à comparer les bornes des intervalles quantiles, par exemple envoyer un avertissement si: 80e quantile de données> 99e quantile de l'a priori ou si: n'importe quelle donnée est supérieure au 100-10e-log (n) ème quantile) bien que je devrais jouer avec les nombres pour que j'attrape les bonnes erreurs.
David LeBauer
3

Voici mes deux cents:

  1. Je pense que vous devriez vous préoccuper des paramètres antérieurs associés aux ratios.

  2. Vous parlez de priorité informative, mais je pense que vous devriez avertir les utilisateurs de ce qu'est une priorité non informative raisonnable. Je veux dire, parfois une normale avec une moyenne nulle et une variance de 100 est assez peu informative et parfois elle est informative, selon les échelles utilisées. Par exemple, si vous régressez les salaires sur des hauteurs (centimètres), ce qui précède est assez informatif. Cependant, si vous régressez les salaires des journaux sur des hauteurs (mètres), le précédent ci-dessus n'est pas si informatif.

  3. Si vous utilisez un a priori qui est le résultat d'une analyse précédente, c'est-à-dire que le nouveau a priori est en fait un ancien postérieur d'une analyse précédente, alors les choses sont différentes. Je suppose que c'est noter le cas.

Manoel Galdino
la source
pourriez-vous clarifier le point 1? re: point 2, comme mentionné dans le PO, je ne suis pas tellement intéressé par cette question sur la façon de définir le prieur; Concernant le point 3: de nombreux priors informés proviennent de l'analyse des données disponibles (ajustement d'une distribution appropriée aux données) tandis que d'autres sont basés sur des connaissances d'experts (celles-ci sont généralement moins contraintes).
David LeBauer
Supposons que vous ajustez un modèle comme: y ~ a + b * x / z. S'il n'y a pas de contrainte sur les valeurs de Z (si elles peuvent être positives ou négatives), alors il est difficile de savoir à quoi s'attendre du signal de b. De plus, si Z peut être proche de zéro, alors b peut être trop bas ou trop grand. Cela peut rendre votre préalable déraisonnable. Voir cette entrée sur le blog de Gelman: stat.columbia.edu/~cook/movabletype/archives/2011/06/…
Manoel Galdino
# 3: Comme indiqué, faites attention à ne pas utiliser les données deux fois. Sur mince est un modèle hiérarchique, par exemple, et un autre consiste à choisir un prior qui est en accord avec la probabilité. Plus tard, je serais préoccupé par une telle analyse. Je vois le choix d'un prior plus comme un outil de régularisation.
Manoel Galdino