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
.
la source
Réponses:
La géométrie de l'information (informatique) est un domaine qui traite exactement ce genre de problèmes. K-means a une extension appelée Bregman k-means qui utilise des divergences (dont l'euclidienne au carré des K-means standard est un cas particulier, mais aussi Kullback-Leibler). Une divergence donnée est associée à une distribution, par exemple au carré euclidien à gaussien.
Vous pouvez également voir le travail de Frank Nielsen , par exemple
Vous pouvez également jeter un coup d'œil sur les distances de Wasserstein (transport optimal) , mentionnées comme Earth Mover Distance dans un post précédent.
la source
Dans leur article sur l' algorithme EP-Means , Henderson et al passent en revue les approches de ce problème et donnent les leurs. Ils considèrent:
Une autre technique que j'ai utilisée avec succès consiste à regrouper tous les points observés de toutes les distributions individuellement, puis à attribuer à la distribution i la probabilité douce correspondant à la proportion de ses points qui se retrouvent dans chaque cluster. À la baisse, il est beaucoup plus difficile de séparer les distributions de cette façon. À la hausse, il se régularise en quelque sorte automatiquement et suppose que toutes les distributions sont les mêmes. Cependant, je ne l'utiliserais que lorsque cette propriété de régularisation est souhaitée.
la source
$i$
produit , ou produit , ce qui peut faciliter votre expressionl 2$l_2$
Vous devez procéder en deux étapes. (1) Réduction des données et (2) Clustering.
Pour l'étape (1), vous devez inspecter soigneusement vos données et déterminer une distribution de probabilité raisonnable pour vos données. Vous semblez avoir déjà pensé à cette étape. L'étape suivante consiste à estimer les paramètres de ces distributions. Vous pouvez adapter un modèle séparément pour chaque unité à regrouper, ou il peut être approprié d'utiliser un modèle plus sophistiqué tel qu'un modèle mixte linéaire généralisé.
Pour l'étape (2), vous pouvez ensuite regrouper en fonction de ces estimations de paramètres. À ce stade, vous devriez avoir un petit nombre d'estimations de paramètres par unité. Comme décrit dans la réponse à cet article , vous pouvez ensuite regrouper ces estimations de paramètres.
Cette réponse est nécessairement quelque peu vague - il n'y a pas de solution "en conserve" ici, et beaucoup d'informations statistiques sont nécessaires pour chaque étape pour sélectionner parmi un nombre presque infini de méthodes qui peuvent être pertinentes, en fonction de votre problème unique. L'énoncé de votre question montre que vous vous êtes autodidacte une bonne partie des connaissances statistiques, ce qui est louable, mais vous avez encore quelques malentendus fondamentaux des concepts statistiques de base, tels que la distinction entre une distribution de probabilité et des observations à partir d'une distribution de probabilité . Envisagez de suivre / auditer un ou deux cours de statistiques mathématiques.
la source