HK07 – Les 8 Microarrays: clustering en classificatie
Yves Moreau
3de jr. Burg. Ir. Elektrotechniek
Dataverwerking & Automatisatie
2001-2002
2
Overzicht
Significantietesten
Clustering
Hierarchische clustering
K-means
Self-Organizing Maps
Classificatie
1. Verzameling staal
2. Extractie mRNA
3. Labeling
4. Hybridisatie
5. Scanning
6. Visualisatie
4
cDNA microarrays
Rood: hoog in test, laag in referentie
Groen: laag in test, hoog in referentie
Geel: hoog in test, hoog in referentie
Zwart: laag in test, laag in referentie
5
Microroostergegevens
6
Analyse van genuitdrukkingsgegevens
7
Analyse van uitdrukkingsgegevens
Analyse van enkelvoudige genen
Identificeer genen die overuitgedrukt of onderuitgedrukt in test vs. referentie
conditie-specifieke genen
Analyse van meervoudige genen
Clusteranalyse van genuitdrukkingsprofielen
Verdeel stalen of genen in homogenen groepen die ver van elkaar staan
8
Analyse van enkelvoudige genen
Welke gene zijn upgereguleerd of downgereguleerd?
VIB-MAF: muismicroroosters, duplicate spots op dezelfde slide
Frequentiedistributie: ratio van linker spot over ratio van rechter spot voor elk gen
Gemiddelde m = 1 zoals verwacht
Variatie rond m minder dan drievoudig
Minder dan drievoudige differentiele uitdrukking is niet noodzakkelijk
statistisch significant
9
Significantietest: fold change
Vaak worden genen als significant beschouwd als hun over- of onderuitdrukking boven een bepaald threshold komt (typisch 2x)
Problemen
Variantie is veel hoger voor lage uitdrukkingsniveaus dan voor hoge uitdrukkingsniveaus
Tweevoudige verandering is te liberaal voor lage uitdrukking
Tweevoudige verandering is te conservatief voor hoge uitdrukking
Gelijkaardig probleem voor genen die af staan in één kanaal
10
Significantietest: t-test
Twee groepen t en c
Herhalingen van vergelijkende experiment
e.g., goedaardige vs. kwaadaardige tumoren
Gegevens normaal verdeeld
Absolute uitdrukking is niet normaal verdeeld
R/G, logR/logG, logR/G ongeveer normaal verdeeld
t-test (Student distributie)
Empirische gemiddelde m
Schatting van standaard deviatie s
Aantal experimenten n
Aantal herhalingen vaak te laag (s te onnauwkeurig)
cc t
t
c t
n s n
s
m t m
2 2
11
Significantietest: Bayesiaanse t-test
Genuitdrukking voor gen i op herhaling k is normaal verdeeld
Parameters van de normaal verdeling zijn zelf random variabelen (hierarchisch model)
) ,
; (
)
( g
iktN g
ikt it itP
gamma inverse
Scaled
) ,
; (
) (
) /
,
; ( )
| (
) (
)
| ( )
, (
2 0 0
2 2
0 2
0 2
2 2
2
I P
N P
P P
P
12
Significantie test: Bayesiaanse t-test
Berekening van de distributie van de posterior voor de gemiddelde en de standaard deviatie
Priors
0 prior gemiddelde
0 gewichtsfactor (“pseudocount”) voor prior gemiddelde
0 prior standaard deviatie
0 gewichtsfactor voor prior standaard deviatie
Voor t-test is vooral de verbetering van de standaard deviatie van belang
0 = m
13
Significantie test: Bayesiaanse t-test
Posterior gemiddelde schatting van gemiddelde en standaard deviatie
Effect is gelijkaardig met gebruik van
0pseudogegevens met standaard deviatie
0
Geregulariseerde schattingen worden dan gebruikt in t- test
Weinig verschil met t-test indien meer dan 5 herhalingen 2
) 1 (
0
2 2
0 2 0
n
s s n
m m
p p
14
Gegevensexploratie
Preprocessing
Functionele exploratie Pathways
Clustering
Geintegreerde analyse- omgeving
16
Functionele klassen uit Gene Ontology
Clustering
Hierarchische
K-means, K-medoids
18
Clustering
19
Identificatie van frequente uitdrukkingspatronen (clusters)
20
Doel van clustering
Microroostergegevens
Vorm coherenten groepen van
Genen
Patientstalen (bvb., tumoren)
Drug- of toxine-effecten
Bestudeer deze groepen om inzicht te krijgen in de biologische processen
Genen in de zelfde cluster kunnen de zelfde functie hebben
Functie van onbekende genen kan ontdekt worden
Patienten in de zelfde cluster kunnen clinisch gerelateerd zijn
Verfijning van therapeutische categorieën
21
original coordinate system original coordinate system
new coordinate system
Principale componentanalyse
PCA detecteert de richtingen die de meeste
variantie van de gegevens verklaren
22
Principale componentanalyse
Principale componenten zijn de eigenvectoren U
ivan de covariantiematrix :
Reductie tot M dimensie: projectie van
gegevensvectoren op de M eigenvectoren met de M grootste eigenwaarden minimaal verlies aan
informatie
n
Tn
n
μ x μ
x
Σ
23
5
2 4
1 3
Hierarchische clustering
3
1
4 2
5
Afstand tussen verbonden clusters
Dendrogram
24
Hierarchische clustering
Opbouw van een genboom gebaseerd op correlatiematrix
25
Afstandsmaten
Om hierarchisch te clusteren, moeten afstandmaten gedefinieerd worden
1. Similariteitsmaat tussen twee objecten (genen of experimenten)
Gecentreerde correlatie
Niet-gecentreerde correlatie
Absolute correlatie
Euclidisch afstand
2. Afstandsmaat tussen clusters
Enkelvoudige Linkage: afstand tussen punten van dichtstbijzijnde paar
Volledige Linkage: afstand tussen punten van verste paar
Gemiddelde Linkage: gemiddelde afstand tussen punten van alle paren
Centroïdemethode: afstand tussen zwaartepunten van de groepen
Methode van Ward
26
Afstand tussen punten
Pearson correlatie
Indien er waarden ontbreken, wordt de correlatie berekend enkel voor de dimensies waar beide vectoren een waarde hebben
Een afstand kan bekomen worden als d = 1 – |s| of d = (1 – s)/2
Niet-gecentreerde correlatie
n
i
i n
i
i n i
i i
y y
x x
y y x x y
x s
1
2 1
2 1
) (
) (
) )(
( )
, (
n
i i n
i i n i
i i
y x
y x y
x s
1 2 1
2
) 1
, (
Spearman rankcorrelatie
n n
y x
y x r
n i
i i
3 1
2 2
)) ( rank )
( (rank 6
1
)
,
(
27
Afstand tussen punten
Euclidische afstand
Manhattan afstand
l
p-norm
Mahalanobis afstand
ni
i
i
y
x y
x d
1
)
2( )
, (
ni
i
i
y
x y
x d
1
|
| )
, (
n p
i
p i
i
y
x y
x d
/ 1
1
) (
) ,
(
) (
) (
) ,
( x y x y W x y
d
T
28
Afstand tussen clusters
Enkelvoudige linkage
Volledige linkage
Methode van Ward ) , ( min )
,
( R S
,d i j
d
i j) , ( max )
,
( R S
,d i j
d
i j
Gemiddelde linkage
Centroïdemethode
i j
j i S d
S R R
d ( , )
|
||
| ) 1 , (
2
( R , S ) x
Ry
S 2d
2 2
|
|
|
|
|
||
| ) 2
,
( x
Ry
SS R
S S R
R
d
29
Algoritme
Initialisatie
Iedere punt i vormt een cluster Ci
Bereken de matrix van alle paargewijse afstanden tussen alle punten
Iteratie
Pak het paar (i,j) waarvoor d(Ci,Cj ) minimaal is
Verbind Ci en Cj met een tak van lengte d(Ci,Cj )
Definieer een nieuwe cluster Ck als de unie van Ci en Cj
Bereken de afstand tussen Ck en alle andere clusters
De afstanden kunnen incrementeel berekend worden
Eind
Stop wanneer er maar één cluster overblijft
30
Clustervorm
Gemiddelde linkage en centroïdemethoden
Enkelvoudige linkage
Volledige linkage
31
Hierarchische clustering
Hierarchische clustering
De clusteringboom geeft een idee van de afstand tussen de verschillende punten (ultrametrische afstand)
De bladeren van de boom zijn willekeurig geordend
Iedere tak kan omgedraaid worden
Nabijheid in de “heatmap” kan misleidend zijn
De verschillende variaties (afstand, linkage) geven soms
uiteenlopende resultaten (keuze tussen die variaties is moeilijk)
De meeste implementatie hebben geheugenproblemen omdat er een O(N2) afstandsmatrix berekend moet worden
Hierarchische clustering produceert geen clusters
Clusters kunnen bekomen worden door te knippen op een maximale afstand
Keuze van de drempel is moeilijk
Clusters kunnen ook handmatig geplukt worden
32
K-means
Initialisatie
Kies het aantal clusters K en start met willekeurige posities voor K centra
Iteratie
Ken punten toe tot
het dichtsbijzijnde centrum
Beweeg ieder centrum tot het zwaartepunt van de hieraan toegekende punten
Einde
Stop na dat de centra geconvergeerd zijn
Initialisatie
33
Iteratie 1
K-means
Initialisatie
Kies het aantal clusters K en start met willekeurige posities voor K centra
Iteratie
Ken punten toe tot
het dichtsbijzijnde centrum
Beweeg ieder centrum tot het zwaartepunt van de hieraan toegekende punten
Einde
Stop na dat de centra geconvergeerd zijn
34
Iteratie 1
K-means
Initialisatie
Kies het aantal clusters K en start met willekeurige posities voor K centra
Iteratie
Ken punten toe tot
het dichtsbijzijnde centrum
Beweeg ieder centrum tot het zwaartepunt van de hieraan toegekende punten
Einde
Stop na dat de centra geconvergeerd zijn
35
Iteratie 3
K-means
Initialisatie
Kies het aantal clusters K en start met willekeurige posities voor K centra
Iteratie
Ken punten toe tot
het dichtsbijzijnde centrum
Beweeg ieder centrum tot het zwaartepunt van de hieraan toegekende punten
Einde
Stop na dat de centra geconvergeerd zijn
36
Batch vs. online
K-means minimaliseert de totale quantisatiefout
In de ‘batch’ versie van K-means worden alle punten eerst toegekend en dan worden alle centra geupdated
In de ‘online’ versie van K-means wordt het toegekende centrum geupdated na iedere punt
De ‘online’ versie is vaak minder gevoelig aan lokale minima in optimalisatie van de quantisatiefout
Ni
i i
K
x C x
E
1
2
2
( ( ))
37
Evaluatie van clusteringpartities
Evaluatie van de kwaliteit van een clustering is essentieel om verschillende runs en methoden te kunnen vergelijken
Silhouetcoefficienten
Ieder punt i krijgt een score s(i) van hoe goed het bij zijn cluster C(i) hoort
Voor C(i) bereken
a(i) = gemiddelde afstand van i tot de punten van C(i) behalve i
Voor alle andere clusters Ck C(i), bereken
d(i, Ck) = gemiddelde afstand van i tot de punten van Ck C(i)
Selecteer de naburige cluster
b(i) = mink d(i, Ck)
38
Silhouet van punt i
Gemiddelde silhouet voor de data set
Maat voor de clusteringkwaliteit
Gemiddelde silhouet kan gebruikt worden om het aantal clusters te optimalizeren
Silhouetcoefficient
Silhouetcoefficient is een maat voor de structuur die gedetecteerd kan worden in de data
1 ) ( 1
)) , ( ), ( max(
) ( )
) (
( s i
i b i a
i a i
i b s
s
)
(
max k s
SC
k39
K-means
Het kiezen van het aantal clusters is een groot probleem voor de clustering van microroostergegevens
Het algoritme kan geblokkeerd geraken in een lokaal minimum
Twee verschillende runs produceren verschillende
resultaten
40
Self-organizing maps
Initialisatie
Kies een roostertopologie (b.v.b, 3 x 2 rechthoekig rooster)
Knopen van het rooster liggen in m-dimensionale ruimte
Iteratie (20.000 – 50.000)
Een datapunt p wordt willekeurig gekozen en de knopen worden verplaatst in de richting van p
Dichtstbijzinde knoop Np wordt het meest verplaatst
Andere knopen worden in mindere maat verplaatst in functie van hun afstand tot Np in de roostertopologie
Einde
Stop als clustercentra niet meer bewegen
Knopen = cluster centra
Roostertopologie geeft naburige clusters
41
Self-organizing maps
Visualisatie: genuitdrukkingsprofielen per cluster samen met roostertopologie
SOM probeert een 2D-oppervlakte te fitten op de hoog-dimensionale gegevens
Indien deze verondersteling niet geldt is de SOM
niet betrouwbaar voor clustering
Keuze van het aantal knopen moeilijk
SOM goed voor visualisatie
42
Classificatie
43
Classificatie
Classificatie van microroostergegevens is interessant omdat het het pad opent voor nieuwe diagnostica- en
“disease management” toepassingen
Voorspelling van de therapeutische response van een tumor op chemoterapie
Classificatie kan ook gebruikt worden om de functionele klasse van een gen te voorspellen op basis van het
profiel in een brede reeks microroosterexperimenten
44
Classificatie
Kenmerkselectie
Dimensionaliteitsreductie
Classificatie
Discriminantanalyse
Nearest-neighbor classificatie
Neurale netwerken
Support Vector Machines
45
Voorbeeld: onderscheiding van twee vormen van leukemie
Leukemie dataset:
Twee klassen: Acute Lymphoblastische Leukemie (klasse 1) and Acute Myeloide Leukemie (klasse 2)
Trainingset met 38 voorbeelden (27 ALL en 11 AML)
Onafhankelijke testset met 34 voorbeelden
~7000 geneuitdrukkingsniveaus voor iedere staal
= 7000 x 38 matrix voor trainingset
Herschalering, logarithmic transformatie, en normalizatie
46
Kenmerkselectie (één-dimensionaal)
Correlatiecoefficient:
|P(g,c)| is een maat voor de correlatie tussen
uitdrukkingsniveaus van een gen g en het klasseverschil c
Selecteer kenmerken
Welke genen?
Genen met meest positieve en meest negatieve |P(g,c)|
Hoeveel genen?
Significantie-analyse
) , ( )
, (
) , ( )
, ) (
, (
2 1
2 1
c g c
g
c g c
c g g
P
47
Dimensionaliteitsreductie met PCA
Principale componenten zijn de eigenvectoren U
ivan de covariantiematrix :
Reductie tot M dimensie: projectie van
gegevensvectoren op de M eigenvectoren met de M grootste eigenwaarden minimaal verlies aan
informatie
n
Tn
n
μ x μ
x
Σ
48
PCA in 2 dimensies
-20 -15 -10 -5 0 5 10 15 20 25
-20 -15 -10 -5 0 5 10 15
* = training O = independent
Class 1/ALL Class 2/AML
49
Fisher Lineaire Discriminantanalyse
Reductie tot één dimensie
De vector w wordt gekozen zodat
De intraklassespreiding klein is
De klassescheiding (verschil tussen klassegemiddelde) in één dimensie groot is
De vector w wordt gegeven door waar
x w y
T
2 1
1
μ μ
S
w
w
T
nC n
n T n
C n
n
μ x μ x μ x μ x
wS
2
2 1
2 1 1
50
Fisher Lineaire Discriminantanalyse
Drempel w
o:
y > wo Klasse 1
y > wo Klasse 2
Lineaire Discriminantanalyse na PCA in 5 dimensies geeft maar 2 misclassificaties op de testset
(34 voorbeelden)
μ
w
w
o
T51
Resultaat (2 dimensies)
-15 -10 -5 0 5 10 15 20
-10 -5 0 5 10 15
O = independent
Class 1/ALL Class 2/AML
52
Logistische regressie
Number of
inputs % ROC area
training % ROC area prospective
15 1 98.93
10 1 98.93
5 1 97.57
3 1 97.10
2 1 98.21
53
Neuraal netwerk
Single-hidden-layer perceptron
Preprocessing + PCA tot n dimensies
n inputs
5 verborgen neuronen
Met regularisatie
54
Neural network (5 verborgen neuronen)
Number of
inputs % ROC area
training % ROC area prospective
15 1 99.29
10 1 98.39
5 1 97.15
3 1 96.10
2 1 98.21
55
Samenvatting
Significantietesten
Clustering
Hierarchische clustering
K-means
Self-Organizing Maps