R 语言检验与置信区间简介

欢迎来到 CS1 课程中最实用的部分之一!在卷 A(Paper A)中,你花了大量时间手动计算检验统计量(test statistics)并查阅 Goldstein 统计表。而在卷 B(Paper B,即电脑考试)中,软件会为你完成这些繁重的工作,你的任务重点将从“计算”转移到“解读”。

在本章中,我们将专注于如何使用 R 进行假设检验(hypothesis tests)并构建置信区间(confidence intervals)。这对任何精算师来说都是一项至关重要的技能,因为现实世界的数据很少像“教科书般整齐”,几乎总是需要借助软件进行分析。我们将学习如何阅读 R 的输出结果、如何针对原假设(null hypotheses)作出决策,以及如何理解真实参数可能存在的数值范围。

注:如果你在进行这些检验前,需要复习如何计算平均值(mean)或方差(variance)等基本统计量,请参阅“R 语言中的概率、分位数与总结统计量”章节。

核心逻辑:\(p\)-值

在卷 B 中,\(p\)-值是你最好的朋友。卷 A 通常要求你寻找临界值(critical value),而卷 B 的输出几乎总是直接提供 \(p\)-值。

什么是 \(p\)-值? 它是在原假设(\(H_0\))为真的前提下,观察到与实际观测结果同样极端(或更极端)的结果的概率。

检验的金科玉律:
如果 \(p\)-值 \( < \alpha \)(显著性水平,通常为 0.05),我们拒绝 \(H_0\)
如果 \(p\)-值 \( \ge \alpha \),我们不拒绝 \(H_0\)

类比:你可以将 \(p\)-值视为反对原假设的“证据强度”。数值越小,代表如果 \(H_0\) 为真,该数据就越令人“惊讶”,因此我们越倾向于舍弃 \(H_0\)。

使用 t.test() 检验平均值

t.test() 函数是 R 统计功能中的“瑞士军刀”。它用于在方差未知的情况下,进行涉及正态分布(Normal distribution)的检验。

1. 单样本 t 检验

用于检验单个组别的平均值(\(\mu\))是否等于特定数值(\(\mu_0\))。

R 语法: t.test(data_vector, mu = mu_0)

2. 双样本 t 检验

用于比较两个独立组别的平均值(\(\mu_1\) 与 \(\mu_2\))。

R 语法: t.test(group1, group2)

默认情况下,R 会执行 Welch t 检验,该检验不假设两组的方差相等。如果考试要求你假设方差相等,你必须加入参数 var.equal = TRUE

3. 配对 t 检验

当你对同一组对象有两次测量时使用(例如:减肥前与减肥后的体重)。这就是教学大纲中提到的配对数据检验(test for paired data)

R 语法: t.test(before_vector, after_vector, paired = TRUE)

阅读输出结果

当你执行 t.test() 时,R 会提供一段文字。请重点关注以下三个区域:
1. t: 计算得出的检验统计量。
2. p-value: 将此数值与你的显著性水平(如 0.05)进行比较。
3. 95 percent confidence interval: 平均值差异的取值范围。如果此区间包含 0,通常意味着该差异并不显著!

比例与率:二项分布与泊松分布

教学大纲要求你掌握二项分布概率和泊松分布平均值的检验,包括使用正态近似法(normal approximation)

二项分布检验

要检验比例(例如:理赔发生的概率),我们使用 binom.test() 获取精确结果,或使用 prop.test() 进行正态近似。

例子: 如果你在 100 次试验中有 30 次成功,想检验 \(p = 0.25\):
binom.test(x = 30, n = 100, p = 0.25)

泊松分布检验

要检验泊松过程的率(例如:每年的事故次数),请使用 poisson.test()

R 语法: poisson.test(x = count_of_events, T = time_period, r = hypothesized_rate)

关键要点: 对于这两个函数,R 都会提供 \(p\)-值以及参数(\(p\) 或 \(\lambda\))的置信区间。务必检查来自 \(H_0\) 的“假设值”是否落在提供的置信区间内。

非参数方法:排列检验与自助法

有时我们不想假设数据遵循完美的正态分布或泊松分布。教学大纲强调了两种现代技术:排列检验(Permutation tests)自助法(Bootstrapping)

1. 排列检验法

这用于非参数假设检验。我们不使用分布公式,而是多次“洗牌”(shuffle)数据标签,看看我们的观测结果在随机情况下发生的概率有多大。

在卷 B 中,你可能会被要求编写一个简单的 for 循环来重新排列数据并重复计算检验统计量,从而构建你自己的分布。

2. 自助法 (The Bootstrap Method)

当标准公式未知或分布情况复杂时,这用于获取估计量的置信区间

运作方式:
1. 对你的数据进行多次有放回抽样(resample with replacement)(例如 1,000 次)。
2. 计算每次抽样的统计量(如平均值或方差)。
3. 这 1,000 个结果中的第 2.5 和 第 97.5 百分位数,便构成了你的 95% 自助法置信区间。

你知道吗?“Bootstrapping”一词源于短语“to pull oneself up by one's bootstraps”(靠自己的靴带拉起自己),这寓意着数据可以在没有外部帮助的情况下“寻找自己的分布”!

解读回归分析输出

虽然回归分析有其专门的章节,但你必须能够在回归总结(summary(lm_model))中识别出检验置信区间

1. Standard Error (标准误差): 用于构建斜率(\(\beta\))的置信区间。
2. t value (t 值): 针对 \(H_0: \beta = 0\) 的检验统计量。
3. Pr(>|t|): 该特定变量的 \(p\)-值。如果该值很小,则该变量是一个显著的预测因子。

对于广义线性模型(GLMs),你会查看离差(deviance),并使用 Pearson 卡方检验似然比检验(likelihood-ratio test)来确定模型是否与数据拟合良好。

应避免的常见错误

1. 错误的备择假设: R 默认进行“双侧”检验。如果你的假设是“大于”(\(H_1: \mu > \mu_0\)),你必须在 R 代码中指定 alternative = "greater",否则你的 \(p\)-值将会错误!

2. 误解置信区间(CI): 请记住,95% 置信区间意味着如果我们重复实验多次,在这些计算出的区间中,有 95% 会包含真实参数。这并不代表参数有 95% 的概率落在这一个特定区间内(虽然这是学生非常容易犯的错误!)。

3. 混淆配对与独立样本: 务必问自己:“这是两个不同的组别(独立),还是同一组别测量了两次(配对)?”在 t.test() 中用错类型会导致失分。

快速复习栏

- p-value < 0.05: 结果显著,拒绝 \(H_0\)。
- t.test(): 平均值(正态数据)。配对数据使用 paired = TRUE
- binom.test() / prop.test(): 比例(二项数据)。
- poisson.test(): 率(泊松数据)。
- Bootstrap (自助法): 通过有放回抽样获取置信区间。
- Permutation (排列检验): 通过洗牌标签获取非参数检验的 \(p\)-值。

如果 R 代码起初让你感到不知所措,请不要担心。在卷 B 中,你通常可以查看 R 的帮助文件(例如输入 ?t.test),这会提醒你所需的参数!