Clustering gerarchico con dati di tipo misto: quale distanza / somiglianza usare?


34

Nel mio set di dati abbiamo variabili sia continue che naturalmente discrete. Voglio sapere se possiamo fare un cluster gerarchico usando entrambi i tipi di variabili. E se sì, quale misura di distanza è appropriata?


Che software stai usando?
rolando2,

@ rolando2: sto usando R (pacchetto hclus).
Beta

1
C'è un motivo per usare il clustering gerarchico?
suncoolsu,

N / A. Sto solo facendo questa domanda per amor di mia conoscenza. Possiamo fare gerarchici quando abbiamo un tipo di dati misto. Se sì, allora perché? Se no, allora perché?
Beta

@ user4278 Bene, qual è il tuo obiettivo bene ? Stai cercando di identificare i cluster (di individui)?
chl,

Risposte:


45

Un modo è usare il coefficiente di somiglianza di Gower che è una misura composita ; prende variabili quantitative (come scala di valutazione), binarie (come presenti / assenti) e nominali (come lavoratore / insegnante / impiegato). Successivamente Podani aggiunto un'opzione per prendere anche le variabili ordinali.12

Il coefficiente è facilmente comprensibile anche senza una formula; si calcola il valore di somiglianza tra gli individui per ciascuna variabile, tenendo conto del tipo di variabile e quindi si esegue la media di tutte le variabili. Di solito, un programma che calcola Gower ti permetterà di ponderare le variabili, cioè il loro contributo, alla formula composita. Tuttavia, la corretta ponderazione di variabili di diverso tipo è un problema , non esistono linee guida chiare, che fanno affrontare Gower o altri indici "compositi" di prossimità.

Le sfaccettature della somiglianza di Gower ( ):solS

  • Quando tutte le variabili sono quantitative (intervallo), il coefficiente è la distanza di Manhattan normalizzata per intervallo convertita in somiglianza. A causa delle variabili di normalizzazione di diverse unità possono essere utilizzate in modo sicuro. Non dovresti, tuttavia, dimenticare i valori anomali. (Potresti anche decidere di normalizzare con un'altra misura di diffusione rispetto all'intervallo.) A causa della suddetta normalizzazione da parte di una statistica, come l'intervallo, che è sensibile alla composizione degli individui nel set di dati La somiglianza di Gower tra alcuni due individui può modificarne il valore se rimuovi o aggiungi altri individui nei dati.
  • Quando tutte le variabili sono ordinali, vengono prima classificate e quindi viene calcolata Manhattan, come sopra con variabili quantitative, ma con l'adeguamento speciale per i legami.
  • Quando tutte le variabili sono binarie (con un significato asimmetrico di categorie: attributo "presente" vs "assente"), allora il coefficiente è il coefficiente di corrispondenza di Jaccard (questo coefficiente tratta quando entrambi gli individui non hanno l'attributo né corrispondente né corrispondente).
  • Quando tutte le variabili sono nominali (includendo anche qui dicotomiche con significato simmetrico: "questo" vs "quello"), allora il coefficiente è il coefficiente di corrispondenza dei dadi che si ottiene dalle variabili nominali se si ricodificano in variabili fittizie (vedere questa risposta per ulteriori informazioni) .

(È facile estendere l'elenco dei tipi. Ad esempio, si potrebbe aggiungere un summand per le variabili di conteggio, usando la distanza chi-quadrato normalizzata convertita in somiglianza.)

Il coefficiente varia tra 0 e 1.

" Distanza di Gower ". Senza le variabili ordinali presenti (ovvero senza usare l'opzione di Podani) si comporta come distanza euclidea, supporta pienamente lo spazio euclideo. Ma è solo metrico (supporta la disuguaglianza triangolare), non euclideo. Con variabili ordinali presenti (usando l'opzione di Podani) è solo metrico, non euclideo; e non è affatto metrico. Vedi anche .1-solS1-solS1-solS1-solS

Con le distanze euclidee (distanze che sostengono lo spazio euclideo), virtualmente qualsiasi tecnica classica di raggruppamento farà. Compresi i mezzi K (se il tuo programma dei mezzi K può elaborare matrici a distanza, ovviamente) e includendo i metodi di Ward, centroide, mediani del raggruppamento gerarchico . L'uso di K-medie o altri metodi basati sulla distanza euclidea con una distanza metrica ancora non euclidea è forse euristicamente ammissibile. Con distanze non metriche, non è possibile utilizzare tali metodi.

Il paragrafo precedente parla se K-significa o Ward o tale raggruppamento è legale o meno con la distanza di Gower matematicamente (geometricamente). Dal punto di vista della scala di misurazione ("psicometrica") non si dovrebbe calcolare la deviazione della distanza media o euclidea da essa in alcun dato categoriale (nominale, binario, nonché ordinale); quindi da questa posizione non è possibile elaborare il coefficiente di Gower con mezzi K, Ward, ecc. Questo punto di vista avverte che anche se è presente uno spazio euclideo, può essere granulato, non liscio ( vedi correlato ).


1 Gower JC Un coefficiente generale di somiglianza e alcune delle sue proprietà // Biometria, 1971, 27, 857-872

2 Podani, J. Estensione del coefficiente generale di somiglianza di Gower ai caratteri ordinali // Taxon, 1999, 48, 331-340


Grazie ttnphns! Puoi dirmi se "Coefficiente di somiglianza di Gower" è integrato nel pacchetto hclus in R? Esiste un pacchetto in R con questa funzionalità.
Beta

Non sono un utente R, quindi non lo so e non credo che lo troverai in Hclus. Ma se Google "Gower similarity R" sei sicuro di trovare quello che ti serve!
ttnphns,

user4278, Nel caso in cui non si eviti SPSS, ho una macro per la somiglianza di Gower sulla mia pagina web. Accetta la ponderazione e i dati mancanti.
ttnphns,

@ user4278 Informazioni specifiche su R, inizia qui: cran.r-project.org/web/views/Environmetrics.html
chl

@ttnphns: grazie! Ho visitato il tuo sito Web ed è un'ottima risorsa per SPSS. Ma sfortunatamente non uso troppo SPSS. Ma lo userò sicuramente se non ricevo nulla in R. @ chl: grazie! Ma è un elenco enorme. Ho letto da qualche parte che Daisy, nel pacchetto cluster, ha funzionalità simili a Gower.
Beta

15

Se ti sei imbattuto in questa domanda e ti stai chiedendo quale pacchetto scaricare per utilizzare la metrica Gower in R , il clusterpacchetto ha una funzione chiamata daisy () , che per impostazione predefinita utilizza la metrica di Gower ogni volta che vengono utilizzati tipi misti di variabili. Oppure puoi impostarlo manualmente per utilizzare la metrica di Gower.

daisy(x, metric = c("euclidean", "manhattan", "gower"),
      stand = FALSE, type = list(), weights = rep.int(1, p))

4
In seguito alla risposta di Zhubarb , se si desidera che le distanze tra tutte le coppie di Gower da due insiemi di dati, poi vedere il pacchetto R StatMatch.
James Hirschorn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.