统计软件 R 语言学习笔记 (8) 估计与假设检验 t.test 与 cor.test
统计推断:估计与假设检验 t.test 与 cor.test
利用观测样本对总体参数的:点估计、区间估计与假设检验。
代码和笔记存储在 GitHub 库 【持续更新中,建议 star!】
1 统计推断的基本概念
1.1 点估计
1.1.1 估计
用于估计的统计量称为估计量(estimator);如果样本已经得到,把数据带入之后,估计量就有了一个数值,称为该估计量的一个实现(realization)或取值,也称为一个估计值(estimate)。
1.1.2 抽样分布
由于一个统计量对于不同的样本取值不同。所以,估计量也是随机变量,并有其分布,称为:抽样分布(sampling distribution)—— 从总体中选取的固定样本量所对应的样本统计量(例如样本均值)的可能值的分布,该分布来源于不同的样本。
1.1.3 无偏估计
无偏估计 :来自不同样本的平均估计量等于真实参数
其中 $\hat{\theta}$ 为总体参数 $\theta$ 的估计。
样本均值和样本方差的无偏性:
- 样本均值对于总体均值是无偏的:$E(\bar{X}) = \mu$
- 样本方差对于总体方差是无偏的:$E(S^2) = \sigma^2,\quad S^2 = \frac{1}{n-1}\sum\limits_{i=1}^n\ (X_i - \bar{X})^2$
1.1.4 标准误差
点估计的标准误差:该抽样分布的标准差。
样本均值的标准误差:
它衡量了点估计量在不同样本之间的变动程度。样本均值的标准差为:$SD(\bar{X}) = \frac{\sigma}{\sqrt{n}} \approx \frac{s}{\sqrt{n}}$
样本量 n 越大,标准误差越小。这意味着增大样本量 n 可能会提高样本均值的稳定性。
1.2 区间估计
1.2.1 概念
对于 $1 - \alpha$ 置信区间 $[c_1,\ c_2]$ 代表了真值 $\theta$ 落入区间的概率为 $1 - \alpha$ 。
例如常见的区间估计:对于样本均值的置信区间
其中 $t_{\alpha/2}(n-1)$ 为自由度为 n - 1 的 t 分布的 $\alpha/2$ 分位数点。
1.2.2 R 语言模拟
对于一个 $95\%$ 的置信区间,代表不断重复抽取(样本量相同的)样本时,产生的大量区间估计,这些区间大约有 $95\%$ 会覆盖真正的参数。
求解置信区间:求解对样本均值的区间估计的函数 takeCI
1 | takeCI <- function(x, beta = 0.95) { |
模拟一次:例如从标准正态中抽样,然后对均值进行区间估计
1 | > x <- rnorm(n = 20, mean = 0, sd = 1) # 抽样 20 个 |
【注意】根据单独一个样本集合估计的到的区间不一定包含真实值。
模拟多次:重复模拟,并记录包含真实总体均值的频率,注意到大致等于 $95\%$
1 | # 模拟 N 次 |
1.3 假设检验
1.3.1 概念
对于参数 $\theta$ 的估计为 $\hat{\theta}$ 的参数空间为 $\Theta$ ,而原假设为 $\theta \in \Theta_0$ 于是假设检验为:
通过检验统计量判断是否异常,若满足拒绝域,则拒绝原假设 $H_0$ 。
例如:对于样本均值的估计为 $\bar{X}$ ,原假设为认为总体均值 $\mu \geq \mu_0$ ,其中 $\mu_0$ 为常数。
更简单的方式,直接查看 p 值,当
即 p 值小于显著性水平,则拒绝原假设。
1.3.2 R 语言模拟
假设检验:
的拒绝域为:
势函数为:
对于这个例子:
1 | # 单侧 t 检验 |
对于第 I
类错误,控制在 $\alpha$ 的 R 语言模拟验证:
1 | # 控制第 I 类错误:H0 对但拒绝 |
p 值是统计量,且满足均匀分布 $U[0,1)$ 。
2 常见的统计推断
2.1 正态总体均值
第一步验证模型假设,例如使用 Q-Q 图验证是否近似正态。
2.1.1 t.test() 检验函数
t-检验: t.test()
提供了正态总体均值的 t。检验方法。
1 | t.test(x, y = NULL, |
1 | x, y : 可以单样本也可以两样本 |
例如:
1 | X <- c(159, 280, 101, 212, 224, 379, 179, 264, 222, 362, 168, 250, 149, 260, 485, 170) |
1 |
|
T 检验量的值 t = 0.66852
df 自由度 n - 1 = 15
p-value p-value = 0.257
所以拒绝 true mean is greater than 225
95%
置信区间 [198.2321, Inf]
2.1.2 两样本均值差的推断
对于两个独立同分布的样本
若方差相等 $\sigma_1 = \sigma_2$ 。
使用 t.test()
函数
1 | t.test(formula, data, subset, na.action = na.pass, ...) |
1 | formula: df~class 前者 df 为定量变量,后者 class 为定类变量。 |
例如:
1 | df <- read.csv("./Score.csv") |
1 |
|
检验模型近似正态:
1 | x <- df$score[df$Gender == "Female"] |
检验方差:经验直观的方法,比较 IQR
1 | boxplot(score ~ Gender, data = df) |
或者使用 vat.test()
1 | ## Default S3 method: |
例如:
1 | var.test(score ~ Gender, data = df) |
1 |
|
注意到方差不相等,则
1 | t.test(score ~ Gender, data = df, var.equal = FALSE) |
1 |
|
2.1.3 成对正态样本均值差的检验
1 | t.test(X - Y) |
2.1.4 正态性检验 shapiro.test()
可以采用直观的 Q-Q 图和直方图检验,更严谨地采用 shapiro.test()
检验。
- p 值小于 0.05 ,总体不是正态
- p 值大于 0.05 ,仅仅不能否认“总体是正态”
1 | x <- rnorm(n = 100, mean = 0, sd = 1) |
1 |
|
2.2 相关系数推断 cor.test()
相关系数:描述了两变量 X, Y 之间数据的相关性。
三种相关系数:Pearson
Spearman
Kendall
。使用函数 cor.test()
进行检验:
1 | ## Default S3 method: |
alternative
:单侧或是双侧method
:选择三个相关系数之一conf.level
:置信水平
有关 alternative
(与备择假设同方向):
- $H_1:\rho \neq 0$ 对应
alternative = c("two.sided")
- $H_1:\rho > 0$ 对应
alternative = c("greater")
- $H_1:\rho < 0$ 对应
alternative = c("less")
计算相关系数的函数 cor()
1 | cor(x, y = NULL, use = "everything", |
method
:选择三个相关系数之一use
:可选"everything"
,"all.obs"
,"complete.obs"
,"na.or.complete"
, or"pairwise.complete.obs"
例如:
1 | X <- c(7.7, 8.2, 7.8, 6.9, 8.4, 8.1, 7.1, 7.5, 7.6, 7.6, 7.9, 7.6, 7.5, 7.6, 7.6) |
1 |
|
X, Y 存在相同数字,考虑次序的 “kendall”, “spearman” 无法给出精确值。