Análise de dados estatisticamente robusta: teste de Mann-Whitney-Wilcoxon e funções de pontuação

Este artigo baseia-se nas ideias e estende os métodos descritos na publicação anterior Análise de dados estatisticamente robusta: o teste de Wilcoxon para duas amostras. Este é um modelo simples, mas amplamente utilizado, pois mesmo em situações mais complexas, os alvos são frequentemente comparados em dois níveis.





A análise do modelo sobre a mudança dos parâmetros da posição de duas populações gerais começa com uma descrição do procedimento de classificação de Mann-Whitney-Wilcoxon (MWW) livre de distribuição, aqui as estimativas de ponto e intervalo para a magnitude da mudança são construído. Além disso, o método de análise baseado no uso de funções de pontuação é descrito resumidamente e, com seu auxílio, a hipótese nula sobre a magnitude do parâmetro de deslocamento também é testada. Em conclusão, o modelo para o parâmetro de posição é formulado como um problema de regressão, cuja solução também permite construir estimativas de ponto e intervalo para o parâmetro de deslocamento.





Todos os métodos descritos no artigo são ilustrados com um exemplo ponta a ponta implementado na forma de algoritmos na linguagem R.





1. Sejam Xe Yduas variáveis ​​aleatórias contínuas: F (t)e f (t)denotam a função (cdf) e a densidade (pdf) da distribuição da variável aleatória X, e G (t)e g (t)denotam a função (cdf) e a densidade (pdf) da variável aleatória, respectivamente Y. Dizemos isso Xe Yseguimos o modelo do parâmetro de posição (modelo de localização), se para algum parâmetro \ Delta, - \ infty <\ Delta <\ inftytemos





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

Um parâmetro \ Deltaé uma mudança no parâmetro de posição de variáveis ​​aleatórias Ye X, por exemplo, pode ser a diferença entre medianas ou médias (se houver médias). Observe que o modelo proposto pressupõe igualdade dos parâmetros da escala de variáveis ​​aleatórias Xe 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. , . – . , , . 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 = \ 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], \ left (D _ {(c + 1)}, D _ {(N_d-c)} \ right)(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\% dez\%.





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