How to perform a bootstrap test to compare the means of two samples? I have two heavily skewed samples and am trying to use bootstrapping to compare their means using  t-statistic.
What is the correct procedure to do it?

The process I am using
I am concerned about the appropriateness of using the standard error of the original/observed data in the final step when I know that this is not normally distributed.
Here are my steps:


*

*Bootstrap - randomly sample with replacement  (N=1000)

*Calculate t-statistic for each bootstrap to create a t-distribution:
$$
T(b) = \frac{(\overline{X}_{b1}-\overline{X}_{b2})-(\overline{X}_1-\overline{X}_2)  }{\sqrt{ \sigma^2_{xb1}/n + \sigma^2_{xb2}/n }}
$$

*Estimate t confidence intervals by getting $\alpha/2$ and $1-\alpha/2$ percentiles of t-distribution

*Get confidence intervals via:
$$
CI_L = (\overline{X}_1-\overline{X}_2) - T\_{CI_L}.SE_{original}
$$
$$
CI_U = (\overline{X}_1-\overline{X}_2) + T\_{CI_U}.SE_{original}
 $$
where
$$
SE = \sqrt{ \sigma^2_{X1}/n + \sigma^2_{X2}/n }
$$

*Look where the confidence intervals fall to determine if there is a significant difference in means (i.e. non-zero)


I have also looked at the Wilcoxon rank-sum but it is not giving very reasonable results due to the very heavily skewed distribution (e.g. the 75th == 95th percentile). For this reason I would like to explore the bootstrapped t-test further.
So my questions are:


*

*Is this an appropriate methodology?

*Is it appropriate to use the SE of observed data when I know it is heavily skewed?



Possible duplicate: What method is preferred, a bootstrapping test or a nonparametric rank-based test?
 A: I would just do a regular bootstrap test:


*

*compute the t-statistic in your data and store it

*change the data such that the null-hypothesis is true. In this case, subtract the mean in group 1 for group 1 and add the overall mean, and do the same for group 2, that way the means in both group will be the overall mean.

*Take bootstrap samples from this dataset, probably in the order of 20,000.

*compute the t-statistic in each of these bootstrap samples. The distribution of these t-statistics is the bootstrap estimate of the sampling distribution of the t-statistic in your skewed data if the null-hypothesis is true.

*The proportion of bootstrap t-statistics that is larger than or equal to your observed t-statistic is your estimate of the $p$-value. You can do a bit better by looking at $($the number of bootstrap t-statistics that are larger than or equal to the observed t-statistic $+1)$ divided by $($the number of bootstrap samples $+1)$. However, the difference is going to be small when the number of bootstrap samples is large.


You can read more on that in:


*

*Chapter 4 of A.C. Davison and D.V. Hinkley (1997) Bootstrap Methods and their Application. Cambridge: Cambridge University Press.

*Chapter 16 of Bradley Efron and Robert J. Tibshirani (1993) An Introduction to the Bootstrap. Boca Raton: Chapman & Hall/CRC.

*Wikipedia entry on bootstrap hypothesis testing.
