Análisis de datos estadísticamente robusto: prueba de Mann-Whitney-Wilcoxon y funciones de puntuación

Este artículo se basa en las ideas y amplía los métodos descritos en la publicación anterior Análisis de datos estadísticamente robusto: la prueba de Wilcoxon para dos muestras. Este es un modelo simple pero ampliamente utilizado, ya que incluso en situaciones más complejas, los objetivos a menudo se comparan en dos niveles.





El análisis del modelo sobre el cambio de los parámetros de la posición de dos poblaciones generales comienza con una descripción del procedimiento de rango de Mann-Whitney-Wilcoxon (MWW) sin distribución, aquí las estimaciones de puntos e intervalos para la magnitud del cambio son construido. Además, se describe brevemente el método de análisis basado en el uso de funciones de puntuación y, con su ayuda, también se prueba la hipótesis nula sobre la magnitud del parámetro de desplazamiento. En conclusión, el modelo para el parámetro de posición se formula como un problema de regresión, cuya solución también permite construir estimaciones de puntos e intervalos para el parámetro de desplazamiento.





Todos los métodos descritos en el artículo se ilustran con un ejemplo de extremo a extremo implementado en forma de algoritmos en el lenguaje R.





1. Sean Xy Ydos variables aleatorias continuas: F (t)y f (t)denoten la función (cdf) y la densidad (pdf) de la distribución de la variable aleatoria X, y G (t)y g (t)denoten la función (cdf) y la densidad (pdf) de la variable aleatoria, respectivamente Y. Decimos eso Xy Yseguimos el modelo del parámetro de posición (modelo de ubicación), si para algún parámetro \ Delta, - \ infty <\ Delta <\ inftytenemos





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

Un parámetro \ Deltaes un cambio en el parámetro de posición de variables aleatorias Yy X, por ejemplo, puede ser la diferencia entre medianas o promedios (si existen promedios). Nótese que el modelo propuesto asume la igualdad de los parámetros de la escala de variables aleatorias Xy Y.





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





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

.





( ) , \ Delta: .





3. , . – . , , . norte norte. .





> 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 = \ sum_ {i = 1} ^ {n_2} R (Y_i)

T -- (Mann-Whitney-Wilcoxon, MWW). n_1 \ cdot n_2 \ left \ {Y_j-X_i \ right \} 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 Y1 / 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], \ izquierda (D _ {(c + 1)}, D _ {(N_d-c)} \ derecha)(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- ccinco \ 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, XY , , 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 : cinco\% diez\%.





8. C . \ bar {Z} = (X_1, \ ldots, X_ {n_1}, Y_1, \ ldots, Y_ {n_2}) ^ T,\ bar {c}n \ times1 I- 01 \ leq i \ leq n_1unon_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