cluster analysis: metodi gerarchici · algoritmo agglomerativo 1 sipartedallapartizioneinn...
TRANSCRIPT
![Page 1: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/1.jpg)
Cluster Analysis: Metodi gerarchiciAnalisi Esplorativa
Aldo Solari
1 / 34
![Page 2: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/2.jpg)
1 Metodi gerarchici
2 / 34
![Page 3: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/3.jpg)
Outline
1 Metodi gerarchici
3 / 34
![Page 4: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/4.jpg)
Metodi (algoritmi) gerarchici
Nei metodi gerarchici si individua una sequenza di partizioni nidificate:la partizione in K + 1 gruppi si ottiene dalla partizione in K gruppifacendo di due degli elementi di questa un elemento di quella (AGNES),o viceversa (DIANA)
• Algoritmo Agglomerativo (AGNES, AGGlomerative NESting)• Algoritmo Scissorio (DIANA, DIvisive ANAlysis)
4 / 34
![Page 5: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/5.jpg)
AGNES
{a, b, c, d}
{c, d}
{a, b}
{a} {b} {c} {d} K = n = 4
K = 3
K = 2
K = 1
5 / 34
![Page 6: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/6.jpg)
Algoritmo agglomerativo
1 Si parte dalla partizione in n gruppi, ciascuno singoletto;Inizializzare k = n
2 Determinare quale coppia di gruppi sia quella ‘migliore’ da unire,
tra le(
k
2
)= k(k − 1)
2 coppie di gruppi possibili;
3 Fondere la ‘migliore’ coppia di gruppi in un unico gruppo;impostare k = k − 1 e andare al passo 2© se k > 1, altrimentiSTOP
Per questo algoritmo sono previste n− 1 iterazioni di 2© e 3© primadell’arresto
6 / 34
![Page 7: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/7.jpg)
Esempio
1
2
3
4
5
6
7
8
9
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1.5
−1.0
−0.5
0.0
0.5
1
2
3
4
5
6
7
8
9
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1.5
−1.0
−0.5
0.0
0.5
1
2
3
4
5
6
7
8
9
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1.5
−1.0
−0.5
0.0
0.5
1
2
3
4
5
6
7
8
9
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1.5
−1.0
−0.5
0.0
0.5
X1X1
X1X1
X2
X2
X2
X2
Partizione1, 2, 3, 4, 5, 6, 7, 8, 9(5,7), 1, 2, 3, 4, 6, 8, 9(5,7), (1,6), 2, 3, 4, 8, 9(5,7,8), (1,6), 2, 3, 4, 9
...(1,2,3,4,5,6,7,8,9)
7 / 34
![Page 8: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/8.jpg)
Distanza/dissimilarità tra gruppi
• Dobbiamo precisare come si determina al passo 2© la ‘migliore’coppia di gruppi da fondere in un unico gruppo
• Se abbiamo k gruppi con matrice delle distanze/dissimilarità Dk×k
,basta determinare quale sia la coppia di gruppi con minoredistanza/dissimilarità (se più di una coppia, si sceglie una)
1 Inizializzare k = n e Dk×k
= Dn×n
;
2 Determinare in Dk×k
quale coppia di gruppi ha distanza minima
3 Fondere la coppia di gruppi con distanza minima in un unicogruppo; impostare k = k − 1 e aggiornare D
k×kcalcolando la
distanza del nuovo gruppo con i rimanenti; andare al passo 2© sek > 1, altrimenti STOP
8 / 34
![Page 9: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/9.jpg)
Distanza tra due gruppi GI e GL
Legame singolo (single linkage)
d(GI , GL) = min{d(ui, ul), ui ∈ GI , ul ∈ GL}
Legame completo (complete linkage)
d(GI , GL) = max{d(ui, ul), ui ∈ GI , ul ∈ GL}
Legame medio (average linkage)
d(GI , GL) = 1nGI
nGL
∑ui∈GI
∑ul∈GL
d(ui, ul)
dove nGIe nGL
sono le numerosità dei gruppi GI e GL
9 / 34
![Page 10: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/10.jpg)
10 / 34
![Page 11: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/11.jpg)
Esempio con il legame singolo
D5×5
= {dIL} =
I\L 1 2 3 4 51 02 9 03 3 7 04 6 5 9 05 11 10 2 8 0
2© minI 6=L(dIL) = d53 = 2• Le due unità (cluster) 3 e 5 vengono fuse nel cluster (35)3© Aggiorno le distanze tra il nuovo cluster (35) e i rimanenti• d(35)1 = min{d31, d51} = min{3, 11} = 3• d(35)2 = min{d32, d52} = min{7, 10} = 7• d(35)4 = min{d34, d54} = min{9, 8} = 8
dove con il legame singolo d(IL)J = min{dIJ , dLJ}
11 / 34
![Page 12: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/12.jpg)
Iterazione 2
D4×4
= {dIL} =
I\L (35) 1 2 4(35) 01 3 02 7 9 04 8 6 5 0
2© minI 6=L(dIL) = d1(35) = 3• I due cluster 1 e (35) vengono fusi nel cluster (135)3© Aggiorno le distanze tra il nuovo cluster (135) e i rimanenti• d(135)2 = min{d(35)2, d12} = min{7, 9} = 7• d(135)4 = min{d(35)2, d14} = min{8, 6} = 6
12 / 34
![Page 13: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/13.jpg)
Iterazione 3
D3×3
= {dIL} =
I\L (135) 2 4(135) 02 7 04 6 5 0
2© minI 6=L(dIL) = d42 = 5• I due cluster 2 e 4 vengono fusi nel cluster (24)3© Aggiorno le distanze tra il nuovo cluster (24) e il rimanente• d(135)(24) = min{d(135)2, d(135)4} = min{7, 6} = 6
13 / 34
![Page 14: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/14.jpg)
Iterazione 4
D2×2
= {dIL} =I\L (135) (24)(135) 0(24) 6 0
2© minI 6=L(dIL) = d(135)(24) = 6• I due cluster (135) e (24) vengono fusi nel cluster (12345)3© STOP
14 / 34
![Page 15: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/15.jpg)
Il dendogramma
1 3 5 2 4
23
45
6
hclust (*, "single")D
Dis
tanz
a
15 / 34
![Page 16: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/16.jpg)
Il dendogramma
• La successione di partizioni individuate può essere rappresentatacon il dendogramma
• Nell’esempio abbiamo n = 5 unità statistiche, indicate con le cifreda 1 a 5
• Le unità 3 e 5 sono unite tra di loro da una linea spezzata a formadi U rovesciata, che indica che vengono messe nello stesso gruppo,e si ottiene la partizione {(3, 5), 1, 2, 4}
• Procedendo verso l’alto, la successiva unione tra gruppi è tra 1 e(3, 5), quindi al livello successivo si ottiene la partizione{(1, 3, 5), 2, 4}.
• Andando su ancora di un livello, vengono uniti i gruppi 2 e 4,formando la partizione {(1, 3, 5), (2, 4)}.
• Procedendo ulteriormente si arriva alla partizione formata da ununico elemento {(1, 2, 3, 4, 5)}.
16 / 34
![Page 17: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/17.jpg)
Il dendogramma
• Si noti che le unità sono rappresentate in un ordine scelto in modoche i rami dell’albero non si incrocino nel disegno (ovviamente nonc’è un unico ordine siffatto)
• Le altezze a cui sono disegnati i segmenti che uniscono le unitàviene disegnato all’altezza corrispondente alla distanza tra essi
• 3 e 5 hanno distanza 2• (3,5) e 1 hanno distanza 3• 2 e 4 hanno distanza 5• (1,3,5) e (2,4) hanno distanza 6
17 / 34
![Page 18: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/18.jpg)
Tagliare il dendogramma
1 3 5 2 4
23
45
6
hclust (*, "single")D
Dis
tanz
a
18 / 34
![Page 19: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/19.jpg)
Tagliare il dendogramma
• Fissata una distanza c > 0, disegnando una linea orizzontale adaltezza c si taglia il dendogramma e si ottiene il numero di gruppi,corrispondente al numero di aste intersecate dalla linea orizzontale
• Nell’esempio, per c = 4 (linea tratteggiata), risultano formati i tregruppi (1, 3, 5), 2 e 4.
Legame singolo: interpretazione del taglioper ogni ui in un cluster (non singoletto), c’è almeno un’altra unità ul
tale per cui d(ui, ul) < c
19 / 34
![Page 20: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/20.jpg)
Esempio con il legame completo
D5×5
= {dIL} =
I\L 1 2 3 4 51 02 9 03 3 7 04 6 5 9 05 11 10 2 8 0
2© minI 6=L(dIL) = d53 = 2• Le due unità (cluster) 3 e 5 vengono fuse nel cluster (35)3© Aggiorno le distanze tra il nuovo cluster (35) e i rimanenti• d(35)1 = max{d31, d51} = max{3, 11} = 11• d(35)2 = max{d32, d52} = max{7, 10} = 10• d(35)4 = max{d34, d54} = max{9, 8} = 9
dove il legame completo d(IL)J = max{dIJ , dLJ}
20 / 34
![Page 21: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/21.jpg)
Iterazione 2
D4×4
= {dIL} =
I\L (35) 1 2 4(35) 01 11 02 10 9 04 9 6 5 0
2© minI 6=L(dIL) = d42 = 5• I due cluster 2 e 4 vengono fusi nel cluster (24)3© Aggiorno le distanze tra il nuovo cluster (24) e i rimanenti• d(24)(35) = max{d2(35), d4(35)} = max{10, 9} = 10• d(24)1 = max{d21, d41} = max{9, 6} = 9
21 / 34
![Page 22: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/22.jpg)
Iterazione 3
D3×3
= {dIL} =
I\L (35) (24) 1(35) 0(24) 10 01 11 9 0
2© minI 6=L(dIL) = d1(24) = 9• I due cluster 1 e (24) vengono fusi nel cluster (124)3© Aggiorno le distanze tra il nuovo cluster (124) e il rimanente• d(124)(35) = max{d1(35), d(24)(35)} = max{11, 10} = 11
22 / 34
![Page 23: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/23.jpg)
Iterazione 4
D2×2
= {dIL} =I\L (35) (124)(35) 0(124) 11 0
2© minI 6=L(dIL) = d(35)(124) = 11• I due cluster (35) e (124) vengono fusi nel cluster (12345)3© STOP
23 / 34
![Page 24: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/24.jpg)
Legame completo
3 5 1 2 4
24
68
10
hclust (*, "complete")D
Dis
tanz
a
24 / 34
![Page 25: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/25.jpg)
Legame medio
2 4 1 3 5
23
45
67
8
hclust (*, "average")D
Dis
tanz
a
25 / 34
![Page 26: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/26.jpg)
Interpretazione del taglio
In termini di distanza/dissimilarità tra unità statistiche, tagliare ildendogramma ad altezza c > 0
Legame singoloper ogni ui in un cluster (non singoletto), c’è almeno un’altra unità ul
tale per cui d(ui, ul) < c
Legame completoper ogni ui in un cluster (non singoletto), tutte le altre altra unità ul
sono tali per cui d(ui, ul) < c
Legame medio-
26 / 34
![Page 27: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/27.jpg)
Inversione
Il metodo del legame singolo, completo, medio non producono undendogramma con inversioni, ovvero la distanza/dissimilarità tra clusternon decresce mai nell’iterazione successiva dell’algoritmo
esempio di inversione
27 / 34
![Page 28: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/28.jpg)
Legame singolo: chainingUna peculiarità del legame singolo è l’effetto catena (chaining)
• da un lato consente di cogliere gruppi di forma particolare, come inFigura (b)
• dall’altro rischia di legare osservazioni che non appartengono a unostesso gruppo, come in Figura (a)
28 / 34
![Page 29: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/29.jpg)
Legame completo: forme (iper)sferiche
• Il metodo del legame completo, d’altra parte, tende a individuaregruppi molto compatti al loro interno ma di forma circolare(ipersferica, in generale) quindi si rischia di perdere gruppi di formairregolare.
dati singolo completo
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●●● ●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●●
●
●●●
●
●
●
●
● ●
●●●
●
●
●
●●
●●
●
●
●
●●
● ●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●●
●
●●
●
●
●
●
●●
●
● ●
●●
●
●
●●
●
●●●●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●●
●●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●●
●
●●
●
●●
●●
●
● ●●
●
●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●●
●
●
●●
●
●
●●
●
●
●●
●●
●●
●
●
●●● ●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●● ●
●●●
●●
●
●
●●
●
●●
−0.
50.
00.
51.
01.
5
−0.
50.
00.
51.
01.
5
●●
●
●
●
●
●●●
●
●
●
●
●
●●●
●●
●
●●● ●●
●●●
●
●●●
●●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●●
●
●●●
●
●
●
●
● ●●
●●
●
●
●
●●
●●
●
●
●
●●
● ●●●
●
●●
●●
●
●● −
0.5
0.0
0.5
1.0
1.5
●●
●
●
●
●
●●●
●
●
●
●
●
●●●
●●
●
●●● ●●
●●●
●
●●●
●●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●●
●
●●●
●
●
●
●
● ●●
●●
●
●
●
●●
●●
●
●
●
●●
● ●●●
●
●●
●●
●
●●
●
●●
●●
●●
● ●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
29 / 34
![Page 30: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/30.jpg)
Esempi0.
00.
20.
40.
60.
81.
0
01
23
45
67
01
23
4
−2 −1 0 1 2 3 4
−2
−1
01
23
4
x1
x 2
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●●
●
●
●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
−2 −1 0 1 2 3 4
−2
−1
01
23
4
x1
x 2
●●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●●
●
●
●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
−2 −1 0 1 2 3 4
−2
−1
01
23
4
x1x 2
●
●
●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●●
30 / 34
![Page 31: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/31.jpg)
Esempi0.
000.
020.
040.
060.
080.
100.
120.
14
0.0
0.2
0.4
0.6
0.8
0.0
0.1
0.2
0.3
0.4
0.0 0.1 0.2 0.3 0.4 0.5 0.6
0.4
0.5
0.6
0.7
0.8
0.9
x1
x 2
●●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
● ● ●●
●
●
●
●
● ●●
●
●
●●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
0.0 0.1 0.2 0.3 0.4 0.5 0.6
0.4
0.5
0.6
0.7
0.8
0.9
x1
x 2 ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ● ●●
●
●
●
●
● ●●
●
●
●●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
0.0 0.1 0.2 0.3 0.4 0.5 0.6
0.4
0.5
0.6
0.7
0.8
0.9
x1x 2
●●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ● ●●
●
●
●
●
● ●●
●
●
●●●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
31 / 34
![Page 32: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/32.jpg)
Legame medio: non invariate rispetto atrasformazioni monotone
• Si consideri una trasformazione monotona crescente f
f(x) ≤ f(y) se x ≤ y
• Cosa succede se consideriamo f(dij) invece di dij come elementidella matrice di distanze/dissimilarità? Ad esempio se considerof(dij) = d2
ij?• I risultati con il legame medio cambiano, mentre con il legamesingolo o completo non cambiano
32 / 34
![Page 33: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/33.jpg)
Metodo del legame del centroideDistanza/dissimilarità tra due gruppi GI e GL
d(GI , GL) = d2(x̄I , x̄L)
dove
x̄Ip×1
=
1
nI
∑i:ui∈GI
xi1· · ·
1nI
∑i:ui∈GI
xip
è il vettore delle medie del gruppo GI e nI è la numerosità del gruppoGI
• Input: la matrice di dati Xn×p
(utilizzabile solo se tutte le variabilisono quantitative)
• Può produrre inversioni• Non invariate rispetto a trasformazioni monotone
33 / 34
![Page 34: Cluster Analysis: Metodi gerarchici · Algoritmo agglomerativo 1 Sipartedallapartizioneinn gruppi,ciascunosingoletto; Inizializzarek = n 2 Determinarequalecoppiadigruppisiaquella‘migliore’daunire](https://reader033.vdocuments.pub/reader033/viewer/2022042001/5e6dd06422f6e640e3737752/html5/thumbnails/34.jpg)
Legami: confronto
Trasformazioni Interpr.Legame Inversione monotone taglio PeculiaritàSingolo No Invariante Si chainingCompleto No Invariante Si forme sfericheMedio No Non invariante NoCentroide Si Non invariante No solo quantitative
34 / 34