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:
clear
set scheme s1color
set seed 2803
mat data = (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)
set obs `=colsof(data)'
gen data = data[1,_n]
gen index = .
quietly forval j = 1/24 {
replace index = ceil(120 * runiform())
gen data`j' = data[index]
kdensity data`j' , nograph at(data) gen(xx`j' d`j')
}
kdensity data, nograph at(data) gen(xx d)
local xstuff xtitle(data/1000) xla(10000 "10" 20000 "20" 30000 "30") sort
local ystuff ysc(r(0 .0001)) yla(none) `ystuff'
local i = 1
local colour "orange"
foreach v of var d d? d?? {
line `v' data, lc(`colour') `xstuff' `ystuff' name(g`i', replace)
local colour "gs8"
local G `G' g`i'
local ++i
}
graph combine `G'