12.0 Datenvorverarbeitung die zweite ... - Fakultät Statistik · 12 Datenvorverarbeitung 2 12.0...
Transcript of 12.0 Datenvorverarbeitung die zweite ... - Fakultät Statistik · 12 Datenvorverarbeitung 2 12.0...
12 Datenvorverarbeitung 2
12.0 Datenvorverarbeitung die zweite
Datenvorverarbeitung 2
12 Datenvorverarbeitung 2
Behandlung fehlender Werte
Datentransformation mit Beispiel
Datentransformation zum”Anpassen“ der Daten an
vorhandene Verfahren, so dass Voraussetzungen erfullt werdenHerstellung von
”Normalverteilung“, gleicher Varianzstruktur
usw.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 409
12 Datenvorverarbeitung 2 12.1 Behandlung fehlender Werte
12.1 Behandlung fehlender Werte
Datenvorverarbeitung 2
12 Datenvorverarbeitung 212.1 Behandlung fehlender Werte
Es gibt zunachst 2-3 Prinzipien zum Umgang mit fehlendenWerten:
Weglassen der Beobachtungen mit fehlenden Werten.Aber ACHTUNG:
Fehlende Werte sind oft gerade besonders interessant, denn eskann gute Grunde geben, warum sie fehlen!Bei wenige Beobachtungen bleiben kaum noch Beobachtungenim Lerndatensatz ubrig!
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 410
12 Datenvorverarbeitung 2 12.1 Behandlung fehlender Werte
12.1 Behandlung fehlender Werte
Imputation, d.h. Ersetzen der fehlenden Werte durch andereWerte, die “plausibel” sind.
oftmals einzig sinnvolle Moglichkeitmehr dazu auf den nachsten Folien
Verfahren wahlen, das mit fehlenden Werten zurecht kommt(also fast ausschließlich Baume).
Da Baume oft relativ große Fehlklassifikationsraten haben,mochte man das aber oft nicht.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 411
12 Datenvorverarbeitung 2 12.1 Behandlung fehlender Werte
12.1 Imputation
Imputation
kategorielle Variablen:
Fuhre eine neue Klasse “fehlende Werte” ein.Ersetzen mit Hilfe von Klassifikationsverfahren:Lerne auf den vorhandenen Beobachtungen und sage fehlendeBeobachtungen voraus. Hierfur sind besonders Baume gutgeeignet, die mit weiteren fehlenden Werten zurecht kommen.Ersetze durch haufigste vorhandene Klasse (maximale a-prioriWahrscheinlichkeit).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 412
12 Datenvorverarbeitung 2 12.1 Behandlung fehlender Werte
12.1 Imputation
stetige Variablen:
Ersetzen mit Hilfe von Regressionsverfahren:Lerne auf den vorhandenen Beobachtungen und sage fehlendeBeobachtungen voraus. Hierfur sind besondersRegressionsbaume gut geeignet, die mit weiteren fehlendenWerten zurecht kommen.Ersetze Werte durch (entsprechend umnormierte) Variable mithochster Korrelation im DatensatzClustere und ersetze durch Zentrum des zugeordneten Clusters.Suche Beobachtung mit kleinstem (z.B. euklidischen) Abstandauf den vorhandenen Variablen und ersetze nicht vorhandenenWert durch Wert der nachsten Beobachtung
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 413
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Beispiel mit Datentransformation
Datenvorverarbeitung 2
12 Datenvorverarbeitung 212.2 Beispiel mit Datentransformation
Wir schauen uns nun nochmals einige Klassifikationsverfahren undKritierien an einem ausfuhrlichen Beispiel an und lernen dabei dieNutzlichkeit der Datentransformation kennen.
Beispieldatensatz
Klassifikationswerkzeuge
Vergleich von Klassifikationsverfahren
Variablenselektion
Visualisierung der Klassifikation: Partitionierung und Kriterien
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 414
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Beispieldaten
Studie mit radioaktiv markierter Medizin in Ratten.
Ionisierungsprozentsatz (IO) in 4 Klassen unterteilt:
1 (IO < −10)2 (−10 < IO < 10)4 (10 < IO < 70)6 (IO > 70)
IO muss vorhergesagt werden aus der Menge der Medizin, diesich in 19 verschiedenen Organen findet(um interpretieren zu konnen, was in den Organen furbestimmte Werte von IO passiert).
Menge der Medizin in den Organen ist normalisiert in Relationzur Menge der Medizin im Blut der jeweiligen Ratte.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 415
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Beispieldaten
Datentransformation 1:
Der im Original stetig gemessene Ionisierungsprozentsatz (IO)wurde diskretisiert (also transformiert!) in die 4 Klassen 1,2,4und 6.
Das ist z.B. dann nutzlich, wenn zu wenige Daten fur dieAnwendung stetiger Verfahren (z.B. lineare, verallgemeinertelineare oder gar nicht-lineare Modelle) vorliegen.
Insbesondere bei Heteroskedastizitat (Ungleichheit derVarianzen) und nicht-lineare Verfahren oder sehr vielenerklarenden Variablen kann es nutzlich sein, sich aufdiskretisierte Zielvariablen zu beschranken.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 416
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Klassifikationsverfahren
Wir wollen einige Klassifikationsverfahren anwenden undvergleichen. Dazu gehoren u.a.:
K-Nearest-Neighbours (KNN)
Naive Bayes (NB)
Lineare Diskriminanzanalyse (LDA)
Quadratische Diskriminanzanalyse (QDA)
Regularisierte Diskriminanzanalyse (RDA)
In R findet man alle diese Verfahren in den Paketen MASS, klaRund e1071. Wenn vorhanden, werden hier die klaRImplementierungen verwendet.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 417
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Erinnerung and RDA
RDA wurde als Generalisierung von LDA und QDA vonFriedman (1989) vorgestellt.
Voraussetzungen ahnlich zur QDA.
Kovarianzmatrizen werden mit 2 Parametern (γ, λ)manipuliert, z.B.:
(γ=0, λ=0): QDA(γ=0, λ=1): LDA
“Optimale” Parameter werden bestimmt durch Minimierungder geschatzten Fehlklassifikationsrate.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 418
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 RDA – Beispiel
# Manuell festgesetzte Parameter:
rdaobj <- rda(IO ~ ., data = phcls2,
gamma = 0.05, lambda = 0.1)
# Automatisch optimierte Parameter:
rdaobj <- rda(IO ~ ., data = phcls2)
# Vorhersage:
rdapred <- predict(rdaobj, newdata = phcls2)
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 419
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
Tabellarisierung der Vorhersagefehler pro Klasse.
Baryzentrische Plots (3- and 4-dimensional membershiprepresentation simplex).
(Uschi’s) Classification Performance Measures (ucpm)
Visualisierung der 2D Partitionen der Klassifikationsverfahren.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 420
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
Konfusionsmatrix (auch Misklassifikationsmatrix):
R> errormatrix(phcls2$IO, rdapred$class)
predicted
true 1 2 4 6 -SUM-
1 25 0 0 0 0
2 3 24 0 0 3
4 0 0 12 0 0
6 0 0 0 14 0
-SUM- 3 0 0 0 3
3 von 78 Beobachtungen wurden mit RDA fehlklassifiziert peroffensichtlicher (apparent) Fehlerrate.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 421
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
Baryzentrische Plots:
Wahrscheinlichkeitsverteilung (posterior Wahrscheinlichkeiten)uber 4 Klassen konnen z.B. in einem 3D Simplex (Tetraeder,‘baryzentrischer Plot’) dargestellt werden:
Jede Ecke gehort zu einer Klasse.
Die Wahrscheinlichkeit fur eine bestimmte Klasse istproportional zur Distanz zur gegenuberliegenden Seite.
Beispiel: quadplot(rdapred$posterior)
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 422
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
RDA posterior assignments
●
●
1246
●●●●●●●●●●●●
SVMlight posterior assignments
●
●
1246
●●●
●●●●●●●
●●
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 423
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
Baryzentrische Plots haben
großere ‘posterior’ Wahrscheinlichkeiten, wenn die Punkte aufRandern und in Ecken sind,
mehr Unsicherheit, wenn die Punkte innerhalb des Simplexliegen.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 424
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
V Man messe diese Eigenschaften ((Uschi’s) ClassificationPerformance Measures: Garczarek and Weihs, 2003) furVergleiche:
Correctness rate: 1 - Fehlklassifikationsrate
Accuracy: Distanz zur ‘wahren’ Ecke
Ability to separate: Distanz zur klassifizierten Ecke
Confidence: Mittlere ‘posterior’ Wahrscheinlichkeit (oder‘membership’ Wert) der zugewiesenen Klasse (entweder proKlasse oder im Mittel)
Garczarek, U. and Weihs, C. (2003): Standardizing the Comparison of
Partitions. Computational Statistics 18, 143–162.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 425
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
R> ucpm(rdapred$posterior, phcls2$IO)
$CR
[1] 0.9358974
$AC
[1] 0.7503627
$AS
[1] 0.7833
$CF
[1] 0.8672252
$CFvec
1 2 4 6
0.8064400 0.8062728 0.9761797 0.9999319
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 426
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Vergleich von Klassifikationen
LDA RDA SVMCR 0.94 0.94 0.73AC 0.86 0.75 0.27AS 0.93 0.78 0.31CF 0.96 0.87 0.49
CR Correctness Rate (1 - error rate)
AC ACcuracy (distance to true corner)
AS Ability to Separate (distance to classified corner)
CF ConFidence (mean membership of assigned class)
Achtung:Bisher Traindaten = Testdaten !!!Die Parameter der SVM (Kern: Radiale Basis Funktionen) wurdennicht optimiert.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 427
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Variablenselektion
Beispiel stepclass():Schrittweise Variablenselektion basierend auf (ab jetzt!)kreuzvalidierter ‘performance measure’ (z.B. Correctness Rate).
forward selection
backward selection
oder both directions (Voreinstellung, es wird mit dem leerenModell begonnen)
... funktioniert mit den gebrauchlichstenKlassifikationsmethoden.
Beispiel:
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 428
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Variablenselektion
R> scobj <- stepclass(IO ~ ., data = phcls2, method = "rda",
improvement = 0.01, gamma = 0.05, lambda = 0.1)
‘stepwise classification’, using 10-fold cross-validated
correctness rate of method rda’.
78 observations of 19 variables in 4 classes; direction: both
stop criterion: improvement less than 1 %.
correctness rate: 0.75714; in: "v8"; variables (1): v8
correctness rate: 0.87321; in: "v14"; variables (2): v8, v14
correctness rate: 0.89643; in: "v2"; variables (3): v8, v14, v2
hr min sec
0.00 0.00 51.57
R> scobj
method : rda
final model : v2, v8, v14
correctness rate = 0.8964
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 429
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Visualisierung von Partitionen
Visualisierung von Partitionen (je Klasse) des Raums mit Hilfeeiner Scatterplotmatrix.Dabei starke Vereinfachung und Anwendung des jeweiligenVerfahrens auf je nur 2 erklarende Variablen:
partimat(phcls2[ , scobj$model$name], phcls2$IO,
method = "rda", gamma = 0.05, lambda = 0.1,
plot.matrix = TRUE)
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 430
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Visualisierung von Partitionen
111222 22 222
6
66
6
6
66
222222244 44
1
1
1
6
6
6
666
6
111 111111111 1 1 111 1 1
2 22
222
22 2444 22244444
Error: 0.128
01
23
45
6
111
2222
2
2
22
666
6
66622222224
4
44
11
1
66 6
6 66
6111
111111111
11
1
1
1
1
122 2
222
222
444
222
44444
Error: 0.128
0 1 2 3 4 5 6
111222 22 222
6
6
6
6
6
66
22222224444
1 11
666
6666
111 111111111 1 1 111 1 12 22
22222 2
444222
44444
Error: 0.179
02
46
810
1.0 1.5 2.0
111
2222
2
2
22
66 6
6
666222222244
44
111
666
666
6111
111111111
11
1
1
1
1
1222
222
222
444
222
44444
Error: 0.179
0 2 4 6 8 10
1.0
1.5
2.0
111 2222222
2
6
6
6
6
6
66
222222244
441 11
666
6 666
111111111111111111122 2222
2224442224444
4
Error: 0.128
0 1 2 3 4 5 6
111222222 22
6
6 6
6
6
66
222222244
441
1
1
6
6
6
666
6
1111111111111111111
222
222
222444222 44444
Error: 0.128
01
23
45
6
0.5
1.0
1.5
2.0
0.5 1.0 1.5 2.0
v2
v8
0 2 4 6 8 10
02
46
810
v14
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 431
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Visualisierung von Partitionen
ACHTUNG!
Daten ansehen und Voraussetzungen prufen,BEVOR man weiter analysiert!
Also logarithmieren und neue Variablenselektion:
method : rda
final model : v3, v6, v14, v17
correctness rate = 0.9875
kreuzvalidierte Fehlklassifikationsrate: 1% statt 10%!
Laut Medizinern: Neu selektierte Variablen gehoren zu 4 von 6verschiedenen Variablengruppen (innerhalb der Gruppen sinddie Variablen hoch korreliert).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 432
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Visualisierung von Partitionen
111
2222 2222
6666
666
2222
222
4444
111
6666666
1111111111111111
11
1
222
222
222
444
222
44444
Error: 0.051
−2
−1
01
23
11122222222
6666666
2222
222
4444
111
666
6666
1111111111111
111
11
1
222
222
222
444
222
44444
Error: 0.051
−2 −1 0 1 2 3
1112222
22
22
6
6666
66
2222
222
4444
111
666
6666
1111111111111
111 11
1
222
222
222
444
222
4444
4
Error: 0.103
−3
−1
01
2
1112222
22 22
66 6 6666
2222
22 2
44 44
111
666
6666
1111111111 11 1
111
11
1
222
222
222
444
222
44444
Error: 0.103
−3 −1 0 1 2
1112222
22
22
6
666
6
66
222
2222
4444
111
666
6666
11111111111
11
111 11
1
222
222
222
444
222
4444
4
Error: 0.064
111
2222 22 22
66 6 6
666
2222
22 2
44 44
111
666 6666
1111111111 111111
11
1
222
222
222
444
222
44444
Error: 0.064
111
2222
2222
6666
666
2222222
4444
111
666
6666
1111111111111
111 11 1
22
2
222
222
444
222
44444
Error: 0.077
−1
01
23
−1 0 1 2 3
1112 222
2222
6666666
2222
222
44 44
111
666
6666
1111111111111
111
11
1
22 2
222
222
4 44
222
44444
Error: 0.077
−1 0 1 2 3
−1
01
23
111
2222
2222
6666
666
2222222
4444
111
666
6666
1111111111111111 11 1
22
2
222
222
444
222
44444
Error: 0.064
−2 −1 0 1 2 3
111
2 222 2222
6666
666
2222
222
44 44
111
6666666
1111111111111111
11
1
22 2
222
222
4 44
222
44444
Error: 0.064
−2
−1
01
23
111
2222
2222
66 6 6666
222222
2
4444
111
666
6666
1111
111111 11 111111 1
22
2
222
222
444
222
44444
Error: 0.09
−3 −1 0 1 2
1112 222
22
22
6
6666
66
2222
222
4444
111
666
6666
1111111111
111
111111
22 2
222
222
4 44
222
4444
4
Error: 0.09
−3
−1
01
2
−2
−1
01
23
−2 −1 0 1 2 3
v3
v6
v14
−2 0 1 2 3 4
−2
01
23
4
v17
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 433
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 NOCHMAL: Vergleich von Klassifikationen
Jetzt 10-fach kreuzvalidiert:
LDA RDA SVMCR 0.95 0.99 0.68AC 0.84 0.96 0.36AS 0.88 0.97 0.39CF 0.93 0.98 0.56
CR Correctness Rate (1 - error rate)
AC ACcuracy (distance to true corner)
AS Ability to Separate (distance to classified corner)
CF ConFidence (mean membership of assigned class)
Achtung: Die Parameter der SVM (Kern: Radiale BasisFunktionen) wurden nicht optimiert.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 434
12 Datenvorverarbeitung 2 12.2 Beispiel mit Datentransformation
12.2 Datentransformation
Datentransformation 2:
Datentransformation zum”Anpassen“ der Daten an
vorhandene Verfahren, so dass Voraussetzungen erfullt werden
Herstellung von”Normalverteilung“, gleicher Varianzstruktur
usw.
typische Transformationen sind:
x−0.5 = 1√x
, x−1 = 1x , x−2, x−3
√x , (x), x2, x3
log(x), exp(x)
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken Sommersemester 2013 435