Enlänkad klustring

Inom statistik är klustring med enkel länk en av flera metoder för hierarkisk klustring . Den är baserad på att gruppera kluster på ett bottom-up-sätt (agglomerativ kluster), vid varje steg kombinera två kluster som innehåller det närmaste paret av element som ännu inte tillhör samma kluster som varandra.

Denna metod tenderar att producera långa tunna kluster där närliggande element i samma kluster har små avstånd, men element i motsatta ändar av ett kluster kan vara mycket längre från varandra än två element i andra kluster. För vissa klasser av data kan detta leda till svårigheter att definiera klasser som med fördel kan dela upp data. Emellertid är det populärt inom astronomi för att analysera galaxhopar , som ofta kan involvera långa strängar av materia; i den här applikationen är den också känd som vänner-av-vänner-algoritmen.

Översikt över agglomerativa klustringsmetoder

I början av den agglomerativa klusterprocessen är varje element i ett eget kluster. Klustren kombineras sedan sekventiellt till större kluster, tills alla element hamnar i samma kluster. Vid varje steg kombineras de två klustren åtskilda av det kortaste avståndet. Funktionen som används för att bestämma avståndet mellan två kluster, känd som länkfunktionen , är det som skiljer de agglomerativa klustermetoderna.

I enkellänkningskluster bestäms avståndet mellan två kluster av ett enda par av element: de två element (en i varje kluster) som är närmast varandra. Det kortaste av dessa parvisa avstånd som återstår vid något steg gör att de två klustren vars element är inblandade slås samman. Metoden är också känd som närmaste granne klustring . Resultatet av klustringen kan visualiseras som ett dendrogram , som visar sekvensen i vilken kluster slogs samman och avståndet vid vilket varje sammanslagning ägde rum.

beskrivs länkfunktionen – avståndet D ( X , Y ) mellan kluster X och Y – med uttrycket

där X och Y är två valfria uppsättningar av element som betraktas som kluster, och d ( x , y ) anger avståndet mellan de två elementen x och y .

Naiv algoritm

Följande algoritm är ett agglomerativt schema som raderar rader och kolumner i en närhetsmatris när gamla kluster slås samman till nya. N närhetsmatris innehåller alla avstånd . Klustringarna tilldelas sekvensnummer och är nivån för -th klustring. Ett kluster med sekvensnummer m betecknas ( m ) och närheten mellan kluster och betecknas .

Algoritmen för enkel länkning består av följande steg:

  1. Börja med att den disjunkta klustringen har nivå och sekvensnummer .
  2. Hitta det mest lika klusterparet i den aktuella klustringen, säg par , ​​enligt där minimum är över alla par av kluster i den aktuella klustringen.
  3. Öka sekvensnumret: . Slå samman kluster och till ett enda kluster för att bilda nästa kluster m . Ställ in nivån för denna klustring till
  4. Uppdatera närhetsmatrisen, , genom att ta bort de rader och kolumner som motsvarar kluster och och lägga till en rad och kolumn som motsvarar det nybildade klustret. Närheten mellan det nya klustret, betecknat och ett gammalt kluster definieras som .
  5. Om alla objekt finns i ett kluster, stoppa. Annars, gå till steg 2.

Arbetsexempel

Detta arbetsexempel är baserat på en JC69 genetisk distansmatris beräknad från 5S ribosomala RNA- sekvensinriktningen av fem bakterier: Bacillus subtilis ( ), Bacillus stearothermophilus ( ), Lactobacillus viridescens ( ), Acholeplasma modicum ( ) och Micrococcus luteus ( ).

Första steget

  • Första klustringen

Låt oss anta att vi har fem element och följande matris av parvis avstånd mellan dem:

a b c d e
a 0 17 21 31 23
b 17 0 30 34 21
c 21 30 0 28 39
d 31 34 28 0 43
e 23 21 39 43 0

I det här exemplet är det lägsta värdet på , så vi grupperar elementen a och b .

  • Uppskattning av första grenlängd

Låt u beteckna den nod som a och b nu är anslutna till. Inställning säkerställer att elementen a och b är lika långt från u . Detta motsvarar förväntningarna på ultrametricityhypotesen . Grenarna som förenar a och b till u har då längderna ( se det sista dendrogrammet )

  • Första distansmatrisuppdateringen

Vi fortsätter sedan med att uppdatera den initiala närhetsmatrisen till en ny närhetsmatris (se nedan), reducerad i storlek med en rad och en kolumn pga. klustringen av a med b . Fetvärden i motsvarar de nya avstånden, beräknade genom att behålla minimiavståndet mellan varje element i det första klustret och var och en av återstående element:

Kursiverade värden i påverkas inte av matrisuppdateringen eftersom de motsvarar avstånden mellan element som inte är involverade i det första klustret.

Andra steg

  • Andra klustringen

Vi upprepar nu de tre tidigare åtgärderna, med start från den nya distansmatrisen :

(a,b) c d e
(a,b) 0 21 31 21
c 21 0 28 39
d 31 28 0 43
e 21 39 43 0

Här är och är de lägsta värdena för , så vi sammanfogar kluster med element c och med element e .

  • Andra grenlängdsuppskattning

Låt v beteckna den nod som c och e nu är anslutna till. På grund av ultrametricitetsbegränsningen är grenarna som förenar a eller b till v och c till v och även e till v lika stora och har följande totala längd:

Vi härleder den saknade grenlängden:

Uppdatering av andra
  • distansmatris

Vi fortsätter sedan med att uppdatera -matrisen till en ny distansmatris (se nedan), reducerad i storlek med två rader och två kolumner på grund av klustringen av med c och med e :

Sista steget

Den slutliga matrisen är:

((a,b),c,e) d
((a,b),c,e) 0 28
d 28 0

Så vi sammanfogar kluster och .

Låt beteckna (rot)noden till vilken och är nu ansluten. Grenarna som förenar och till har sedan längder:

Vi härleder den återstående grenlängden:

Enkellänkad dendrogram

Single Linkage Dendrogram 5S data

Dendrogrammet är nu klart. Det är ultrametriskt eftersom alla tips ( , , , och ) är lika långt från :

Dendrogrammet är därför rotat av dess djupaste nod.

Andra kopplingar

Den naiva algoritmen för klustring av en länk är i huvudsak densamma som Kruskals algoritm för minimumspännande träd . I enkla länkkluster är emellertid ordningen i vilken kluster bildas viktig, medan det för minsta spännande träd är det viktiga uppsättningen av punkter som bildar avstånd som väljs av algoritmen.

Alternativa kopplingsscheman inkluderar fullständig kopplingsklustring , genomsnittlig kopplingsklustring ( UPGMA och WPGMA ) och Wards metod . I den naiva algoritmen för agglomerativ klustring kan implementering av ett annat länkschema åstadkommas helt enkelt genom att använda en annan formel för att beräkna avstånd mellan kluster i algoritmen. Formeln som bör justeras har markerats med fet text i ovanstående algoritmbeskrivning. Mer effektiva algoritmer som den som beskrivs nedan generaliserar dock inte till alla länkscheman på samma sätt.

Jämförelse av dendrogram erhållna under olika klustringsmetoder från samma avståndsmatris .
Simple linkage-5S.svg
Complete linkage Dendrogram 5S data.svg
WPGMA Dendrogram 5S data.svg
UPGMA Dendrogram 5S data.svg
Enlänkad klustring Komplett kopplingsklustring Genomsnittlig kopplingsklustring: WPGMA Genomsnittlig kopplingsklustring: UPGMA

Snabbare algoritmer

Den naiva algoritmen för enkellänkningsklustring är lätt att förstå men långsam, med tidskomplexitet . 1973 föreslog R. Sibson en algoritm med tidskomplexitet och rymdkomplexitet (båda optimala) känd som SLINKA. Slinkalgoritmen representerar en klustring på en uppsättning av numrerade objekt med två funktioner. Dessa funktioner bestäms båda genom att hitta det minsta klustret som innehåller både objekt och minst ett objekt med större numrering. Den första funktionen, , mappar objekt till det största numrerade objektet i kluster . Den andra funktionen, , mappar objekt till avståndet som är associerat med skapandet av kluster . Att lagra dessa funktioner i två arrayer som mappar varje artikelnummer till dess funktionsvärde tar utrymme och denna information är tillräcklig för att bestämma själva klustringen. Som Sibson visar, när ett nytt objekt läggs till i uppsättningen av objekt, kan de uppdaterade funktionerna som representerar den nya enkellänkningsklustringen för den utökade uppsättningen, representerad på samma sätt, konstrueras från den gamla klustringen i tiden . SLINK-algoritmen går sedan över objekten, en efter en, och lägger till dem i representationen av klustringen.

En alternativ algoritm, som körs inom samma optimala tids- och rumsgränser, är baserad på ekvivalensen mellan den naiva algoritmen och Kruskals algoritm för minsta spännträd. Istället för att använda Kruskals algoritm kan man använda Prims algoritm , i en variant utan binära heaps som tar tid och mellanslag för att konstruera det minsta spännträdet (men inte klustringen) för de givna objekten och avstånden. Sedan, att tillämpa Kruskals algoritm på den glesa grafen som bildas av kanterna på det minsta spännträdet producerar själva klustringen i en extra tid och mellanslag .

Se även

externa länkar