Qualité de l'ajustement pour les données discrètes: meilleure approche

9

Les données: Aux fins de cette question / communication, nous pouvons supposer que les données ressemblent rnbinom(1000,size=0.1,prob=0.01)à R, qui génère un échantillon aléatoire de 1 000 observations à partir d'une distribution binomiale négative (avec size=0.1et probabilité de succès prob=0.01). Il s'agit de la paramétrisation où la variable aléatoire représente le nombre d'échecs avant le sizenombre de succès. La queue est longue et 1 000 observations, ce n'est pas beaucoup de données.

Le problème: on m'a donné quelques données (entier sur {1,2, ....}) [voir ci-dessus] (1 500 points de données) et on m'a demandé de trouver la distribution "la mieux adaptée" et des estimations de tous les paramètres. Je ne sais rien d'autre sur les données. Je suis conscient que ce n'est pas un très grand échantillon de données avec une longue queue. Plus de données est une possibilité.

Ce que j'ai fait: j'ai envisagé d'utiliser un test de rapport de vraisemblance en ajustant deux distributions différentes aux données, mais je ne pense pas que cela s'applique (comme dans, je ne peux pas déterminer les valeurs p critiques appropriées) à moins que les deux distributions ne soient imbriquées ...

J'ai alors envisagé d'utiliser un test de Kolmogorov-Smirnov (ajusté pour les données discrètes) mais, dans R de toute façon, il s'est plaint de ne pas pouvoir calculer une valeur de p pour les "données avec liens".

Quelle est la meilleure façon pour moi de tester / déterminer l'ajustement de différentes distributions dans ce contexte? Voici quelques autres choses que j'ai envisagées:

  1. Demandez (beaucoup) plus de données. Mais cela va-t-il aider? Pourrai-je utiliser des résultats asymptotiques, par exemple?
  2. Envisagez-vous un programme de bootstrap / rééchantillonnage / monte-carlo? Dans l'affirmative, existe-t-il une référence standard que je peux / devrais lire pour savoir comment procéder correctement? Merci
Rusan Kax
la source

Réponses:

6

Si j'ai bien compris votre question, il vous suffit d' adapter les données à la distribution . Dans ce cas, vous pouvez utiliser l'une des fonctions des packages R, comme fitdistrfrom MASSpackage, qui utilise l' estimation du maximum de vraisemblance (MLE) et prend en charge les distributions discrètes , y compris binomiale et Poisson .

Ensuite, dans un deuxième temps, vous devrez effectuer un (ou plusieurs ) tests de qualité d'ajustement (GoF) pour valider les résultats . Les tests de Kolmogorov-Smirnov , Anderson-Darling et (AFAIK) Lilliefors ne sont pas tous applicables aux distributions discrètes. Cependant, heureusement, le test GoF chi carré est applicable aux distributions continues et discrètes et dans R est une question d'appel de stats::chisq.test()fonction.

Alternativement , comme vos données représentent une distribution discrète, vous pouvez utiliser le vcdpackage et sa fonction goodfit(). Cette fonction peut être utilisée soit en remplacement du test GoF standard chisq.test(), soit, mieux encore, en tant que flux de travail complet ( raccord de distribution et test GoF ). Pour l' option de workflow complet , utilisez simplement la configuration par défaut et ne spécifiez pas de paramètres par(vous pouvez spécifier size, si type = "nbinomial"). Les paramètres seront estimés en utilisant la probabilité maximale ou le chi carré minimum (vous pouvez sélectionner la méthode). Les résultats peuvent être obtenus en appelant la summary()fonction.

Aleksandr Blekh
la source
3
Des tests KS discrets existent en fait: stat.yale.edu/~jay/EmersonMaterials/DiscreteGOF.pdf
Astrid
@Astrid Nice! Merci pour votre mise à jour et bonne année!
Aleksandr Blekh
Quatre ans, c'est mieux tard que jamais: D Bonne année à toi aussi!
Astrid
1
@Astrid "... mieux vaut tard que jamais" - ne peut pas contester cela. :-) Merci!
Aleksandr Blekh