Lorsque je trace un histogramme de mes données, il a deux pics:
Cela signifie-t-il une distribution multimodale potentielle? J'ai exécuté le dip.test
dans R ( library(diptest)
), et la sortie est:
D = 0.0275, p-value = 0.7913
Je peux conclure que mes données ont une distribution multimodale?
LES DONNÉES
10346 13698 13894 19854 28066 26620 27066 16658 9221 13578 11483 10390 11126 13487
15851 16116 24102 30892 25081 14067 10433 15591 8639 10345 10639 15796 14507 21289
25444 26149 23612 19671 12447 13535 10667 11255 8442 11546 15958 21058 28088 23827
30707 19653 12791 13463 11465 12326 12277 12769 18341 19140 24590 28277 22694 15489
11070 11002 11579 9834 9364 15128 15147 18499 25134 32116 24475 21952 10272 15404
13079 10633 10761 13714 16073 23335 29822 26800 31489 19780 12238 15318 9646 11786
10906 13056 17599 22524 25057 28809 27880 19912 12319 18240 11934 10290 11304 16092
15911 24671 31081 27716 25388 22665 10603 14409 10736 9651 12533 17546 16863 23598
25867 31774 24216 20448 12548 15129 11687 11581
r
hypothesis-testing
distributions
self-study
histogram
user1260391
la source
la source
Réponses:
@NickCox a présenté une stratégie intéressante (+1). Je pourrais cependant le considérer de nature plus exploratoire, en raison de la préoccupation que souligne @whuber .
Permettez-moi de suggérer une autre stratégie: vous pourriez adapter un modèle de mélange fini gaussien. Notez que cela fait l'hypothèse très forte que vos données sont tirées d'une ou plusieurs vraies normales. Comme le soulignent @whuber et @NickCox dans les commentaires, sans une interprétation substantielle de ces données - étayée par une théorie bien établie - pour étayer cette hypothèse, cette stratégie doit également être considérée comme exploratoire.
Tout d'abord, suivons la suggestion de @ Glen_b et examinons vos données en utilisant deux fois plus de casiers:
Nous voyons toujours deux modes; au contraire, ils ressortent plus clairement ici. (Notez également que la ligne de densité du noyau doit être identique, mais semble plus étalée en raison du plus grand nombre de cases.)
Permet maintenant d'ajuster un modèle de mélange fini gaussien. Dans
R
, vous pouvez utiliser leMclust
package pour ce faire:Deux composants normaux optimisent le BIC. À titre de comparaison, nous pouvons forcer un ajustement à un composant et effectuer un test de rapport de vraisemblance:
Cela suggère qu'il est extrêmement improbable que vous trouviez des données aussi loin d'unimodales que les vôtres si elles provenaient d'une seule distribution normale normale.
Certaines personnes ne se sentent pas à l'aise d'utiliser un test paramétrique ici (bien que si les hypothèses se vérifient, je ne connais aucun problème). Une technique très largement applicable consiste à utiliser la méthode de cross-fit paramétrique Bootstrap (je décris ici l'algorithme ). Nous pouvons essayer de l'appliquer à ces données:
Les statistiques récapitulatives et les graphiques de densité du noyau pour les distributions d'échantillonnage présentent plusieurs caractéristiques intéressantes. La probabilité logarithmique pour le modèle à un seul composant est rarement supérieure à celle de l'ajustement à deux composants, même lorsque le véritable processus de génération de données n'a qu'un seul composant, et lorsqu'il est supérieur, le montant est trivial. L'idée de comparer des modèles qui diffèrent par leur capacité à ajuster les données est l'une des motivations du PBCM. Les deux distributions d'échantillonnage se chevauchent à peine; seulement .35%
x2.d
sont inférieurs au maximumx1.d
valeur. Si vous avez sélectionné un modèle à deux composants si la différence de probabilité logarithmique était> 9,7, vous sélectionneriez incorrectement le modèle à un composant 0,01% et le modèle à deux composants 0,02% du temps. Ce sont très discriminables. Si, en revanche, vous avez choisi d'utiliser le modèle à une composante comme hypothèse nulle, votre résultat observé est suffisamment petit pour ne pas apparaître dans la distribution d'échantillonnage empirique à 10 000 itérations. Nous pouvons utiliser la règle de 3 (voir ici ) pour placer une limite supérieure sur la valeur de p, à savoir, nous estimons que votre valeur de p est inférieure à .0003. Autrement dit, c'est très important.la source
Donnant suite aux idées @ réponse de Nick et les commentaires, vous pouvez voir la largeur des besoins en bande passante pour être à peu aplatir le mode secondaire:
Prenez cette estimation de la densité du noyau comme le zéro proximal - la distribution la plus proche des données mais toujours cohérente avec l'hypothèse nulle qu'il s'agit d'un échantillon d'une population unimodale - et simulez-la. Dans les échantillons simulés, le mode secondaire n'a pas souvent l'air si distinct, et vous n'avez pas besoin d'élargir autant la bande passante pour l'aplatir.
La formalisation de cette approche conduit au test donné dans Silverman (1981), "Using kernel density estimations to investigation modality ", JRSS B , 43 , 1. Le
silvermantest
package de Schwaiger & Holzmann met en œuvre ce test, ainsi que la procédure d'étalonnage décrite par Hall & York ( 2001), "Sur l'étalonnage du test de Silverman pour la multimodalité", Statistica Sinica , 11 , p 515, qui ajuste pour le conservatisme asymptotique. La réalisation du test sur vos données avec une hypothèse nulle d'unimodalité donne des valeurs de p de 0,08 sans étalonnage et de 0,02 avec étalonnage. Je ne connais pas assez bien le test d'immersion pour deviner pourquoi il pourrait différer.Code R:
la source
->
; Je suis juste perplexe.Les choses à craindre incluent:
La taille de l'ensemble de données. Ce n'est ni minuscule, ni grand.
La dépendance de ce que vous voyez sur l'origine de l'histogramme et la largeur du bac. Avec un seul choix évident, vous (et nous) n'avons aucune idée de la sensibilité.
La dépendance de ce que vous voyez sur le type et la largeur du noyau et tout autre choix est fait pour vous dans l'estimation de la densité. Avec un seul choix évident, vous (et nous) n'avons aucune idée de la sensibilité.
Ailleurs, j'ai suggéré à titre provisoire que la crédibilité des modes est soutenue (mais non établie) par une interprétation substantielle et par la capacité de discerner la même modalité dans d'autres ensembles de données de la même taille. (Plus c'est gros, mieux c'est aussi ....)
Nous ne pouvons commenter ni l'un ni l'autre ici. Une petite poignée sur la répétabilité consiste à comparer ce que vous obtenez avec des échantillons de bootstrap de la même taille. Voici les résultats d'une expérience symbolique utilisant Stata, mais ce que vous voyez est arbitrairement limité aux valeurs par défaut de Stata, qui sont elles-mêmes documentées comme arrachées . J'ai obtenu des estimations de densité pour les données originales et pour 24 échantillons de bootstrap de la même chose.
L'indication (ni plus, ni moins) est ce que je pense que les analystes expérimentés devineraient tout simplement à partir de votre graphique. Le mode gauche est hautement reproductible et la main droite est nettement plus fragile.
Notez qu'il y a une fatalité à ce sujet: comme il y a moins de données plus près du mode droit, elles ne réapparaîtront pas toujours dans un échantillon bootstrap. Mais c'est aussi le point clé.
Notez que le point 3. ci-dessus reste intact. Mais les résultats se situent quelque part entre unimodal et bimodal.
Pour les personnes intéressées, voici le code:
la source
Identification du mode non paramétrique LP (nom de l'algorithme LPMode , la référence du papier est donnée ci-dessous)
Modes MaxEnt [Triangles de couleur rouge dans l'intrigue]: 12783.36 et 24654.28.
Modes L2 [triangles de couleur verte dans l'intrigue]: 13054.70 et 24111.61.
Il est intéressant de noter les formes modales, en particulier la seconde qui présente une asymétrie considérable (modèle de mélange gaussien traditionnel susceptible d'échouer ici).
Mukhopadhyay, S. (2016) Identification des modes à grande échelle et sciences des données. https://arxiv.org/abs/1509.06428
la source