J'ai quelques points de données, contenant chacun 5 vecteurs de résultats discrets agglomérés, les résultats de chaque vecteur générés par une distribution différente, (le type spécifique dont je ne suis pas sûr, ma meilleure supposition est Weibull, avec un paramètre de forme variant quelque part autour de l'exponentielle de puissance loi (1 à 0, grosso modo).)
Je cherche à utiliser un algorithme de clustering comme K-Means pour mettre chaque point de données en groupes en fonction des attributs de ses 5 distributions de composants. Je me demandais s'il existe des mesures de distance établies qui seraient élégantes à ces fins. J'ai eu trois idées jusqu'à présent, mais je ne suis pas un statisticien chevronné (plutôt un informaticien débutant en exploration de données), donc je ne sais pas à quel point je suis hors piste.
Étant donné que je ne sais pas exactement à quel type de distributions je fais face, mon approche par force brute du problème consistait à découper chacune des distributions (j'en ai 5 par point) dans chacune de ses valeurs de données discrètes respectives (I pad chacun correspondant à la même longueur avec des zéros à la fin) et utilisez chacune de ces valeurs comme attribut distinct pour le point de données lui-même. J'ai essayé d'utiliser à la fois la distance de Manhattan et la distance euclidienne comme métriques basées sur ces attributs, pour le PDF et le CDF.
Encore une fois, comme je ne sais pas quels types de distributions j'ai, je me suis dit que si je voulais mesurer la distance entre les distributions globales, je pourrais utiliser une sorte de test non paramétrique par paires entre les distributions, comme le test KS , pour déterminer la probabilité que les distributions données aient été générées par différents PDF. Je pensais que ma première option (ci-dessus) en utilisant la distance de Manhattan serait une sorte de limite supérieure sur ce que je pourrais obtenir en utilisant cette approche (puisque la statistique KS est la valeur absolue maximale de la différence des CDF, où la distance de Manhattan est la somme des valeurs absolues des différences dans les PDF). J'ai ensuite envisagé de combiner les différentes statistiques KS ou valeurs P au sein de chaque point de données, en utilisant probablement la distance euclidienne, mais en prenant simplement le maximum de toutes ces valeurs.
Enfin, dans un effort pour utiliser le peu que je peux interpréter sur la forme des distributions, j'ai pensé que je pourrais essayer d'estimer les paramètres des distributions comme ajustés dans une courbe de Weibull. J'ai pu ensuite regrouper les distributions en fonction des différences dans les deux paramètres de la distribution de Weibull, lambda et k (échelle et forme), probablement normalisés en fonction de la variance de ces paramètres ou quelque chose du genre. C'est le seul cas où j'ai pensé que je pourrais avoir une idée de la façon de normaliser les paramètres.
Donc ma question est, quelle mesure / méthodes recommanderiez-vous pour le regroupement des distributions? Suis-je même sur la bonne voie avec l'un de ces éléments? K-Means est-il même un bon algorithme à utiliser?
Edit: Clarification des données.
Chaque point de données (chaque objet Obj
que je veux regrouper) contient littéralement 5 vectors
des données. Je sais qu'il y a exactement 5 phases dans lesquelles ces objets peuvent être. Nous dirons (à des fins de simplification) que chaque vecteur est de length N
.
Chacun de ces vecteurs (appeler vector i
) est une distribution de probabilité avec nombre entier x-values
de 1 à N, où chaque valeur y correspondant représente la probabilité de mesure value x
dans phase i
de l'objet Obj
. N est alors la valeur x maximale que je m'attends à mesurer dans n'importe quelle phase de l'objet (ce n'est pas en fait un nombre fixe dans mon analyse).
Je détermine ces probabilités de la manière suivante:
Je prends un seul
Obj
et mis enphase i
pourk trials
, en prenant une mesure à chaque essai. Chaque mesure est un seul nombre entier. Je le fais pour chacune des 5 phases d'un seul objet, et à son tour pour chaque objet. Mes données de mesure brutes pour un seul objet peuvent ressembler à:Vecteur 1. [90, 42, 30, 9, 3, 4, 0, 1, 0, 0, 1]
Vecteur 2. [150, 16, 5, 0, 1, 0, 0, 0, 0, 0, 0]
...
Vecteur 5. [16, ... ..., 0]
Ensuite, je normalise chacun des vecteurs par rapport au nombre total de mesures dans ce vecteur donné. Cela me donne une distribution de probabilité dans ce vecteur, où chaque valeur y correspondante représente la probabilité de mesurer
value x
enphase i
.