Comment tester si un échantillon de données correspond à la famille de distribution Gamma?


13

J'ai un échantillon de données qui a été généré à partir d'une variable aléatoire continue X. Et à partir de l'histogramme que je dessine en utilisant R, je suppose que peut-être la distribution de X obéit à une certaine distribution Gamma. Mais je ne connais pas les paramètres exacts de cette distribution Gamma.

Ma question est de savoir comment tester si la distribution de X appartient à une famille de distribution Gamma? Il existe une certaine qualité des tests d'ajustement tels que le test de Kolmogorov-Smirnov, le test d'Anderson-Darling, etc., mais l'une des restrictions lors de l'utilisation de ces tests est que les paramètres de la distribution théorique doivent être connus à l'avance. Quelqu'un pourrait-il me dire comment résoudre ce problème?


Peut-être que je manque quelque chose, mais si vous connaissez déjà un test pour tester l'ajustement de la distribution et tout ce que vous devez savoir sont les valeurs de la distribution théorique, alors vous pouvez simplement utiliser les estimateurs du maximum de vraisemblance des paramètres du gamma distribution sur vos données pour obtenir des estimations des paramètres. Vous pouvez ensuite utiliser ces estimations pour définir la distribution théorique dans votre test.
David

David, merci pour ta réponse. La réponse est aussi ce à quoi j'ai pensé, mais je ne sais pas s'il existe des théories qui peuvent soutenir cette idée, pourriez-vous y répondre pour moi?
user8363

Si vous utilisez R, vous pouvez être intéressé par le package fitdistrplus , qui a des fonctionnalités pour faire ce genre de chose.
gung - Rétablir Monica

Réponses:


8

Je pense que la question demande un test statistique précis, pas une comparaison d'histogramme. Lors de l'utilisation du test de Kolmogorov-Smirnov avec des paramètres estimés , la distribution des statistiques de test sous la valeur nulle dépend de la distribution testée, par opposition au cas sans paramètre estimé. Par exemple, en utilisant (dans R)

x <- rnorm(100)
ks.test(x, "pnorm", mean=mean(x), sd=sd(x))

mène à

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.0701, p-value = 0.7096
alternative hypothesis: two-sided

pendant que nous obtenons

> ks.test(x, "pnorm")

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.1294, p-value = 0.07022
alternative hypothesis: two-sided 

pour le même échantillon x. Le niveau de signification ou la valeur p doivent donc être déterminés par simulation de Monte Carlo sous le zéro, produisant la distribution des statistiques de Kolmogorov-Smirnov à partir d'échantillons simulés sous la distribution estimée (avec une légère approximation du résultat étant donné que l'échantillon observé provient d'une autre distribution, même sous le nul).


1
(+1) Je ne comprends pas pourquoi il est correct de simuler des échantillons sous la distribution estimée. J'aurais pensé que nous avions besoin d'un a priori pour les paramètres, et d'un échantillon de toutes les distributions possibles ... pouvez-vous expliquer un peu plus?
Elvis

1
Xi'an, votre réponse est exactement ce qui m'inquiétait. Vous voulez dire que "Lorsque vous utilisez le test de Kolmogorov-Smirnov avec des paramètres estimés, la distribution des statistiques de test sous la valeur nulle dépend de la distribution testée". Cependant, nous ne connaissons pas la distribution de X, plus précisément, nous ne connaissons pas le paramètre de la distribution de X sous l'hypothèse nulle, d'où la distribution de la statistique de test, par conséquent, nous utilisons monte carlo. Auriez-vous d'autres moyens de le résoudre en n'utilisant pas monte carlo pour obtenir la valeur P? Merci
user8363

Pour prendre en compte le fait que "l'échantillon observé provient d'une autre distribution même sous la valeur nulle", ne conviendrait-il pas de bootstrap l'échantillon, en ré-estimant les paramètres à chaque répétition?
Elvis

1
@Elvis (1): ce sont des statistiques classiques, pas une résolution bayésienne du problème de la qualité de l'ajustement. Pour les distributions avec des paramètres à l'échelle de l'emplacement, le choix des paramètres utilisés pour simuler les échantillons simulés n'a pas d'importance.
Xi'an

1
@Elvis (2): Encore une chose dont je viens de discuter avec mes élèves! Bootstrap aiderait à évaluer le comportement de la distance Kolmogorov-Smirnov sous la vraie distribution des données, pas sous le zéro! Le principe de Fisher-Neyman-Pearson est que ce qui importe, c'est le comportement de la distance de Kolmogorov-Smirnov sous le nul, de sorte qu'il est rejeté si la distance observée est trop extrême par rapport à cette distribution sous le nul.
Xi'an

4

Calculez les MLE des paramètres en supposant une distribution gamma pour vos données et comparez la densité théorique avec l'histogramme de vos données. Si les deux sont très différents, la distribution gamma est une mauvaise approximation de vos données. Pour un test formel, vous pouvez calculer, par exemple, la statistique du test de Kolmogorov-Smirnoff comparant la distribution gamma la mieux adaptée à la distribution empirique et tester la signification.


3
+1, c'est une réponse solide. Cependant, je suggérerais d'examiner un qq-plot par rapport au gamma théorique plutôt qu'un histogramme - il sera plus facile d'évaluer les écarts.
gung - Réintégrer Monica

1
Le problème est que le test KS suppose la distribution théorique à donner à l'avance, non estimée à partir des données. Xi'an a (partiellement) répondu à ce point ...
Elvis

vous voulez dire que nous utilisons d'abord cet échantillon de données pour obtenir un estimateur MLS et utilisons la valeur de l'estimateur MLS dans la distribution Gamma, puis comparons les données avec la distribution Gamma (avec paramètre estimé) en utilisant le test KS?
user8363

Elvis, pourriez-vous me dire comment résoudre le problème lorsque le paramètre de la distribution théorique est inconnu et doit être estimé. Dans ce cas, comment peut-on utiliser le test KS pour obtenir un jugement relativement précis de l'hypothèse, merci!
user8363

1
@Elvis: Je ne pense pas que la dérivation exacte soit possible dans le cas de la distribution gamma. Le cdf lui-même n'est pas disponible sous forme fermée. De plus, le fait que le paramètre de forme ne soit ni échelle ni emplacement signifie qu'il y a une distribution différente pour chaque valeur du paramètre de forme ...
Xi'an
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.