Diskriminační analýza
Tibetské lebky Následující data byla shromážděna plukovníkem L.A. Waddellem v severovýchodním a východním Tibetu. Podle Moranta (1923) se data sestávají z lebek dvou skupin: – Typ 1 – lebky 1-17 nalezené ve hrobě v Sikkimu a okolí –Typ 2 – lebky nalezené na bitevním poli v oblasti Lhasa, o kterých se předpokládá, že náleží původním válečníkům z východní provincie Khans. Tyto lebky jsou hlavním objektem výzkumu, neboť existuje doměnka, že původní Tibeťané z provincie Khans mohly být potomky zvláštního lidského druhu, který nebyl příbuzný s Mongoly ani Indy, kteří jej obklopovali.
Tibetské lebky Délka lebky Šířka lebky Výška lebky Výška čela Lícní šířka Typ lebky … Pozn.:Údaje jsou měřeny v milimetrech
Hotellingův T 2 test Je mnohorozměrnou obdobou dvouvýběrového Studentova t-testu Testujeme hypotézu, že oba výběry pocházejí z téže populace, proti alternativě, že výběry pocházejí z různých populací (populací s různými vektory středních hodnot pro dané statistické znaky) V našem případě budeme testovat hypotézu, že pětirozměrný vektor středních hodnot je stejný v obou populacích, ze kterých výběrové soubory lebek pocházejí.
Výpočet v programu R attach(Tibet) p <- 5 X1 <- Tibet[Type==1,-6] X2 <- Tibet[Type==2,-6] a1 <- apply(X1, 2, mean) a2 <- apply(X2, 2, mean) n1 <- length(Type[Type==1]) n2 <- length(Type[Type==2]) S <- ((n1-1)*var(X1)+(n2-1)*var(X2)) / (n1+n2-2) T2 <- t(a1-a2) %*% solve(S) %*% (a1-a2) * ((n1*n2)/(n1+n2)) Fstat <- (n1+n2-p-1)*T2 / (p*(n1+n2-2)) Pvalue<- 1-pf(Fstat, p, n1+n2-p-1)
Cíl diskriminační analýzy Předpokládejme, že objevíme další lebku, jejíž původ je neznámý, tj. nevíme, je-li tato lebka typu 1 nebo 2. Cílem diskriminační analýzy je zkonstruovat diskriminační (určující) pravidlo na základě původního souboru dat, u nichž je klasifikace (tj. příslušný typ lebky) znám. Pomocí tohoto pravidla poté rozhodneme, jakého typu je nalezená lebka neznámého původu.
Fischerova lineární diskriminační funkce v R X1 <- Tibet[Type==1,-6] X2 <- Tibet[Type==2,-6] a1 <- apply(X1, 2, mean) a2 <- apply(X2, 2, mean) n1 <- length(Type[Type==1]) n2 <- length(Type[Type==2]) S <- ((n1-1)*var(X1)+(n2-1)*var(X2)) / (n1+n2-2) v <- solve(S) %*% (a1-a2) z <- (t(v) %*% a1 + t(v) %*% a2) / 2
Klasifikační pravidlo Vektor koeficientů diskriminační funkce : a' = [– 0.031, 0.122, – 0.045, – 0.235, – 0.136] Hraniční hodnota (treshold value) z = – Objekt zařadíme do I. skupiny, je-li – × (délka lebky) × (šířka lebky) – × (výška lebky) – × (výška čela) – × (lícní šířka) > – jinak objekt zařadíme do II. skupiny
Ukázka klasifikace dvou neznámých lebek v R lebka1 <- c(171.0, 140.5, 127.0, 69.5, 137.0) t(v) %*% lebka1 lebka2 <- c(179.0, 132.0, 140.0, 72.0, 138.5) t(v) %*% lebka2