Analyse de données statistiquement robuste: test de Mann-Whitney-Wilcoxon et fonctions de score

Cet article s'appuie sur les idées et étend les méthodes décrites dans la publication précédente Analyse des données statistiquement robustes: le test de Wilcoxon pour deux échantillons. Il s'agit d'un modèle simple mais largement utilisé, car même dans des situations plus complexes, les objectifs sont souvent comparés à deux niveaux.





L'analyse du modèle sur le décalage des paramètres de la position de deux populations générales commence par une description de la procédure de classement de Mann-Whitney-Wilcoxon (MWW) sans distribution, ici les estimations ponctuelles et d'intervalle pour l'ampleur du décalage sont construit. En outre, la méthode d'analyse basée sur l'utilisation de fonctions de score est brièvement décrite et, avec son aide, l'hypothèse nulle sur l'ampleur du paramètre de décalage est également testée. En conclusion, le modèle du paramètre de position est formulé comme un problème de régression, dont la solution permet également de construire des estimations ponctuelles et d'intervalle pour le paramètre de décalage.





Toutes les méthodes décrites dans l'article sont illustrées par un exemple de bout en bout implémenté sous forme d'algorithmes en langage R.





1. Soit Xet Ouisoit deux variables aléatoires continues: F (t)et f (t)désignons la fonction (cdf) et la densité (pdf) de la distribution de la variable aléatoire X, et G (t)et g (t)désignons la fonction (cdf) et la densité (pdf) de la variable aléatoire, respectivement Oui. Nous disons cela Xet Ouisuivons le modèle du paramètre de position (modèle de localisation), si pour un paramètre \ Delta, nous - \ infty <\ Delta <\ inftyavons





G (t) = F (t- \ Delta), ~~~~ g (t) = f (t- \ Delta).

Un paramètre \ Deltaest un décalage du paramètre de position de variables aléatoires Ouiet X, par exemple, il peut s'agir de la différence entre des médianes ou des moyennes (si des moyennes existent). Notez que le modèle proposé suppose l'égalité des paramètres de l'échelle des variables aléatoires Xet Oui.





2. , . X_1, \ ldots, X_ {n_1}– X( cdf pdfF (t)f (t)), Y_1, \ ldots, Y_ {n_2}– Oui( cdf pdfF (t- \ Delta)f (t- \ Delta)). n = n_1 + n_2– X_1, \ ldots, X_ {n_1}, Y_1, \ ldots, Y_ {n_2}.





H_0: \ Delta = 0, ~~~ H_a: \ Delta \ neq0.

.





( ) , \ Delta: .





3. , . – . , , . n n. .





> z <- c(12, 18, 11, 5, 11, 5, 11, 11)
> rank(z)

[1] 7.0 8.0 4.5 1.5 4.5 1.5 4.5 4.5
      
      



R (Y_i) Y_i , X_1, \ ldots, X_ {n_1}, Y_1, \ ldots, Y_ {n_2}.





T = \ somme_ {i = 1} ^ {n_2} R (Y_i)

T -- (Mann-Whitney-Wilcoxon, MWW). n_1 \ cdot n_2 \ gauche \ {Y_j-X_i \ droite \} T ^ +– ,





T ^ + = \ #_ {i, j} \ {Y_j-X_i> 0 \}.

,





T ^ + = T- \ frac {n_2 (n_2 + 1)} {2}.

, H_0 T. H_0: \ Delta = 0 , (, , n_2 Oui1 / C_n ^ {n_2}). , T H_0 () p-value T( ).





4. \ Delta -- , N_d = n_1 \ cdot n_2 ( - (Hodges-Lehmann))





\ hat {\ Delta} _W = \ mbox {med} _ {i, j} \ {Y_j-X_i \}.

D _ {(1)} <D _ {(2)} <\ cdots <D _ {(N_d)} . 1- \ alphac– \ alpha / 2T ^ +, \ alpha / 2 = P_ {H_0} [T ^ + \ leq c], \ gauche (D _ {(c + 1)}, D _ {(N_d-c)} \ droite)(1- \ alpha) 100 \% \ Delta. c





c = \ frac {n_1n_2-1} {2} -z _ {\ alpha / 2} \ sqrt {\ frac {n_1n_2 (n + 1)} {12},}

.





5. -- t- ccinq \ Delta = 8.





> x <- round(rt(11, 5) * 10 + 42, 1)
> y <- round(rt(9, 5) * 10 + 50, 1)
> x
 [1] 76.6 41.0 59.3 34.9 29.1 45.0 42.6 31.1 32.4 52.5 47.9
> y
 [1] 58.3 47.2 40.1 45.8 62.0 58.7 64.8 48.1 49.5

> wilcox.test(y, x, exact = TRUE, conf.int = TRUE, conf.level = 0.95)

	Wilcoxon rank sum exact test

data:  y and x
W = 72, p-value = 0.09518
alternative hypothesis: true location shift is not equal to 0
95 percent confidence interval:
 -1.0 18.4
sample estimates:
difference in location 
                  10.4
      
      



:T ^ + = 72 p-value0,09518 (-1,18,4) \ Delta = 8, \ hat {\ Delta} _W = 10,4, 95 \%. p-value T ^ + (n <50) «». exact = FALSE



correct = FALSE



( ) , . p-value 0,08738.





> wilcox.test(y, x, exact = FALSE, correct = FALSE)

	Wilcoxon rank sum test

data:  y and x
W = 72, p-value = 0.08738
alternative hypothesis: true location shift is not equal to 0
      
      



6. a_ \ varphi (i) = \ varphi (i / (n + 1)), \ varphi (u)(score ) (0,1)





\ int_0 ^ 1 \ varphi (u) du = 0, ~~~ \ int_0 ^ 1 \ varphi ^ 2 (u) du = 1.

,\ varphi_ {Ns} (u) = \ Phi ^ {- 1} (u), \ Phi ^ {- 1} (u)– , cdf N (0,1). a_ {Ns} \ varphi_ {Ns}(Normal score function) , , . , normal score rankit, standard score z-score. normal score, score , \ varphi_W (u) = \ sqrt {12} [u- (1/2)] score .





\ Delta:





S_ \ varphi (\ Delta) = \ sum_ {j = 1} ^ {n_2} a \ varphi [R (Y_j- \ Delta)],

a_ \ varphi– score ,R (Y_j- \ Delta)– Y_j- \ DeltaX_1, \ ldots, X_ {n_1} Y_1- \ Delta, \ ldots, Y_ {n_2} - \ Delta. , S_ \ varphi = S_ \ varphi (0) :





H_0: \ Delta = 0, ~~~ H_a: \ Delta> 0.

H_0, XOui , , S_ \ varphi () .





S_ \ varphi , . H_0S_ \ varphi (0) , :





E_ {H_0} [S \ varphi (0)] = 0, ~~~ \ sigma ^ 2_ \ varphi = Var_ {H_0} [S_ \ varphi (0)] = \ frac {n_1n_2} {n (n-1) } \ sum_ {i = 1} ^ na_ \ varphi ^ 2 (i).

z_ \ varphi = S_ \ varphi (0) / \ sigma_ \ varphi H_0 \ alpha, z_ \ varphi \ geq z_ \ alpha, z_ \ alpha– (1- \ alpha) . .





7. R z_ \ varphi p-value score ( Rfit



).





> x <- c(76.6, 41.0, 59.3, 34.9, 29.1, 45.0, 42.6, 31.1, 32.4, 52.5, 47.9)
> y <- c(58.3, 47.2, 40.1, 45.8, 62.0, 58.7, 64.8, 48.1, 49.5)
> #   x  y
>   z = c(x, y)
>   n1 = length(x)
>   n2 = length(y)
>   n = n1 + n2

> #    score   
>   scores = Rfit::wscores 

> #   score     z 
>   rs = rank(z)/(n + 1)
>   asg = Rfit::getScores(scores, rs)

> #    Sphi     
>   Sphi = sum(asg[(n1 + 1):n])

> #   Sphi
>   asc = Rfit::getScores(scores, 1:n/(n + 1))
>   varphi = ((n1 * n2)/(n * (n - 1))) * sum(asc^2)

> #   zphi  p-value 
>   zphi = Sphi/sqrt(varphi)
>   alternative = "two.sided"
>   pvalue <-
+     switch(
+     alternative,
+     two.sided = 2 * (1 - pnorm(abs(zphi))),
+     less = pnorm(zphi),
+     greater = 1 - pnorm(zphi)
+   )

> #  
>   res <- list(Sphi = Sphi, statistic = zphi, p.value = pvalue)
>   with(res, cat("statistic = ", statistic, ", p-value = ", p.value, "\n"))

statistic =  1.709409 , p-value =  0.08737528
      
      



, T ^ + = 72 p-value 0,0952 z_W = 1,71 p-value0,0874 : cinq\% Dix\%.





8. C . \ bar {Z} = (X_1, \ ldots, X_ {n_1}, Y_1, \ ldots, Y_ {n_2}) ^ T,\ bar {c}– n \ times1 je- 01 \ leq i \ leq n_1unen_1 + 1 \ leq i \ leq n = n_1 + n_2.





Z_i = \ alpha + c_i \ Delta + e_i,

e_1, \ ldots, e_n– , f (t). , \ Delta. - \ Delta \ bar {Y} - \ bar {X}. , score , \ Delta - – .





R .





> z = c(x, y)
> ci <- c(rep(0, n1), rep(1, n2))
> fit <- Rfit::rfit(z ~ ci, scores = Rfit::wscores)
> coef(summary(fit))

            Estimate Std. Error  t.value      p.value
(Intercept)     41.8   4.400895 9.498068 1.960951e-08
ci              10.4   5.720594 1.817993 8.574801e-02
      
      



, 10,4 5,72. , , , 95 \% \ Delta, 1-0.05 / 2 t- n-2 :





> conf.level <- 0.95
> estse <- coef(summary(fit))[2, 1:2]
> alpha <- 1 - conf.level
> alternative = "two.sided"
> tcvs <- switch(
+   alternative,
+   two.sided = qt(1 - alpha / 2, n - 2) * c(-1, 1),
+   less = c(-Inf, qt(1 - alpha, n - 2)),
+   greater = c(qt(alpha, n - 2), Inf)
+ )
> conf.int <- estse[1] + tcvs * estse[2]
> cat(100 * conf.level, " percent confidence interval:\n", conf.int)

95  percent confidence interval:
 -1.618522 22.41852 
      
      



(-1,62,22,42) (-1,18,4), .





( -- score ) . .








All Articles