surveillance (version 1.12.1)

permutationTest: Monte Carlo Permutation Test for Paired Individual Scores

Description

As test statistic the difference between mean scores from model A and mean scores from model B is used. Under the null hypothesis of no difference, the actually observed difference between mean scores should not be notably different from the distribution of the test statistic under permutation. As the computation of all possible permutations is only feasible for small datasets, a random sample of permutations is used to obtain the null distribution. The resulting p-value thus depends on the .Random.seed.

Usage

permutationTest(score1, score2, nPermutation = 9999,
                plot = FALSE, verbose = FALSE)

Arguments

score1, score2
numeric vectors of scores to compare
nPermutation
number of random permutations to conduct
plot
logical indicating if a truehist of the nPermutation permutation test statistics should be plotted with a vertical line marking the observed difference of the means. To customize t
verbose
logical indicating if the results should be printed in one line.

Value

  • a list of the following elements:
  • diffObsobserved difference in mean scores, i.e., mean(score1) - mean(score2)
  • pVal.permutp-value of the permutation test
  • pVal.tp-value of the corresponding t.test(score1, score2, paired=TRUE)

Details

For each permutation, we first randomly assign the membership of the n individual scores to either model A or B with probability 0.5. We then compute the respective difference in mean for model A and B in this permuted set of scores. The Monte Carlo p-value is then given by (1 + #{permuted differences larger than observed difference (in absolute value)}) / (1 + nPermutation).

See Also

scores to obtain individual scores for oneStepAhead predictions from a model. Package coin for a comprehensive permutation test framework, specifically its function symmetry_test to compare paired samples.

Examples

Run this code
permutationTest(rnorm(50, 1.5), rnorm(50, 1), plot = TRUE)

Run the code above in your browser using DataLab