# ML Wiki

## $t$ Tests

$t$-tests is a family of Statistical tests that use $t$-statistics (those values come from the $t$-distribution) to calculate $p$-values

The following tests are $t$-tests:

• one-sample $t$-test - for comparing the mean of a sample against some given mean
• two-sample $t$-test - for comparing the means of two samples
• paired $t$-test - for Matching Pairs setup
• pairwise $t$-test - for comparing the means of more than two samples

## When To Use

### Assumptions

Assumptions for $t$ tests are similar to the assumptions of the $z$-tests

• Observations are independent (if less than 10% of population is sampled, then we can make sure it's satisfied)
• Sample size is sufficiently large so C.L.T. holds
• Moderate skew, few outliers (not too extreme)

### vs $z$-tests

Sample Size

• the sample size can be smaller than for $z$-tests
• so it can be smaller than 30 - after 30 we can safely use $z$-tests with almost the same outcomes

$t$-distribution:

• the tails are thicker than for $N(0,1)$ and observations are more likely to fall within 2$\sigma$ from the mean
• this is exactly the correction we need to account for poorly estimated Standard Error when the sample size is not big

## One-Sample t-test

This is a test for one variable

• it's used mainly to calculate a Confidence Interval for the true mean $\mu$
• the null value for $H_0$ might come from other research or from your knowledge

Parameters:

• $\text{df} = n - 1$ with $n$ being the sample size

### Example 1

• Sample: $n = 60, \bar{X} = 7.177, s = 2.948$
• True mean $\mu$ is unknown

Let's run a test:

• $H_0: \mu = 0, H_A: \mu > 0$ (this is one-sided test)
• Under $H_0$, we know that $\cfrac{\bar{X} - \mu}{\sqrt{s^2 / n}} \approx t_{n - 1}$
• Observed: $\bar{X} - \mu = 7.177 - 0 = 7.177$
• How plausible is the observed value under $H_0$?

The probability of observing this value is

• $P(\bar{X} - \mu \geqslant 7.177) =$
• $P\left(\cfrac{\bar{X} - \mu}{\sqrt{s^2 / n}} \geqslant \cfrac{7.177}{\sqrt{s^2 / n}}\right) \approx$
• $P\left(t_{59} \geqslant \cfrac{7.177}{\sqrt{2.948^2 / 60}}\right) \approx$
• $P(t_{59} \geqslant 18.86) \approx 1 / 10^{26}$

Extremely small! So we reject $H_0$ and conclude that $\mu > 0$

### Example 2

• Sample $n = 400, \bar{X} = -14.15, s = 14.13$
• Test: $H_0: \mu = 0$ vs $H_A: \mu \neq 0$ (this is a 2-sided)

We know that

• $\cfrac{\bar{X} - \mu}{\sqrt{s^2 / n}} \approx t_{n - 1} = t_{399}$

$p$-value:

• $P( | \bar{X} - \mu | \geqslant | -14.15 - 0 |) =$
• $P\left( \left| \cfrac{\bar{X} - \mu}{\sqrt{s^2 / n}} \right| \geqslant \cfrac{14.15}{\sqrt{14.13^2 / 400}}\right) \approx$
• $P( | t_{399} | \geqslant 20.03 ) =$
• $2 \cdot P( t_{399} \leqslant -20.03) \approx$
• $1 / 3.5 \cdot 10^{64}$

Extremely small! Reject the $H_0$ and conclude that $\mu \neq 0$

### R code

Our test statistic is $T = \cfrac{\bar{X} - \mu}{\sqrt{s^2 / n}}$.

xbar = mean(ch)
s2 = var(ch)
n = length(ch)
mu = 0

t = (xbar - mu) / sqrt(s2 / n) // 18.856
pt(t, df=n-1, lower.tail=F) // 5.84E-24
// so we reject


## Paired t-test

### Paired Data

Two set of observations are paired if each observation in one set has exactly one corresponding observation is another set.

Examples:

• pre- and post-test scores on the same person
• measures in pairs at the same time or place
• outcome with or without a treatment - on same subject (cross-over study)

### R Function

library(openintro)
data(textbooks)
t.test(textbooks$diff, mu=x.bar.nul, alternative='two.sided')  or t.test(textbooks$uclaNew, textbooks$amazNew, paired=T, alternative='two.sided')  ### Example: Bookstore vs Amazon • two samples: local bookshop and amazon •$\mu_\text{dif} = \mu_l - \mu_a$- the mean of difference in the price Test •$H_0: \mu_\text{dif} = 0$- there's no difference in the price •$H_A: \mu_\text{dif} \ne 0$- there's some difference Calculations •$\bar{x}_\text{dif} = 12.76$• Standard Error:$\text{se}_{\bar{x}_\text{dif}} = \cfrac{s_\text{dif}}{\sqrt{n_\text{dif}}} = 1.67$•$T = \cfrac{\bar{x}_\text{dif}}{\text{se}_{\bar{x}_\text{dif}}} = \cfrac{12.76}{1.67} = 7.59$•$p = 6 \cdot 10^{-11}$, less than$\alpha = 0.05$, so we reject$H_0$library(openintro) data(textbooks) hist(textbooks$diff, col='yellow')

n = length(textbooks$diff) s = sd(textbooks$diff)
se = s / sqrt(n)

x.bar.nul = 0
x.bar.dif = mean(textbooks$diff) t = (x.bar.dif - x.bar.nul) / se t p = pt(t, df=n-1, lower.tail=F) * 2 p  or t.test(textbooks$diff, mu=x.bar.nul, alternative='two.sided')


### Example 2

Let $\mu_d = \mu_0 - \mu_1$ be the difference between two methods

Our test:

• $H_0: \mu_d = 0, H_A: \mu_d \neq 0$

Say, we have:

• $\bar{X}_d = 6.854$
• $s_d = 11.056$
• $n = 398$

Test statistics:

• $\cfrac{\bar{X}_d - 0}{s_d / \sqrt{n}} = \cfrac{6.854}{11.056 / \sqrt{398}} \approx 12.37$

Then we compare it with $t_{397}$

• $p$-value is $2.9 \cdot 10^{29}$

And we conclude that the difference between the two methods is not 0

## Two-Sample t-test

This variation of $t$-test is used when we want to compare the means of two different samples

• suppose that we have two samples $a$ and $b$ of sizes $n_a$ and $n_b$ resp.
• we're interested in inferring something about $\mu_a - \mu_b$
• Point Estimate in this case is $\bar{x}_a - \bar{x}_b$
• Standard Error is $\text{SE}_{\bar{x}_a - \bar{x}_b} = \sqrt{\text{SE}_a + \text{SE}_b } = \sqrt{ s^2_a / n_a + s^2_b / n_b}$
• because $\text{SE}^2_{\bar{x}_a - \bar{x}_b} = \text{var}[\bar{x}_a - \bar{x}_b] = \text{var}[x_a] + \text{var}[x_b] = \text{SE}^2_a + \text{SE}^2_b$

The test is of the following form

• $H_0: \mu_a = \mu_b$, or $H_0: \mu_a - \mu_b = 0$
• $H_A: \mu_a \neq \mu_b$ or $H_A: \mu_a - \mu_b \neq 0$ (two-sided, can also be $<$ or $>$)

So, test statistics:

• $T = \cfrac{(\bar{X}_1 - \bar{X}_2) - (\mu_1 - \mu_2)}{\sqrt{s_1^2 / n_1 + s_2^2 / n_2}}$
• $T \approx t_{\text{df}}$
• $\text{df}$ depends on a few things, discussed below

### Welch-Satterthwaite Approximation

What is $\text{df}$ there?

• Welch-Satterthwaite Approximation for df is
• $\text{df} = \cfrac{( s_1^2 / n_1 + s_2^2 / n_2 )^2 }{ \frac{(s_1^2 / n_1)^2 }{n_1 - 1} + \frac{(s_2^2 / n_2)^2 }{n_2 - 1} }$

This can be a non-integer value, but that's fine

### Pooled Variance Estimation

• Can we "pool" the samples?
• Yes, but only under assumption that $\sigma_1^2 = \sigma_2^2$ (in other words, we assume that the variances are equal)

We can replace $s_1^2$ and $s_2^2$ by the pooled variance:

• $s^2 = \cfrac{(n_1 - 1) s_1^2 + (n_2 - 1) s_2^2 }{ (n_1 - 1) + (n_2 - 1)}$
• and $\text{df} = (n_1 - 1) + (n_2 - 1) = n_1 + n_2 - 2$

### Example 1

• males: $n_1 = 281$
• females: $n_2 = 199$
• $\bar{X}_1 = -12.9, s_1^2 = 181.5$
• $\bar{X}_2 = -17.1, s_2^2 = 231.5$
• $\bar{X}_1 - \bar{X}_2 = -12.9 + 17.1 = 4.2$

We then calculate

• $\text{df} = 200.09$
• so $T_{0.025, 200.09} = 1.97$

We have the following test

• $H_0: \mu_1 = \mu_2, H_A: \mu_1 \neq \mu_2$
• and $\bar{X}_1 - \bar{X}_2 = 4.2$

$p$-value:

• $P(| \bar{X}_1 - \bar{X}_2 | \geqslant 4.2 ) =$
• $P \left( \left| \cfrac{(\bar{X}_1 - \bar{X}_2) - (\mu_1 - \mu_2)}{\sqrt{s_1^2 / n_1 + s_2^2 / n_2}} \right| \geqslant \cfrac{4.2}{\sqrt{s_1^2 / n_1 + s_2^2 / n_2}} \right) \approx$
• $P\left( |t_\text{df} | \geqslant \cfrac{4.2}{\sqrt{181.5 / 281 + 231 / 119}} \right) = 0.0097$

pretty small, so we reject the $H_0$.

### Example 2

Life expectancy in E.Asia and Pacific vs S.Asia

• EA&P: $n_1: 30, \bar{X}_1 = 73.1, s_1^2 = 38.7$
• SA: $n_2: 8, \bar{X} = 67.0, s_2^2 = 72.5$
• $\bar{X}_1 - \bar{X}_2 = 73.1 - 67.0 = 6.1$

We then calculate

• $\text{df} = 9.09$ by Welch-Satterthwaite Approximation
• $T_{0.025, 0.09} = 2.26$

Our test:

• $H_0: \mu_0 = \mu_1, H_A: \mu_0 \neq \mu_1$

$p$-value:

• $P(| \bar{X}_1 - \bar{X}_2 | \geqslant 6.1 ) =$
• $P \left( \left| \cfrac{(\bar{X}_1 - \bar{X}_2) - (\mu_1 - \mu_2)}{\sqrt{s_1^2 / n_1 + s_2^2 / n_2}} \right| \geqslant \cfrac{6.1}{\sqrt{s_1^2 / n_1 + s_2^2 / n_2}} \right) \approx$
• $P ( |t_\text{df} | \geqslant 1.90 ) \approx 0.09$

Not so small - we can't reject the $H_0$, it might be true that $\mu_0 = \mu_1$

### R (Means)

male = skeletons[sex == '1', 6]
female = skeletons[sex == '2', 6]

# critical value
qt(0.025, df=200.9, lower.tail=F)


or

t.test(male, female, mu=0, conf.level=0.95, alternative='two.sided')


## Pairwise t-test

• we have $n$ groups, $n > 2$
• we conduct a series of Two-Sample t-tests to find out which groups are different
• e.g. in post-ANOVA analysis

### Controlling Family-Wise Error Rate

It's important to modify $\alpha$ to avoid Type I Errors

• when we run many tests, it's inevitable that we make them just by chance

E.g. use Bonferroni Correction

• use modified confidence level $\alpha^* = \alpha \cdot \cfrac{1}{K}$
• where for $k$ groups $K= \cfrac{k \cdot (k - 1)}{2}$

## Sources

Machine Learning Bookcamp: Learn machine learning by doing projects. Get 40% off with code "grigorevpc".