Mam macierz korelacji, która określa, w jaki sposób każdy element jest skorelowany z drugim elementem. Dlatego dla N elementów mam już macierz korelacji N * N. Korzystając z tej macierzy korelacji, w jaki sposób grupuję N elementów w pojemnikach M, aby móc powiedzieć, że elementy Nk w k-tym bin zachowują się tak samo. Prosimy mi pomóc. Wszystkie wartości pozycji są jakościowe.
Dzięki. Daj mi znać, jeśli potrzebujesz więcej informacji. Potrzebuję rozwiązania w Pythonie, ale wszelka pomoc w popchnięciu mnie do wymagań będzie dużą pomocą.
clustering
python
k-means
Abhishek093
źródło
źródło
Odpowiedzi:
Wygląda jak zadanie do modelowania bloków. Google do „modelowania bloków” i kilka pierwszych trafień są pomocne.
Załóżmy, że mamy macierz kowariancji, w której N = 100, a faktycznie jest 5 klastrów:
Modelowanie bloków próbuje znaleźć kolejność wierszy, aby klastry stały się widoczne jako „bloki”:
Poniżej znajduje się przykład kodu, który wykonuje podstawowe chciwe wyszukiwanie, aby to osiągnąć. Prawdopodobnie jest zbyt wolny dla twoich zmiennych 250-300, ale to początek. Sprawdź, czy możesz śledzić wraz z komentarzami:
źródło
Czy spojrzałeś na hierarchiczne grupowanie? Może pracować z podobieństwami, nie tylko odległościami. Możesz wyciąć dendrogram na wysokości, na której dzieli się on na k klastrów, ale zwykle lepiej jest wizualnie sprawdzić dendrogram i zdecydować o wysokości cięcia.
Hierarchiczne grupowanie jest również często wykorzystywane do uzyskania sprytnego uporządkowania w celu waporyzacji macierzy podobieństwa, jak widać w drugiej odpowiedzi: umieszcza więcej podobnych wpisów obok siebie. Może to również służyć jako narzędzie sprawdzania poprawności dla użytkownika!
źródło
Czy zastanawiałeś się nad grupowaniem korelacji ? Ten algorytm grupowania korzysta z par dodatniej / ujemnej informacji o korelacji, aby automatycznie zaproponować optymalną liczbę klastrów o dobrze zdefiniowanej funkcjonalnej i ścisłej generatywnej interpretacji probabilistycznej .
źródło
Correlation clustering provides a method for clustering a set of objects into the optimum number of clusters without specifying that number in advance
. Czy to definicja metody? Jeśli tak, to dziwne, ponieważ istnieją inne metody automatycznego sugerowania liczby klastrów, a także dlaczego nazywa się to „korelacją”.Filtrowałbym według pewnego znaczącego progu (istotności statystycznej), a następnie użyłem dekompozycji Dulmage-Mendelsohna, aby uzyskać połączone komponenty. Być może zanim spróbujesz usunąć jakiś problem, taki jak korelacje przechodnie (silnie skorelowane z B, B do C, C do D, więc istnieje składnik zawierający je wszystkie, ale w rzeczywistości D do A jest niski). możesz użyć algorytmu opartego na międzyczasie. Nie jest to problem dwulicowy, jak ktoś sugerował, ponieważ macierz korelacji jest symetryczna i dlatego nie ma bi-czegoś.
źródło