T-tests are statistical methods used to determine if significant differences exist between the means of two groups. They calculate a T-value and P-value to assess whether observed differences are statistically meaningful. The null hypothesis assumes equal means, while the alternative suggests inequality.
Independent Samples T-Test
This test compares means from two unrelated groups. Consider a study comparing math scores between students who received tutoring versus those who didn't:
from scipy import stats
tutorial_scores = [85, 88, 90, 92, 95, 78, 80, 84, 88, 86]
control_scores = [75, 78, 80, 82, 85, 68, 70, 74, 78, 76]
t_stat, p_val = stats.ttest_ind(tutorial_scores, control_scores)
print(f"T-statistic: {t_stat:.4f}")
print(f"P-value: {p_val:.4f}")
alpha = 0.05
if p_val < alpha:
print("Reject null hypothesis: Significant difference found")
else:
print("Fail to reject null hypothesis: No significant difference")
Paired T-Test
This test evaluates the same subjects under different conditions. Consider student performance before and after a leraning intervention:
import numpy as np
pre_test = np.array([70, 75, 80, 65, 72])
post_test = np.array([75, 80, 85, 70, 78])
t_stat, p_val = stats.ttest_rel(pre_test, post_test)
print(f"T-statistic: {t_stat:.4f}")
print(f"P-value: {p_val:.4f}")
if p_val < 0.05:
print("Significant improvement detected")
else:
print("No significant change observed")
T-values indicate affect magnitude, with absolute values exceeding 1.96 typically indicating significance at α=0.05. P-values below the significance level warrant rejection of the null hypothesis.