Dieser Artikel baut auf den Ideen auf und erweitert die in der vorherigen Veröffentlichung beschriebenen Methoden. Statistisch robuste Datenanalyse: Der Wilcoxon-Test fĂŒr zwei Proben. Dies ist ein einfaches, aber weit verbreitetes Modell, da Ziele auch in komplexeren Situationen hĂ€ufig auf zwei Ebenen verglichen werden.
Die Analyse des Modells ĂŒber die Verschiebung der Parameter der Position zweier allgemeiner Populationen beginnt mit einer Beschreibung des verteilungsfreien Mann-Whitney-Wilcoxon (MWW) -Rangverfahrens, hier sind Punkt- und IntervallschĂ€tzungen fĂŒr die GröĂe der Verschiebung gebaut. Ferner wird die auf der Verwendung von Bewertungsfunktionen basierende Analysemethode kurz beschrieben und mit ihrer Hilfe auch die Nullhypothese ĂŒber die GröĂe des Verschiebungsparameters getestet. Zusammenfassend wird das Modell fĂŒr den Positionsparameter als Regressionsproblem formuliert, dessen Lösung es auch ermöglicht, Punkt- und IntervallschĂ€tzungen fĂŒr den Verschiebungsparameter zu erstellen.
Alle im Artikel beschriebenen Methoden werden anhand eines End-to-End-Beispiels veranschaulicht, das in Form von Algorithmen in der R-Sprache implementiert ist.
1. Sei und
sei zwei kontinuierliche Zufallsvariablen:
und
bezeichne die Funktion (cdf) und Dichte (pdf) der Verteilung der Zufallsvariablen
und
und
bezeichne die Funktion (cdf) bzw. Dichte (pdf) der Zufallsvariablen
. Wir sagen das
und
folgen dem Modell des Positionsparameters (Standortmodell), falls fĂŒr einen Parameter
,
haben
Ein Parameter ist eine Verschiebung des Positionsparameters von Zufallsvariablen
und
kann beispielsweise die Differenz zwischen Medianen oder Durchschnittswerten sein (wenn Durchschnittswerte vorhanden sind). Beachten Sie, dass das vorgeschlagene Modell die Gleichheit der Parameter der Skala der Zufallsvariablen
und voraussetzt
.
2. , . â
( cdf pdf
),
â
( cdf pdf
).
â
.
.
( ) , : .
3. , . â . , , .
. .
> 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
,
.
-- (Mann-Whitney-Wilcoxon, MWW).
â ,
,
,
.
, (, ,
). ,
() p-value
( ).
4. -- ,
( - (Hodges-Lehmann))
.
â
,
,
.
.
5. -- t- c
.
> 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
: p-value
,
,
. p-value
«».
exact = FALSE
correct = FALSE
( ) , . p-value .
> 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. ,
(score )
,,
â , cdf
.
(Normal score function) , , . , normal score rankit, standard score z-score. normal score, score ,
score .
:
â score ,
â
. ,
:
,
, ,
() .
, .
, :
,
,
â
. .
7. R 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
, p-value
p-value
:
.
8. C . ,
â
-
.
â ,
. ,
. -
. , score ,
- â .
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
,
. , , ,
,
t-
:
> 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
, .
( -- score ) . .