Grupowanie danych mieszanych z R

19

Zastanawiam się, czy możliwe jest wykonanie w obrębie R grupowania danych o mieszanych zmiennych danych. Innymi słowy, mam zestaw danych zawierający zarówno zmienne liczbowe, jak i jakościowe, i znajduję najlepszy sposób na ich grupowanie. W SPSS użyłbym dwustopniowego klastra. Zastanawiam się, czy w R mogę znaleźć podobne techniki. Powiedziano mi o pakiecie poLCA, ale nie jestem pewien ...

Giorgio Spedicato
źródło
1
Czy SPSS TwoStep nie jest przeznaczony do obsługi dużych zestawów danych? (I dostarczyć odpowiedzi na pytanie powiązanego tutaj ). W przeciwnym razie moja odpowiedź na analizie główny składnik może być stosowana do zbiorów danych zawierających mieszankę zmiennych ciągłych i skategoryzowanych? być w czymś pomocnym?
chl
W obrębie klastra pakietów R znajduje się „stokrotka”, która stworzy macierz odmienności dla danych mieszanych (współczynnik podobieństwa Gowera). Następnie możesz użyć ? Agnes lub innych funkcji klastrowania.
rhonda
1
Nie myl metody z implementacją. Najpierw poszukaj algorytmu grupowania, który ma sens. Następnie poszukaj pakietu R, który go implementuje.
shadowtalker
Można zastosować podobieństwo Gowera .
ttnphns
@gung niedawno zamknął bardzo podobne pytanie, które zadałem. Powiedziano mi, że moje pytanie jest nie na temat, ponieważ dotyczyło głównie oprogramowania. Wydaje się, że podobnie jest z oprogramowaniem. Byłbym bardzo zainteresowany, aby dowiedzieć się, dlaczego obowiązujące tutaj zasady są egzekwowane niekonsekwentnie. Uważam, że myślę, że pytanie ma charakter informacyjny, ale reguły powinny być regułami.
Weiwen Ng

Odpowiedzi:

8

Może się to spóźnić, ale spróbuj klaR ( http://cran.r-project.org/web/packages/klaR/index.html )

install.packages("klar")

Wykorzystuje niehierarchiczny algorytm trybów k, który opiera się na prostym dopasowaniu jako funkcji odległości, więc odległość δ między zmienną m dwóch punktów danych i y jest dana przezxy

δ(xm,ym)={1xmym,0otherwise

Pakiet ma wadę, tzn. Jeśli dwa punkty danych mają tę samą odległość od centrum skupień, pierwszy w danych jest wybierany w przeciwieństwie do losowego punktu, ale można łatwo zmodyfikować bit w kodzie.

Aby uwzględnić klastrowanie zmiennych mieszanych, należy przejść do kodu i zmodyfikować funkcję odległości w celu zidentyfikowania trybów i zmiennych numerycznych i nienumerycznych.

victor_v
źródło
7

Innym atrakcyjnym sposobem obsługi zmiennych typów mieszanych jest użycie macierzy proxy / podobieństwa z Random Forests: http://cogns.northwestern.edu/cbmg/LiawAndWiener2002.pdf . Ułatwia to jednolity sposób równego traktowania wszystkich zmiennych (należy jednak pamiętać o problemie z selekcją zmiennych). Z drugiej strony tak naprawdę nie ma złotego uniwersalnego sposobu określania odległości dla zmiennych typów mieszanych. Wszystko zależy od kontekstów aplikacji.

XGS
źródło
4

Możesz użyć wielu analiz korespondencji, aby utworzyć ciągłe wymiary ze zmiennych kategorialnych, a następnie użyć ich ze zmiennymi numerycznymi w drugim kroku.

ftr
źródło
1
Jak traktowałbyś zmienne numeryczne w MCA? Korzystasz z dyskretyzacji?
chl
Istnieją rozszerzenia MCA, które mogą obejmować zmienne ciągłe, patrz na przykład homale analizy homogeniczności
kjetil b halvorsen
3

Z pewnością możesz. Tworząc zmienne kategoryczne sztucznie numeryczne. Lub używając klastrowania opartego na macierzy odległości (fpc prawdopodobnie może to zrobić). Pytanie, na które powinieneś najpierw odpowiedzieć, brzmi: czy to naprawdę ma sens?

Anony-Mus-Przywróć Monikę
źródło
3

jk

SG=i=1nwi,j,ksi,j,ki=1nwi,j,k
i

wi,j,k

si,j,k

  • wi,j,k

  • znaki wielostanowiskowe (nominalne lub porządkowe): 1 dla równości, 0 innych (równoważne prostemu współczynnikowi dopasowania)

  • si,j,k=1|Xi,jXi,k|RiRii

SG

1SG

Engelbert Buxbaum
źródło
Czy potrafisz zdefiniować w swojej odpowiedzi, co oznacza „postać” (i „postać kardynalna”)? Czy przez to rozumiesz zmienną / atrybut / cechę? Poza tym mogę dodać, że Gowera można obliczyć dla zmiennych porządkowych bez traktowania ich jako nominalnych („wielostanowych”), patrz .
ttnphns
Caracter, zmienna, cecha są synonimami. Kardynał oznacza skalę przedziałową lub wymierną.
Engelbert Buxbaum
Dziękuję za wyjaśnienie. Właśnie zapytałem, ponieważ twoja terminologia najwyraźniej nie jest zbyt powszechna w statystyce lub uczeniu maszynowym: „charakter” jest niezwykły, a to, co nazywacie zmienną „kardynalną”, jest zwykle znane jako zmienna „skalowana”, czyli „zmienna metryczna”, w przeciwieństwie do kategorycznej .
ttnphns
1

Jeśli możliwe wartości zmiennych kategorialnych nie są zbyt liczne, możesz pomyśleć o utworzeniu zmiennych binarnych z tych wartości. Możesz traktować te zmienne binarne jak zmienne numeryczne i uruchamiać klastrowanie. Tak zrobiłem dla mojego projektu.

Raghvendra
źródło
0

VarSelLCM oferty pakietowe

Zmienny wybór do grupowania w oparciu o model zestawu danych mieszanych z brakującymi wartościami

O CRAN i opisany więcej w formie papierowej .

Zaletą niektórych wcześniejszych metod jest to, że oferuje pomoc w wyborze liczby klastrów i obsługuje brakujące dane. Ładna, błyszcząca aplikacja również nie jest niezadowolona.

enter image description here

radek
źródło