这里的目标是模拟大量小样本实验(样本量 = 10),为每个实验计算 t 统计量,并将所得分布与理论 t 分布进行比较。
为此,我们需遵循以下步骤:
从正态分布(均值 = 0,标准差 = 1)生成大量样本。
对每个样本,计算 t 统计量:(用样本均值 xˉ 减去总体均值 μ,再除以均值的标准误,即样本标准差 s 与样本量平方根 n 之比)
绘制模拟得到的 t 值直方图。
叠加理论 t 分布以作比较。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import t
# Simulation parameters
n =10# sample size
mu =0# population mean
sigma =1# population std deviation (not used directly)
df = n -1# degrees of freedom
num_simulations =10000# number of Monte Carlo simulations# Monte Carlo simulation
t_stats =[]for _ inrange(num_simulations):
sample = np.random.normal(loc=mu, scale=sigma, size=n)
sample_mean = np.mean(sample)
sample_std = np.std(sample, ddof=1)# sample std dev with Bessel's correction
t_stat =(sample_mean - mu)/(sample_std / np.sqrt(n))
t_stats.append(t_stat)# Plot histogram of simulated t-statistics
x = np.linspace(-5,5,1000)
plt.figure(figsize=(10,6))
plt.hist(t_stats, bins=50, density=True, alpha=0.6, label='Simulated t-Statistics')# Overlay theoretical t-distribution
plt.plot(x, t.pdf(x, df), label=f'Theoretical t-Distribution (df={df})', color='red', linewidth=2)
plt.title('Monte Carlo Simulation of t-Distribution (n=10)')
plt.xlabel('t-value')
plt.ylabel('Density')
plt.legend()
plt.grid(True)
plt.show()技术支持
模拟得到的 t 值形成的分布与df = 9 的理论 t 分布高度吻合。通过随机抽样来理解和验证 t 分布,是一种非常实用的方法。这也是自助法与基于重抽样推断的基础概念。
在处理真实世界数据时,样本量往往较小或总体方差未知。在这种情况下,基于正态分布的传统统计技术可能并不适用。这正是 t 分布(也称为 Student’s t 分布)发挥作用的地方。当数据有限或不确定性较高时,它是进行可靠统计推断的有力工具。
本文将介绍什么是 t 分布、它与相似分布的比较、其关键数学性质,以及它在实践中的用法,尤其是在假设检验和置信区间中。文末我还附上了 t 分布表以便快速查阅。
什么是 t 分布?
与正态分布类似,t 分布同样对称、呈钟形。然而,它具有更厚的尾部,反映了小样本常见的更大不确定性。
此外,还有一个关键因素使 t 分布与众不同:它由自由度(df)决定。该值 df 计算为样本量减一(n − 1),并影响分布的形状。
随着自由度增加,t 分布会越来越接近正态分布。当样本量较大(如 n > 30)时,差异会小到几乎可以将 t 分布视为标准正态曲线。
t 分布与其他相似分布的比较
将 t 分布与其他相似分布进行比较会很有帮助。
t 分布 vs. 正态分布
尽管我们已经指出两者都是钟形分布,且 t 分布尾部更厚,更适用于小样本和总体方差未知的情形,但尤其需要强调的是其对离群值的容忍度更高。
特征
t 分布
正态分布
形状
钟形,尾部更厚
钟形,尾部更薄
使用场景
小样本,σ 未知
大样本,σ 已知
自由度
需要
不适用
对离群值的敏感性
更宽容
较不宽容
对于大样本,中心极限定理为使用正态分布提供了依据,因为样本均值趋向于服从正态分布,而不受总体形状影响。
t 分布 vs. Z 分布
Z 分布指的是标准正态分布,其均值为 0,标准差为 1。
特征
t 分布
Z 分布
方差已知?
否
是
尾部厚度
更厚
更薄
常用检验
t 检验
Z 检验
是否用于小样本
是
否
我们用一个 Python 代码示例来理解这一点:
特殊情形与相关分布
t 分布与其他若干概率分布密切相关:
t 分布的局限性
t 分布假设底层数据近似正态。在高度偏态或明显非正态的数据中,它可能并不合适。在这类情形下,更稳健的统计技术或非参数方法可能更为适用。
现在我们比较一下 t 检验在正态数据与偏态数据(两者具有相同均值)上的表现。
左图展示了来自正态分布的数据,此时 t 检验适用,p 值可靠。而右图展示了来自指数分布的偏态数据,尽管样本均值可能相近,t 检验假设对称性且无法考虑偏度,可能给出不准确的 p 值。
t 分布的数学性质
t 分布定义为:
其中:
概率密度函数(PDF)
关键性质
模拟
蒙特卡罗方法常用于模拟服从 t 分布的随机变量,特别是在评估统计显著性或创建合成数据时。
我们用 Python 来进行模拟。
这里的目标是模拟大量小样本实验(样本量 = 10),为每个实验计算 t 统计量,并将所得分布与理论 t 分布进行比较。
为此,我们需遵循以下步骤:
模拟得到的 t 值形成的分布与df = 9 的理论 t 分布高度吻合。通过随机抽样来理解和验证 t 分布,是一种非常实用的方法。这也是自助法与基于重抽样推断的基础概念。
何时使用 t 分布
t 分布是许多统计应用的基石:
使用 t 分布构造置信区间
均值的置信区间计算为:
其中:
使用 t 分布表或计算器查找临界值。
使用 t 分布进行假设检验
在t 检验中,检验统计量为:
将其与临界 t 值比较,以决定是否接受或拒绝原假设。t 检验可以是:
图示有助于可视化单尾与双尾检验中的临界区域。
t 分布表
t 分布表列出了在不同置信水平和自由度下的 t 分布临界值。它对于以下用途至关重要:
如果对您有帮助,我在此附上一份精简版的 t 分布表供参考:
结论
希望本文能帮助您系统理解 t 分布,并在理论与实践之间搭建起桥梁。它是统计学中处理不确定性(尤其是小样本或总体参数未知)时的核心概念。
此外,随着我们开展更高级的数据工作,例如涉及稳健统计和贝叶斯方法的任务,t 分布仍会频繁出现。建议您报名我们的 Statistician in R 职业路径,进一步精通相关内容。