- Resampling
- Permutation
- Power and Sample Size
Resampling is a variety of methods for:
Why Resampling:
Monte Carlo Simulation
Permutation Test - shuffling and resampling the the treatment and control effects
Bootstraping
Jackknifing
Permutation Test
marathon example: - in the observed data there is not enough sample to accurately measure
Permutation is essenitally a N choose K
treatment <- c(1,2,3,4)
control <- c(5,6,7,8)
permutation <- c(treatment, control)
new_selection <- sample(permutation, 4
)
print(new_selection)
[1] 7 2 5 4
Using marathon times, we use the permutation method by reshuffling the actual times and assigning them to the people because we assume that there has been no impact of the training - it doesn’t make a difference if they train for 1 day or 1 month

Now that we know the average difference between those who trained and those who didn’t train, we have to see if the result is statisticall significant from zero
T-Test Formula:
\[ t = \dfrac{m - \mu}{s\sqrt{n}} \]
t <- (mean_difference - 0) / (sd(samples$mean_diff) / sqrt(nrow(samples)-1))
t.test(samples$mean_diff, alternative = "two.sided", , mu = 0)
One Sample t-test
data: samples$mean_diff
t = 1.1689, df = 999, p-value = 0.2427
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-0.1066588 0.4209505
sample estimates:
mean of x
0.1571458
t
[1] 1.168363
Permutation
A permutation test gives a simple way to compute the sampling distribution for any test statistics, under the strong null hypothesis that a set of generate variants has absolutely no effect on the outcome
if the null hypothesis is true, changing the exposure would have no effect on the outcome. By randomly shuffling the exposures we can make up as many data sets as we like
if the null hypothesis is true, the suffeled data sets should look like the real data, otherwise the should look different from the real data
Steps:
Analyze the problem:
-What is the hypotheses and alternative -What ditribution is the data dawn from -What losses are associated with
Rearrange the Observations
Make a Decision
Permutation Resampling Process:
Collect Data from control and treatment
Merge Samples to for a pseudo pop
Sample with replacedment from pseudo pop to simulation control and treatment groups (like in marathon)
compute the sample statistic for
install.packages('gtools')
library(gtools)
##get all permutations
##permutations(n=3,r=2,v=x,repeats.allowed=T)
permutations(n = 3, r = 2, v = c("red","green","blue"), repeats.allowed = F)
treatment <- sample(22:67,12, replace = F)
control <- sample(42:74, 16, replace = F)
permutation_pool <- c(treatment, control)
treat_mean <- mean(treatment)
treat_mean
control_mean <- mean(control)
control_mean
test_stat <- treat_mean - control_mean
test_stat
### Step #3?????
##Step 4 permutations:
perms <- data.frame(permutation_num = 1:1000,
control_num_obs = 12,
treat_num_obs = 16,
mean_control= 48.58333,
mean_treatment = 57.1875,
difference_of_means =-8.604167 )
perms$mean_control <- mean(sample(permutation_pool, 16, replace = F))
perms$mean_treatment <- mean(sample(permutation_pool, 12, replace = F))
head(perms)
## based on the permutations, is the treatment significantly different from the average? stat different from total mean or control mean?
LS0tCnRpdGxlOiAiU29jaWFsIEV4cGVyaW1lbnRzIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgoxKSBSZXNhbXBsaW5nCjIpIFBlcm11dGF0aW9uCjMpIFBvd2VyIGFuZCBTYW1wbGUgU2l6ZQoKUmVzYW1wbGluZyBpcyBhIHZhcmlldHkgb2YgbWV0aG9kcyBmb3I6CgotIGVzdGltYXRpbmcgdGhlIHByZWlzaW9uIG9mIHNhbXBsZSBzdGF0cyBieSB1c2luZyBkYXRhIHN1YnNldHMgKGphY2trbmlmaW5nKQoKLSBkcmF3aW5nIHJhbmRvbWx5IHdpdGggcmVwbGFjbWVudCBmcm9tIGEgc2V0IG9mIGRhdGEgcG9pbnRzIChib290c3RyYXBpbmcpCgojIyNXaHkgUmVzYW1wbGluZzoKCi0gdGhlIHVzZSBvZiBvYnMgZGF0YSBvciBvZiBnZW5lcmF0ZWQgZGF0YSB0byBwcm9kdWNlIG5ldyBoeXBvdGhldGljYWwgc2FtcGxlcyB0aGF0IG1pbWljIHVuZGVybHlpbmcgIHBvcCB0aGUgcmVzdWx0cyBvZiB3aGloYyBjYW4gYmUgYW5hbHl6ZWQKCiAgICAtIGhpZ2ggY29zdCBvZiBjb2xsZWN0aW5nIGRhdGEKICAgIC0gbm90IGVub3VnaCBkYXRhIGF2YWlsYWJsZSAKICAgIC0gZGlzdHJpYnV0aW9uIHVua25vd24KCjEuIE1vbnRlIENhcmxvIFNpbXVsYXRpb24KCjIuIFBlcm11dGF0aW9uIFRlc3QgLSBzaHVmZmxpbmcgYW5kIHJlc2FtcGxpbmcgdGhlIHRoZSB0cmVhdG1lbnQgYW5kIGNvbnRyb2wgZWZmZWN0cwoKMy4gQm9vdHN0cmFwaW5nCgo0LiBKYWNra25pZmluZwoKCiMjI1Blcm11dGF0aW9uIFRlc3QKbWFyYXRob24gZXhhbXBsZToKICAgIC0gIGluIHRoZSBvYnNlcnZlZCBkYXRhIHRoZXJlIGlzIG5vdCBlbm91Z2ggc2FtcGxlIHRvIGFjY3VyYXRlbHkgbWVhc3VyZQogICAgCgpQZXJtdXRhdGlvbiBpcyBlc3Nlbml0YWxseSBhIE4gY2hvb3NlIEsgCmBgYHtyfQoKIyBDb250cm9sOiA1CgojVHJlYXRtZW50OiAxMAoKI3dhbnQgMTAwMCBkaWZmZXJlbnQgcGVybXV0YXRpb25zCgojMTAwMCEgLyAoOTk1ISgxMDAwLTk5NSkhKQoKCgoKCmBgYAoKVXNpbmcgbWFyYXRob24gdGltZXMsIHdlIHVzZSB0aGUgcGVybXV0YXRpb24gbWV0aG9kIGJ5IHJlc2h1ZmZsaW5nIHRoZSBhY3R1YWwgdGltZXMgYW5kIGFzc2lnbmluZyB0aGVtIHRvIHRoZSBwZW9wbGUgYmVjYXVzZSB3ZSBhc3N1bWUgdGhhdCB0aGVyZSBoYXMgYmVlbiBubyBpbXBhY3Qgb2YgdGhlIHRyYWluaW5nIC0gaXQgZG9lc24ndCBtYWtlIGEgZGlmZmVyZW5jZSBpZiB0aGV5IHRyYWluIGZvciAxIGRheSBvciAxIG1vbnRoCgoKYGBge3J9CiNUaGlzIGlzIHRoZSBvcmlnaW5hbCBzYW1wbGUgLSBub3RpY2UgaG93IHRoZXJlIGFyZSBmZXcgb2JzZXJ2YXRpb24gaW4gdGhlIHNhbXBsZS4KI3dpdGggdGhlIHBlcm11dGF0aW9uIG1ldGhvZCwgd2UgYXNzdW1pbmcgbm8gdHJlYXRtZW50IGVmZmVjdCBhbmQgY3JlYXRlIGFsbCBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgcmVzdWx0cyBhbmQgYXNzaWduIHRoZW0gcmFuZG9tbHkKCmxpYnJhcnkodGlkeXZlcnNlKQpkZiAgPSBkYXRhLmZyYW1lKG5hbWVzID0gYygiV2FkZSIsIlhlbmEiLCJZdm9ubmUiLCJaYWNoYXJ5IiksCiAgICAgICAgICAgICAgICAgICBHcm91cCA9IGMoIlRyZWF0bWVudCIsIlRyZWF0bWVudCIsIkNvbnRyb2wiLCJDb250cm9sIiksCiAgICAgICAgICAgICAgICAgICBUaW1lID0gYygyLjUsIDUuNzUsNSw2LjUpKQoKCmRmJHNodWZmbGUgPC0gc2FtcGxlKGRhdGEkVGltZSwgNCkgIyB0aGlzIGlzIHRoZSByZXNodWZmZWxlZCB0aW1lcyBhc3N1bWluZyB0aGF0IHRoZSB0cmFpbmluZyBwZXJpb2QgaGFzIGhhZCBubyBpbXBhY3Qgb24gdGltZQoKI1RoaXMgcmVwcmVzZW50cyBvbmUgcGVybXV0YXRpb24sIGJ1dCB3ZSB3YW50IGNsb3NlIHRvIDEwMDAwIGRpZmZlcmVudCBwZXJtdXRhdGlvbiBpbiBvcmRlciB0byBzZWUgaWYgdHJhaW5pbmcgZm9yIHRoZSBtYXJhdGhvbiBhY3R1YWxseSBoYWQgYW55IGltcGFjdAojY3JlYXRlIGFub3RoZXIgOTk5IHNhbXBsZXMgaW4gYWRkaXRpb24gdG8gdGhlIG9yaWdpbmFsIG9ic2VydmF0aW9uLCB0aGVuIHRha2UgdGhlIG1lYW4gb2YgdGhlIGNvbnRyb2wgZ3JvdXAgYW5kIHRoZSBtZWFuIG9mIHRoZSB0cmVhdG1lbnQgZ3JvdXAKCgojUmVjcmVhdGluZyBkYXRhIGZyYW1lIHdpdGggMTAwMCBvYnNlcnZhdGlvbnMgCgojIDEpIHVzaW5nIHRoZSBjb250cm9sIGFuZCB0aGUgdHJlYXRtZW50IGRhdGEsIGNyZWF0ZSBvbmUgcGVybXV0YXRpb24gcG9vbDoKCnRyZWF0bWVudCA8LSAgc2FtcGxlKDIyOjY3LDEyLCByZXBsYWNlID0gRikgJT4lIG1lYW4oKSAlPiUgcHJpbnQoKQpjb250cm9sIDwtIHNhbXBsZSg0Mjo3NCwgMTYsIHJlcGxhY2UgPSBGKSAlPiUgbWVhbigpICU+JSBwcmludCgpCgoKdHJlYXRfbWVhbnMgPC1jKHRyZWF0bWVudCkKY29udHJvbF9tZWFucyA8LWMoY29udHJvbCkKCnBlcm11dGF0aW9uX3Bvb2wgPC0gYyh0cmVhdG1lbnQsIGNvbnRyb2wpCgoKZm9yKHBlcm1fbnVtIGluIGMoMToxMDAwKSl7CiAgcG9vbCA8LSBzYW1wbGUoMjI6NzUsIDI4LCByZXBsYWNlID0gRikKICAKICB0cmVhdG1lbnQgPC0gbWVhbihzYW1wbGUocG9vbCwgMTIsIHJlcGxhY2UgPSBGKSkgCiAgCiAgdHJlYXRfbWVhbnNbcGVybV9udW1dIDwtIHRyZWF0bWVudAogIAogIGNvbnRyb2wgPC0gbWVhbihzYW1wbGUocG9vbCwgMTYsIHJlcGxhY2UgPSBGKSkKICAKICBjb250cm9sX21lYW5zW3Blcm1fbnVtXSA8LSBjb250cm9sCiAgCn0KCnRyaWFsX251bSA8LWMoMToxMDAwKQpjbGFzcyh0cmlhbF9udW0pCgpzYW1wbGVzIDwtIGRhdGEuZnJhbWUodHJlYXRtZW50X21lYW4gPSB0cmVhdF9tZWFucywgY29udHJvbF9tZWFucyA9IGNvbnRyb2xfbWVhbnMgKQoKc2FtcGxlcyA8LSBtdXRhdGUoc2FtcGxlcywgbWVhbl9kaWZmICA9IHRyZWF0X21lYW5zIC0gY29udHJvbF9tZWFucykKCm1lYW5fZGlmZmVyZW5jZSA8LSBtZWFuKHNhbXBsZXMkbWVhbl9kaWZmKQoKbWVhbl9kaWZmZXJlbmNlCgojIElzIHRoZSBtZWFuX2RpZmZlcmVuY2Ugc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBmcm9tIHplcm8/CgpoaXN0KHNhbXBsZXMkbWVhbl9kaWZmKQpgYGAKTm93IHRoYXQgd2Uga25vdyB0aGUgYXZlcmFnZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhvc2Ugd2hvIHRyYWluZWQgYW5kIHRob3NlIHdobyBkaWRuJ3QgdHJhaW4sIHdlIGhhdmUgdG8gc2VlIGlmIHRoZSByZXN1bHQgaXMgc3RhdGlzdGljYWxsIHNpZ25pZmljYW50IGZyb20gemVybyAKClQtVGVzdCBGb3JtdWxhOgoKJCQgdCA9IFxkZnJhY3ttIC0gXG11fXtzXHNxcnR7bn19ICQkCgpgYGB7cn0KCnQgPC0gKG1lYW5fZGlmZmVyZW5jZSAtIDApIC8gKHNkKHNhbXBsZXMkbWVhbl9kaWZmKSAvIHNxcnQobnJvdyhzYW1wbGVzKS0xKSkKCnQudGVzdChzYW1wbGVzJG1lYW5fZGlmZiwgYWx0ZXJuYXRpdmUgPSAidHdvLnNpZGVkIiwgLCBtdSA9IDApCgp0CgoKCmBgYAoKIyMjUGVybXV0YXRpb24KCkEgcGVybXV0YXRpb24gdGVzdCBnaXZlcyBhIHNpbXBsZSB3YXkgdG8gY29tcHV0ZSB0aGUgc2FtcGxpbmcgZGlzdHJpYnV0aW9uIGZvciBhbnkgdGVzdCBzdGF0aXN0aWNzLCB1bmRlciB0aGUgc3Ryb25nIG51bGwgaHlwb3RoZXNpcyB0aGF0IGEgc2V0IG9mIGdlbmVyYXRlIHZhcmlhbnRzIGhhcyAqYWJzb2x1dGVseSBubyBlZmZlY3QqIG9uIHRoZSBvdXRjb21lCgppZiB0aGUgbnVsbCBoeXBvdGhlc2lzIGlzIHRydWUsIGNoYW5naW5nIHRoZSBleHBvc3VyZSB3b3VsZCBoYXZlIG5vIGVmZmVjdCBvbiB0aGUgb3V0Y29tZS4gQnkgcmFuZG9tbHkgc2h1ZmZsaW5nIHRoZSBleHBvc3VyZXMgd2UgY2FuIG1ha2UgdXAgYXMgbWFueSBkYXRhIHNldHMgYXMgd2UgbGlrZQoKaWYgdGhlIG51bGwgaHlwb3RoZXNpcyBpcyB0cnVlLCB0aGUgc3VmZmVsZWQgZGF0YSBzZXRzIHNob3VsZCBsb29rIGxpa2UgdGhlIHJlYWwgZGF0YSwgb3RoZXJ3aXNlIHRoZSBzaG91bGQgbG9vayBkaWZmZXJlbnQgZnJvbSB0aGUgcmVhbCBkYXRhCgoKIyMjU3RlcHM6CgoxLiBBbmFseXplIHRoZSBwcm9ibGVtOgoKICAgIC1XaGF0IGlzIHRoZSBoeXBvdGhlc2VzIGFuZCBhbHRlcm5hdGl2ZQogICAgLVdoYXQgZGl0cmlidXRpb24gaXMgdGhlIGRhdGEgZGF3biBmcm9tCiAgICAtV2hhdCBsb3NzZXMgYXJlIGFzc29jaWF0ZWQgd2l0aCAKICAgIAoyLiAKCjMuIAoKNC4gUmVhcnJhbmdlIHRoZSBPYnNlcnZhdGlvbnMKCjUuIE1ha2UgYSBEZWNpc2lvbgoKCiMjI1Blcm11dGF0aW9uIFJlc2FtcGxpbmcgUHJvY2VzczoKCi0gQ29sbGVjdCBEYXRhIGZyb20gY29udHJvbCBhbmQgdHJlYXRtZW50CgotIE1lcmdlIFNhbXBsZXMgdG8gZm9yIGEgcHNldWRvIHBvcAoKLSBTYW1wbGUgd2l0aCByZXBsYWNlZG1lbnQgZnJvbSBwc2V1ZG8gcG9wIHRvIHNpbXVsYXRpb24gY29udHJvbCBhbmQgdHJlYXRtZW50IGdyb3VwcyAobGlrZSBpbiBtYXJhdGhvbikKCi0gY29tcHV0ZSB0aGUgc2FtcGxlIHN0YXRpc3RpYyBmb3IgCgpgYGB7cn0KCmluc3RhbGwucGFja2FnZXMoJ2d0b29scycpCmxpYnJhcnkoZ3Rvb2xzKQojI2dldCBhbGwgcGVybXV0YXRpb25zCiMjcGVybXV0YXRpb25zKG49MyxyPTIsdj14LHJlcGVhdHMuYWxsb3dlZD1UKQoKcGVybXV0YXRpb25zKG4gPSAzLCByID0gMiwgdiA9IGMoInJlZCIsImdyZWVuIiwiYmx1ZSIpLCByZXBlYXRzLmFsbG93ZWQgPSBGKQpgYGAKYGBge3J9CnRyZWF0bWVudCA8LSAgc2FtcGxlKDIyOjY3LDEyLCByZXBsYWNlID0gRikKCmNvbnRyb2wgPC0gc2FtcGxlKDQyOjc0LCAxNiwgcmVwbGFjZSA9IEYpCgoKcGVybXV0YXRpb25fcG9vbCA8LSBjKHRyZWF0bWVudCwgY29udHJvbCkKCnRyZWF0X21lYW4gPC0gbWVhbih0cmVhdG1lbnQpCnRyZWF0X21lYW4KCmNvbnRyb2xfbWVhbiA8LSBtZWFuKGNvbnRyb2wpCmNvbnRyb2xfbWVhbgoKdGVzdF9zdGF0IDwtIHRyZWF0X21lYW4gLSBjb250cm9sX21lYW4KdGVzdF9zdGF0CiMjIyBTdGVwICMzPz8/Pz8KCgojI1N0ZXAgNCBwZXJtdXRhdGlvbnM6CgpwZXJtcyA8LSBkYXRhLmZyYW1lKHBlcm11dGF0aW9uX251bSA9IDE6MTAwMCwKICAgICAgICAgICAgICAgICAgICBjb250cm9sX251bV9vYnMgPSAxMiwKICAgICAgICAgICAgICAgICAgICB0cmVhdF9udW1fb2JzID0gMTYsCiAgICAgICAgICAgICAgICAgICAgbWVhbl9jb250cm9sPSA0OC41ODMzMywKICAgICAgICAgICAgICAgICAgICBtZWFuX3RyZWF0bWVudCA9IDU3LjE4NzUsCiAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZV9vZl9tZWFucyA9LTguNjA0MTY3ICkKCnBlcm1zJG1lYW5fY29udHJvbCA8LSBtZWFuKHNhbXBsZShwZXJtdXRhdGlvbl9wb29sLCAxNiwgcmVwbGFjZSA9IEYpKQoKcGVybXMkbWVhbl90cmVhdG1lbnQgPC0gbWVhbihzYW1wbGUocGVybXV0YXRpb25fcG9vbCwgMTIsIHJlcGxhY2UgPSBGKSkKCmhlYWQocGVybXMpCgojIyBiYXNlZCBvbiB0aGUgcGVybXV0YXRpb25zLCBpcyB0aGUgdHJlYXRtZW50IHNpZ25pZmljYW50bHkgZGlmZmVyZW50IGZyb20gdGhlIGF2ZXJhZ2U/IHN0YXQgZGlmZmVyZW50IGZyb20gdG90YWwgbWVhbiBvciBjb250cm9sIG1lYW4/CgoKYGBgCgo=