De ontwikkeling van rank testen startte in de eerste helft van de twintigste eeuw, maar ze vormen vandaag nog steeds de belangrijkste groep van niet-parametrische testen. Aanvankelijk hadden ze hun populariteit te danken aan het feit dat ze niet-parametrisch zijn en dat ze exacte \(p\)-waarden geven op basis van de permutatienuldistributie. In tegenstelling tot de test besproken in de vorige sectie, hebben rank testen geen nood aan het numeriek opstellen van de permutatienuldistributie voor iedere nieuwe dataset. De permutatienuldistributie van rank testen hangt alleen af van de steekproefgroottes. Bovendien zal blijken dat de testen erg robust zijn tegen uitschieters (Engels: outliers) en dat ze nuttig zijn als het locatie-shift model niet opgaat.
Rank testen starten vanuit rank-getransformeerde uitkomsten.
Beschouw \(Y_1, \ldots, Y_n\). We veronderstellen voorlopig dat er geen twee gelijke observaties voorkomen (i.e. geen ties). De rank van observatie \(Y_i\) wordt dan gedefinieerd als
\[\begin{equation*} R_i=R(Y_i) = \#\{Y_j: Y_j\leq Y_i; j=1,\ldots, n\}. \end{equation*}\]De kleinste observatie krijgt dus rank 1, de tweede kleinste rank 2, enzovoort, en de grootste observatie, tenslotte, krijgt rank \(n\).
Einde Definitie
De rank transformatie wordt geïllustreerd op basis van het cholestorol voorbeeld.
chol %>%
pull(cholest)
## [1] 244 206 242 278 236 188 212 186 198 160
chol %>%
pull(cholest) %>%
rank
## [1] 9 5 8 10 7 3 6 2 4 1
Soms komen ties voor in de data, i.e. minstens twee observaties hebben dezelfde numerieke waarde. Een klein voorbeeld:
metTies <- c(403, 507, 507, 610, 651, 651, 651, 830, 900)
metTies %>% rank
## [1] 1.0 2.5 2.5 4.0 6.0 6.0 6.0 8.0 9.0
De numerieke waarde 507 komt tweemaal voor en de numerieke waarde 651 komt driemaal voor. Dit zijn voorbeelden van ties. Wanneer ties voorkomen, wordt dikwijls de definitie van midranks toegepast voor de rank-transformatie.
Beschouw \(Y_1, \ldots, Y_n\). De midrank van observatie \(Y_i\) wordt dan gedefinieerd als
\[\begin{eqnarray*} R_i &=& \frac{ \#\{Y_j: Y_j\leq Y_i\} + ( \#\{Y_j: Y_j < Y_i\} +1)}{2}. \end{eqnarray*}\]Einde Definitie
In wat volgt hebben we dikwijls de ranks van de uitkomsten nodig in de gepoolde steekproef. Bijvoorbeeld: beschouw de uitkomsten \(Y_{ij}\), \(i=1,\ldots, n_j\) en \(j=1,2\). Deze uitkomsten kunnen ook gerepresenteerd worden door \(Z_1,\ldots, Z_n\) (\(n=n_1+n_2\)), de uitkomsten uit de gepoolde steekproef.
t(chol)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## group "1" "1" "1" "1" "1" "2" "2" "2" "2" "2"
## cholest "244" "206" "242" "278" "236" "188" "212" "186" "198" "160"
z <- chol %>%
pull(cholest)
z
## [1] 244 206 242 278 236 188 212 186 198 160
rank(z)
## [1] 9 5 8 10 7 3 6 2 4 1