Statistical Tests – Why One-Tailed P-Value is Not Always Half of Two-Tailed P-Value for Wilcoxon Signed-Rank Test

one-tailed testp-valuewilcoxon-signed-rank

I will explain by a hypothetical problem. Let's say I have pairs of [weight in morning, weight in night] from 10 people. Everyone weighs themselves multiple (random) times in morning (before noon) and night (after 6 pm). In order to group multiple weight recordings each day, [25,95] percentiles are used to extract two sets of paired-data [weight in morning_25quant, weight in night_25quant] and [weight in morning_95quant, weight in night_95quant].Information is recorded daily over 15 days (10 x 15 = 150 paired samples for each quantile).

I want to validate that 1) weight in morning is significantly different from weight in night, 2) weight in night is more than weight in morning, using any quantile.

I am using Wilcoxon signed-rank test implemented using Python's scipy.stats.wilcoxon. For (2) I use 'alternative'='less' option. From my reading, I found both tests are same, except (2) is one-tailed and thus P-value for 2 (PV2) should be half of P-value for 1 (PV1).

Problem: I do not always see one-tailed P-value to be half of two-tailed P-value for very similar datasets when using Wilcoxon signed-rank test.
Specifically, for above example:
For 25quant, I do see PV2 is half of PV1. But for 95quant, I do not see that. Numbers for my problem look similar to: 25quant: [PV1: 0.02, PV2: 0.01], 95quant: [PV1: 4e-4, PV2: 1].

I'm new to statistical analysis for my research, would appreciate any insights and reading guides. Thanks.

Best Answer

It depends on the direction of the null hypothesis. A one sided p-value corresponds to a null hypothesis of either $\mu \le \mu_0$ or $\mu \ge \mu_0$. If the point estimate agrees with the null, the one sided p-value will be greater than 0.5. Otherwise it will be less than 0.5. In the latter case, the one-sided p-value is half the two-sided p-value in the Wilcoxon test.

Related Question