Unimodale ou distribution bimodale dans MATLAB
Est-il un moyen dans MATLAB pour vérifier si l'histogramme de la distribution est unimodale ou bimodale?
MODIFIER
Pensez-vous Hartigan Dip Statistique pourrait fonctionner? J'ai essayé en passant d'une image, et d'obtenir la valeur 0
. Qu'est-ce que cela signifie?
Et, lors du passage d'une image, est-il tester la distribution de l'histogramme de l'image sur les niveaux de gris?
Grâce.
On dirait que vous devez inspecter le dégradé... peut-être
J'ai une image, pour lequel je vais avoir un histogramme pour les valeurs de niveau de gris de l'image. Pour l'histogramme, je veux juste vérifier si il est unimodale ou bimodale
juste pour être précis: p la valeur retournée est la probabilité que vous avez tort de rejeter l'hypothèse nulle. Je crois que dans ce cas, l'hypothèse nulle est "la distribution est unimodale". Ainsi, une valeur faible signifie "vous pouvez rejeter l'hypothèse nulle", c'est à dire "cet exemple est peu probable d'avoir été élaboré à partir d'une distribution unimodale".
findpeaks()
sera utile.J'ai une image, pour lequel je vais avoir un histogramme pour les valeurs de niveau de gris de l'image. Pour l'histogramme, je veux juste vérifier si il est unimodale ou bimodale
juste pour être précis: p la valeur retournée est la probabilité que vous avez tort de rejeter l'hypothèse nulle. Je crois que dans ce cas, l'hypothèse nulle est "la distribution est unimodale". Ainsi, une valeur faible signifie "vous pouvez rejeter l'hypothèse nulle", c'est à dire "cet exemple est peu probable d'avoir été élaboré à partir d'une distribution unimodale".
OriginalL'auteur Simplicity | 2013-12-28
Vous devez vous connecter pour publier un commentaire.
Voici un script à l'aide de Nic Prix de la mise en œuvre de Hartigan la chute de Test pour identifier les distributions unimodales. Le point délicat est de calculer
xpdf
, ce qui n'est pas fonction de densité de probabilité, mais plutôt un échantillon trié.p_value
est la probabilité d'obtenir un test statistique au moins aussi extrême que celle qui a été réellement observé, en supposant que l'hypothèse nulle est vraie. Dans ce cas, l'hypothèse nulle est que la distribution est unimodale.256x256
image. Quelles modifications dois-je effectuer afin d'appliquer le test sur mon image?La dimensionnalité n'a pas vraiment d'importance, comme toujours, il peut être modifié avec l'aide de
reshape
. Voir les modifications.OriginalL'auteur divanov
Il ya beaucoup de façons différentes de faire ce que vous demandez. Au sens le plus littéral, "bimodale" signifie qu'il y a deux pics. Habituellement cependant, vous voulez les deux "pics" d'être séparés par une distance raisonnable, et vous voulez qu'ils contiennent chacune une proportion raisonnable du nombre total de comptes. Vous seul savez ce qui est "raisonnable" pour votre situation, mais l'approche suivante peut aider.
cumsum
Vous devez décider quelle est la taille de cette quantité représente "bimodale" pour vous. Voici un code qui montre de quoi je parle. Il génère des distributions bimodales de différents degrés de gravité - deux Gaussiennes, avec l'augmentation de la delta entre eux (pas = taille de l'écart type). Je calcule la quantité décrite ci-dessus, et de tracer une gamme de différentes valeurs de
delta
. Je puis fit une parabole par le biais de cette courbe sur une plage correspondant à +- 1 sigma de l'ensemble de la distribution. Comme vous pouvez le voir, lorsque la distribution devient de plus en plus bimodale, deux choses se produisent:Vous pouvez regarder ces quantités pour certains de vos propres distributions, et de décider où vous souhaitez placer la coupure.
Valeurs de sortie:
Placettes d'échantillonnage:
Et de l'histogramme pour delta = 40:
Je suis d'accord avec le premier point; mais la seconde? Pourquoi voudrais-je à transposer
q(indx)
?Dans ma version de matlab les deux entrées doivent être de la même dimension. cela signifie qu'ils ont tous deux d'être vecteur ligne ou les deux vecteurs colonnes. pf = polyfit(coupes(indx)', q(indx), 2); fonctionne aussi très bien
OriginalL'auteur Floris