Bonjour à tous,

Mise en garde aux lecteurs: je ne suis pas un matheux, il est probable que je n'utilise pas les termes exacts, désolé et n'hésitez pas à me corriger, pour ma curiosité scientifique.

J'ai un ensemble d'une centaines de valeurs qui "s'agglutinent" autour de quelques valeurs (idéalement 1 seule mais c'est rare, jusqu'à une 20aine, le plus souvent 4). De plus, ces valeurs "centrales" ne sont bien évidemment pas réparties uniformément dans mon ensemble, et mes valeurs n'ont pas réellement de bornes. Enfin je ne suis pas sûr que les ecarts-types soient identiques pour les sous-ensembles, il en va de même pour les ratios ecart-type / moyenne. Dernière remarques, mes valeures sont dans l'ordre croissant.

J'essaie donc de partitionner (par partitionner j'entends que toutes mes valeurs appartiennent exactement à un seul sous-ensemble) mes valeurs en autant de sous-ensembles que de "centres de gravité locaux". Par exemple, je voudrais séparer (1, 2, 3, 4, 6, 7) en (1, 2, 3, 4) et (6, 7).

Après pas mal d'heures de google (c'est dur quand on ne connait pas les mots clefs), je suis enfin tombé sur 3 algo qui sembleraient répondre à mon problème:

-k-means
-partitionement hiérarchique
-Expectation - Minimization (même si j'ai pas encore bien compris comment l'appliquer à mon problème)

Première question, y-a t'il plus simple, quit à ajouter des contraintes et/ou des hypothèses?

Deuxième question, de ce que j'ai compris des deux premières méthodes, elles nécessitent de connaitre à priori quand s'arrêter: i.e. un nb de partitions, une variance max, un nb d'itération... J'aimerai savoir si il existe un critère d'arrêt des récursivités basée sur une relation entre la variance de mon ensemble avant partitionement et les variances des 2 partitions candidates. Dit d'une autre manière, existe-t'il un critére pour dire à l'algo de ne pas partitionner un ensemble en deux car il n'y a pas de "trou" significatif? Je crois me souvenir que c'est ce qu'on appelle la "minimisation de la complexité stochastique" (je me suis retrouvé une fois devant un exposé sur la segmentation d'image...), malheureusement les résultats de google là-dessus sont très difficilement compréhensible pour le pôvre informaticien que je suis.

J'ai bricolé un petit script MATLAB qui cherche le minimum de densite (maximum du différentiel des données), je l'utililise alors comme candidat frontière entre deux sous-ensembles potentiels, mais malheureusement le susdit critère d'arrêt de recursion me manque également...

Merci d'avance à tous ceux qui liront cet appel au secours un peu confus.