Skip to content

Commit 4afedd5

Browse files
committed
12.3
1 parent 5f6f24e commit 4afedd5

File tree

1 file changed

+214
-1
lines changed

1 file changed

+214
-1
lines changed

chapter_12/12_3.qmd

+214-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,214 @@
1-
## The signed rank test
1+
## 符号秩检验 {#sec-12_3}
2+
**符号检验** 可用于检验连续分布 $F$ 的中位数等于某个特定值 $m_0$ 的假设。然而,在许多应用中,人们不仅希望检验中位数是否等于 $m_0$,还希望检验分布是否关于 $m_0$ 对称。也就是说,如果 $X$ 具有分布函数 $F$,那么对于所有的 $a \gt 0$,我们通常希望检验假设(参见 @fig-12_2):
3+
4+
$H_0:P\{X\lt m_0 - a\}=P\{X\gt m_0 + a\}$
5+
6+
```{r}
7+
#| label: fig-12_2
8+
#| fig-cap: "关于 $m=3$ 对称的概率密度函数"
9+
#| warning: false
10+
#|
11+
12+
library(ggplot2)
13+
14+
f <- function(x) {
15+
ifelse(x <= 3,
16+
max(0, 0.4 * (x - 3) + sqrt(0.4)),
17+
max(0, -0.4 * (x - 3) + sqrt(0.4)))
18+
}
19+
20+
x <- seq(0, 6, by = 0.1)
21+
y <- sapply(x, f)
22+
df <- data.frame(x = x, y = y)
23+
ggplot(df, aes(x = x, y = y)) +
24+
geom_line() +
25+
scale_x_continuous(breaks = seq(0, 6, by = 1), limits = c(0, 6))
26+
```
27+
28+
虽然仍然可以使用 **符号检验** 检验 $F$ 关于 $m_0$ 的对称性,但 **符号检验** 只比较了小于和大于 $m_0$ 的数据值的数量,而没有考虑这两组数据中是否有一组比另一组距离 $m_0$ 更远。一种考虑到这两组数据中是否有一组比另一组距离 $m_0$ 更远的非参数检验就是所谓的 **符号秩检验***signed rank test*)。
29+
30+
令 $Y_i = X_i - m_0, i = 1,\ldots,n$,然后对 $|Y_1|,|Y_2|,\ldots,|Y_n|$ 进行排序(*rank*)。对于 $j = 1,\ldots,n$,令:
31+
32+
$I_j=\begin{cases}1& \text{如果} |Y_i| \text{中第} j \text{最小值对应的} X_i \text{小于} m_0 \\0& \text{否则} \end{cases}$
33+
34+
现在,$\sum_{j = 1}^{n}I_j$ 表示 **符号检验** 的检验统计量,而 $T=\sum_{j = 1}^{n}jI_j$ 表示 **符号秩检验** 的检验统计量。也就是说,**符号秩检验** 不但会像 **符号检验** 那样考虑小于 $m_0$ 的数据,而且会给那些距离 $m_0$ 最远的数据赋予更大的权重(**符号检验** 中这些权重都是相同的)。
35+
36+
::: {#exm-12_3_a}
37+
如果 $n = 4$,$m_0 = 2$,并且观察数据值为 $X_1 = 4.2$、$X_2 = 1.8$、$X_3 = 5.3$、$X_4 = 1.7$,则 $|X_i - 2|$ 的排序结果为 $0.2, 0.3, 2.2, 3.3$。因为第一个数据 0.2 来自 $X_2$,而 $X_2 < 2$,所以 $I_1 = 1$。类似的,$I_2 = 1$,$I_3 = I_4 = 0$。因此,检验统计量 $T = 1 + 2 = 3$。$\blacksquare$
38+
:::
39+
40+
::: {.callout-note}
41+
可以使用如下的 R 代码计算检验统计量。
42+
43+
```{r}
44+
#| code-fold: false
45+
#| warning: false
46+
47+
TS <- function(X, m_0) {
48+
Y <- abs(X - m_0)
49+
rank <- order(Y)
50+
I <- sapply(X[rank], function(x){ifelse(x < m_0, 1, 0)})
51+
T <- sapply(seq_along(I), function(i) {i * I[[i]]})
52+
return(sum(T))
53+
}
54+
55+
t <- TS(c(4.2, 1.8, 5.3, 1.7), 2.0)
56+
t
57+
```
58+
:::
59+
60+
当原假设 $H_0$ 为真时,可以比较容易的计算出检验统计量 $T$ 的均值和方差。当 $H_0$ 为真时,意味着 $Y_j = X_j - m_0$ 的分布关于 $0$ 对称,因此对于任何给定的 $\vert Y_j\vert$ 的值(比如说 $\vert Y_j\vert = y$ ),$Y_j = y$ 和 $Y_j = -y$ 的可能性是相等的。所以,在 $H_0$ 为真时,$I_1,\ldots,I_n$ 将是独立的随机变量,并且,
61+
62+
$P\{I_j = 1\}=\frac{1}{2}=P\{I_j = 0\}, j = 1,\ldots,n$
63+
64+
因此,在 $H_0$ 为真时,
65+
66+
$$
67+
\begin{align*}
68+
E[T]&=E\left[\sum_{j = 1}^{n}jI_j\right]\\
69+
&=\sum_{j = 1}^{n}\frac{j}{2}=\frac{n(n + 1)}{4}
70+
\end{align*}
71+
$$ {#eq-12_3_1}
72+
73+
$$
74+
\begin{align*}
75+
\mathrm{Var}(T)&=\mathrm{Var}\left(\sum_{j = 1}^{n}jI_j\right)\\
76+
&=\sum_{j = 1}^{n}j^{2}\mathrm{Var}(I_j)\\
77+
&=\sum_{j = 1}^{n}\frac{j^{2}}{4}=\frac{n(n + 1)(2n + 1)}{24}
78+
\end{align*}
79+
$$ {#eq-12_3_2}
80+
81+
> 伯努利随机变量 $I_j$ 的方差为 $\frac{1}{2}(1-\frac{1}{2})=\frac{1}{4}$。
82+
83+
可以证明,对于较大的 $n$(通常认为 $n\gt25$ 就足够大了),当 $H_0$ 为真时,$T$ 将近似服从均值为 @eq-12_3_1 和方差为 @eq-12_3_2 的正态分布。虽然可以通过 $T$ 的近似正态分布推导出在显著性水平 $\alpha$ 下 $H_0$ 的假设检验(在快速且便宜的算力出现之前,这一直是常用的方法),但我们不会采用这种方法。我们通过明确计算相关概率来确定给定观察数据下的 $p-\text{value}$,接下来我们将具体介绍如何实现该方法。
84+
85+
假设我们需要对 $H_0$ 进行显著性水平为 $\alpha$ 的检验。由于备择假设是中位数不等于 $m_0$,所以我们需要进行双边检验。也就是说,如果 $T$ 的观测值等于 $t$ ,那么如果:
86+
87+
$$
88+
P_{H_0}\{T\leq t\}\leq\frac{\alpha}{2} \quad \text{或者} \quad P_{H_0}\{T\geq t\}\leq\frac{\alpha}{2}
89+
$$ {#eq-12_3_3}
90+
91+
我们就应该拒绝 $H_0$。
92+
93+
当 $T = t$ 时,观察数据的 $p-\text{value}$ 为:
94+
95+
$$
96+
p-\text{value}=2\min(P_{H_0}\{T\leq t\},P_{H_0}\{T\geq t\})
97+
$$ {#eq-12_3_4}
98+
99+
也就是说,如果 $T = t$,**符号秩检验** 要求在显著性水平 $\alpha$ 大于等于 $p-\text{value}$ 时才会拒绝原假设。可以通过下式来减少计算 $p-\text{value}$ 时所需的计算量(我们将在本节的末尾给出其证明过程):
100+
101+
$P_{H_0}\{T\geq t\}=P_{H_0}\left\{T\leq\frac{n(n + 1)}{2}-t\right\}$
102+
103+
根据 @eq-12_3_4,有:
104+
105+
$$
106+
\begin{align*}
107+
p-\text{value}&=2\min\left(P_{H_0}\{T\leq t\},P_{H_0}\left\{T\leq\frac{n(n + 1)}{2}-t\right\}\right)\\
108+
&=2P_{H_0}\{T\leq t^{*}\}
109+
\end{align*}
110+
$$
111+
112+
其中,$t^* = \min\left(t, \frac{n(n+1)}{2} - t\right)$
113+
114+
现在还需要计算 $P_{H_0}\{T\leq t^{*}\}$ 。为此,令 $P_k(i)$ 表示在原假设 $H_0$ 为真时,当样本大小为 $k$ 时,**符号秩** 统计量 $T$ 小于或等于 $i$ 的概率。我们将从 $k = 1$ 开始确定 $P_k(i)$ 的递归公式。
115+
116+
当 $k = 1$ 时,由于只有一个数据值,并且当 $H_0$ 为真时,这个数据值小于或大于 $m_0$ 的可能性是相等的,所以 $T$ 等于 $0$ 或 $1$ 的可能性也是相等的。因此
117+
118+
$$
119+
P_{1}(i)=\begin{cases}0&i\lt0\\\frac{1}{2}&i = 0\\1&i\geq1\end{cases}
120+
$$ {#eq-12_3_5}
121+
122+
假设样本大小为 $k$。为了计算 $P_k(i)$,我们以 $I_k$ 的值为条件进行如下计算:
123+
124+
$$
125+
\begin{align*}
126+
P_{k}(i)&=P_{H_0}\left\{\sum_{j = 1}^{k}jI_j\leq i\right\}\\
127+
&=P_{H_0}\left\{\sum_{j = 1}^{k}jI_j\leq i\vert I_k = 1\right\}P_{H_0}\{I_k = 1\}\\
128+
&\quad +P_{H_0}\left\{\sum_{j = 1}^{k}jI_j\leq i\vert I_k = 0\right\}P_{H_0}\{I_k = 0\}\\
129+
&=P_{H_0}\left\{\sum_{j = 1}^{k - 1}jI_j\leq i - k\vert I_k = 1\right\}P_{H_0}\{I_k = 1\}\\
130+
&\quad +P_{H_0}\left\{\sum_{j = 1}^{k - 1}jI_j\leq i\vert I_k = 0\right\}P_{H_0}\{I_k = 0\}\\
131+
&=P_{H_0}\left\{\sum_{j = 1}^{k - 1}jI_j\leq i - k\right\}P_{H_0}\{I_k = 1\}+P_{H_0}\left\{\sum_{j = 1}^{k - 1}jI_j\leq i\right\}P_{H_0}\{I_k = 0\}
132+
\end{align*}
133+
$$
134+
135+
其中最后一个等式利用了 $I_1,\ldots,I_{k - 1}$ 和 $I_k$ 在 $H_0$ 为真时相互独立的特性。现在 $\sum_{j = 1}^{k - 1}jI_j$ 与样本大小为 $k - 1$ 时的 **符号秩** 统计量具有相同的分布,并且由于:
136+
137+
$P_{H_0}\{I_k = 1\}=P_{H_0}\{I_k = 0\}=\frac{1}{2}$
138+
139+
所以,有:
140+
141+
$$
142+
P_{k}(i)=\frac{1}{2}P_{k - 1}(i - k)+\frac{1}{2}P_{k - 1}(i)
143+
$$ {#eq-12_3_6}
144+
145+
利用 @eq-12_3_5 和 @eq-12_3_6 给出的递归公式,我们可以一直计算出 $P_2(\cdot)$,$P_3(\cdot)$,……,直到得到我们所需的 $P_n(t^{*})$。
146+
147+
::: {#exm-12_3_b}
148+
对于 @exm-12_3_a 中的数据,
149+
150+
$t^* = \min\left(3, \frac{4 \cdot 5}{2} - 3\right) = 3$
151+
152+
因此,$p-\text{value}$ 为 $2P_4(3)$,其计算如下:
153+
154+
$P_2(0)=\frac{1}{2}[P_1(-2)+P_1(0)]=\frac{1}{4}$
155+
156+
$P_2(1)=\frac{1}{2}[P_1(-1)+P_1(1)]=\frac{1}{2}$
157+
158+
$P_2(2)=\frac{1}{2}[P_1(0)+P_1(2)]=\frac{3}{4}$
159+
160+
$P_2(3)=\frac{1}{2}[P_1(1)+P_1(3)]=1$
161+
162+
$P_3(0)=\frac{1}{2}[P_2(-3)+P_2(0)]=\frac{1}{8} \quad \because P_2(-3)=0$
163+
164+
$P_3(1)=\frac{1}{2}[P_2(-2)+P_2(1)]=\frac{1}{4}$
165+
166+
$P_3(2)=\frac{1}{2}[P_2(-1)+P_2(2)]=\frac{3}{8}$
167+
168+
$P_3(3)=\frac{1}{2}[P_2(0)+P_2(3)]=\frac{5}{8}$
169+
170+
$P_4(0)=\frac{1}{2}[P_3(-4)+P_3(0)]=\frac{1}{16}$
171+
172+
$P_4(1)=\frac{1}{2}[P_3(-3)+P_3(1)]=\frac{1}{8}$
173+
174+
$P_4(2)=\frac{1}{2}[P_3(-2)+P_3(2)]=\frac{3}{16}$
175+
176+
$P_4(3)=\frac{1}{2}[P_3(-1)+P_3(3)]=\frac{5}{16}$ $\blacksquare$
177+
:::
178+
179+
可以使用 R 来获得检验统计量 $T$ 和 $p-\text{value}$ 的值。但是需要注意的是,R 并没有直接给出 $T$ 的值,而是给出了 $V = n(n+1)/2 - T$ 的值。为了使用 R 执行 **符号秩检验**——有时也称为 **Wilcoxon 符号秩检验**(*Wilcoxon signed rank test*)——来检验假设:数据集 $x_1,...,x_n$ 关于 $m_0$ 对称,可以执行如下的代码:
180+
181+
```{.r}
182+
x <- c(x_1, x_2,..., x_n)
183+
wilcox.test(x, mu = m_0)
184+
```
185+
186+
`wilcox.test()` 将给出检验的 $p-\text{value}$,例如,对于 @exm-12_3_a 中的数据而言:
187+
188+
```{r}
189+
#| code-fold: false
190+
#| warning: false
191+
192+
x <- c(4.2, 1.8, 5.3, 1.7)
193+
wilcox.test(x, mu = 2)
194+
```
195+
196+
在本节就要结束的时候,我们给出 $P_{H_0}\{T\geq t\}=P_{H_0}\left\{T\leq\frac{n(n + 1)}{2}-t\right\}$ 的证明。
197+
198+
为了验证上述等式,首先注意到:如果 $\vert Y_1\vert,\ldots,\vert Y_n\vert$ 中第 $j$ 小的值来自一个大于 $m_0$ 的数据值,那么 $1 - I_j$ 将等于 $1$,否则 $1 - I_j$ 将等于 $0$。因此,如果我们令:
199+
200+
$T^{1}=\sum_{j = 1}^{n}j(1 - I_j)$
201+
202+
那么 $T^{1}$ 将表示大于 $m_0$ 的数据值的 $\vert Y_j\vert$ 的秩之和。根据对称性,在原假设 $H_0$ 为真时,$T^{1}$ 与 $T$ 具有相同的分布。此时:
203+
204+
$T^{1}=\sum_{j = 1}^{n}j-\sum_{j = 1}^{n}jI_j=\frac{n(n + 1)}{2}-T$
205+
206+
所以:
207+
208+
$$
209+
\begin{align*}
210+
P\{T\geq t\}&=P\{T^{1}\geq t\} \quad \because T\text{ 和 }T^{1}\text{ 具有相同分布}\\
211+
&=P\{\frac{n(n + 1)}{2}-T\geq t\}\\
212+
&=P\{T\leq\frac{n(n + 1)}{2}-t\}
213+
\end{align*}
214+
$$

0 commit comments

Comments
 (0)