「所有确定性都诞生于对不确定性的驯服 ——人类用数学的绳索,捆住了概率的星云」

概率论本质上是定义了一组接口, 满足其接口定义的任何东西都可以视为概率, 统计学则是构建在这组接口上的实际应用. 在大学的课程中, 比较侧重于学习概率论的理论知识, 而弱化统计相关的概念与方法. 脱离实践的理论学习是无法深度的, 统计学正是利用概率论的最佳领域. 本文根据<<统计学>>介绍与统计相关的基本概念与方法.

第一章 统计学基本概念

总体与样本

总体是所研究的全部个体的集合, 样本是从总体中抽取的一部分个体的集合. 通常情况下, 无法直接对总体进行研究, 而只能从中抽取部分个体构成一个样本.

参数与统计量

参数是用来描述总体特征的概括性数字度量. 由于总体通常是不可知的, 因此参数是一个未知的常量. 实际中, 需要根据样本计算出某些值, 然后估计参数.

统计量是用来描述样本特征的概括性数字度量. 由于抽样是随机的, 因此统计量是样本的函数.

第二章 数据的概括性度量

总数, 平均数, 中位数的概率已经非常熟悉, 不在赘述.

离散程度的度量

异众比例

非众数的频率占总频率的比例. 该指标用于衡量总数对总体数据的代表程度

四分位差

上四分位数与下四分位数的差, 反应了中间50%的数据的离散程度.

离散系数

离散系数也称为变异系数, 是一组数据的标准差与平均数之比.

偏态与峰态的度量

偏态系数

偏态是对数据分布对称性的度量, 对于未分组的原始数据, 可采取如下的公式计算

$$
SK = \frac{n\sum(x_i - \bar{x})^3}{(n-1)(n-2)s^3}
$$

其中$s^3$是样本的标准差的3次方. 如果一组数据是对称的, 则偏态系数为0. 如果大于1或者小于-1, 则认为是高度偏态.

峰态系数

峰态是相对正态分布而言的. 如果一组数据服从正态分布, 则其峰态系数为0. 若峰态系数明显不为0, 则对应的分布与正态分布相比更平或更尖.

第三章 统计量及其抽样分布

常用统计量

设$X_1, X_2, \cdots, X_n$是从总体$X$中抽取的容量为n的一个样本, 如果次样本构造一个函数$T=(X_1, X_2, \cdots, X_n)$不依赖任何未知参数,则称函数T是一个统计量

也就是字面意义上的, 可以从样本中通过统计得出的量. E(X)和D(X)等依赖实际分布的量就不是统计量

进行一次抽样(获取了n个具体的样本)就可以计算一次统计量. 在后续会讨论统计量的分布, 此时就是在说, 假设进行了k次抽样, 每次抽取n个数据时, 对应的统计量是如何分布的.

样本均值

$$
\bar{X} = \frac{\sum_{i=1}^n (X_i)}{n}
$$

样本方差

$$
S^2 = \frac{1}{n-1}\sum_{i=1}^n (X_i - \bar{X})^2
$$

抽样分布

正态分布

卡方分布

设随机变量$X_1, X_2, \cdots, X_n$互相独立, 且$X_i(i=1,2, \cdots, n)$服从标准正态分布, 则他们的平方和服从自由度为n的$\chi^2$分布.

对于任意一个分布, 从中抽取n个样本, 将每个具体的样本视为一个随机变量, 则这些随机变量之间应该是相互独立且服从相同分布的.

从$\chi^2$分布是关于平方和的分布可以预见此分布在方差类的场景有较多的应用.

对于$\chi^2$分布有 $E(\chi^2) = n$, $D(\chi^2) = 2n$.

从$\chi^2$分布的定义可以显然的得出$\chi^2$分布具有可加性, 即$\chi_1^2 + \chi_2^2 \sim \chi^2(n_1 + n2)$

从实践的角度来说, 并不需要关心卡方分布的数学表达, 仅需要能够识别出什么时候采用卡方分布即可. 但从学习的角度来说, 后续还是需要补充其数学理论.

t分布

设随机变量$X \sim N(0,1), Y \sim \chi^2(n)$, 且X与Y相互独立, 则定义

$$
t = \frac{X}{\sqrt{Y/n}}
$$

该分布称为$t$分布, 记为$t(n)$, 其中n为自由度.

当$n >= 2$时, 有$E(t) = 0$

当$n >= 3$时, 有$D(t)=\frac{n}{n-2}$

$t$分布与小样本理论有密切关系

F分布

设随机变量$Y$与$Z$相互独立, 且$Y$与$Z$分别服从自由度为$m$和$n$的$\chi^2$分布, 随机变量$X$具有如下的表达式

$$
X = \frac{Y/m}{Z/n}=\frac{nY}{mZ}
$$

则称$X$服从第一自由度为$m$, 第二自由度为$n$的$F$分布, 记为$F(m, n)$.

$F$分布与$t$分布存在如下关系: 如果随机变量$X$服从$t(n)$分布, 则$X^2$服从$F(1,n)$分布, 则在回归分析的回归系数显著性检验中有用.

样本均值的分布

设$X_1, X_2, \cdots, X_n$是从总体中抽取的随机样本, 假设总体分布为正态分布$N(\mu, \sigma^2)$, 则样本的均值依然服从正态分布, 且

$$
\bar{X} \sim N(\mu, \frac{\sigma^2}{n})
$$

以上结果表明, $\bar{X}$的期望与总体均值相同, 而方差随着样本数量的增加而缩小. 当n越来越大时, $\bar{X}$的散布程度越来越小, 使用$\bar{X}$估计$\mu$也就越来越准确.

注意区分样本大小与抽样次数. 样本越大就越能体验总体的分布情况, 因此得到的样本均值的方差就会越小. 但单纯的进行多次抽样只会得到同一个分布下的不同数据, 并不会导致分布发生变化.

中心极限定理

设从均值为$\mu$, 方差为$\sigma^2$(有限)的任意一个总体中抽取样本量为n的样本, 当n充分大时, 有

$$
\bar{X} \sim N(\mu, \frac{\sigma^2}{n})
$$

中心极限定理是抽样分析理论的基础, 如果不存在中心极限定理, 即样本的抽样分布总是取决于实际的分布情况, 那么就无法在理论上进行统一的建模分析, 导致统计学的实际应用将会非常的复杂. 也正因为如此, 这个定理才称为中心极限定理.

以前学习的定义中, 中心极限定理表述为N个独立同分布的随机变量之和服从正态分布. 从表述上看, 似乎与以前学习的中心极限定理不同, 但实际上抽取的n个具体样本就是n个独立同分布的随机变量. 因此以上表述相当于中心极限定理在统计学上的应用.

通常将n大于等于30视为充分大. 注意n为样本大小, 即一次抽样过程中实际抽取的样本数量. n越大则对应的分布越窄, 那么进行一次抽样时, 统计量接近实际量的概率就越大.


可通过计算机编程验证中心极限定理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 使用泊松分布产生样本, 每次产生1000个随机数, 计算这些随机数的均值
# 进行100次采样操作, 根据中心极限定理, 均值应该服从正态分布,
Z = [np.average(np.random.poisson(5, 1000)) for i in range(100)]


# 绘制这些数据的频率直方图
s = pd.DataFrame(Z, columns=['values'])
fig = plt.figure(figsize=(10, 6))
ax2 = fig.add_subplot(2, 1, 2)
s.hist(bins=20,alpha=0.5,ax=ax2)
s.plot(kind='kde', secondary_y=True,ax=ax2) # 使用双坐标轴
plt.grid()

# 计算数据是否符合正态分布
shapiro(Z)

数据绘制的频率直方图如下所示:

验证中心极限定理

从曲线形状看, 虽然不是特别光滑, 但基本符合正态分布曲线的形状. 使用shapiro检验数据是否为正态分布的计算结果如下:

1
ShapiroResult(statistic=0.9927898049354553, pvalue=0.8750585913658142)

由于$p>0.05$, 因此无法拒绝原假设, 可以认为数据符合正态分布.

第四章 参数估计

如果可以获取总体数据, 那么仅需要使用统计方法即可获得相应的特征, 例如总体均值, 方差等. 但实际情况中往往无法获取总体数据, 因此仅能够通过抽样的方式获取部分数据, 并根据这部分数据估计总体的参数.

用来估计总体参数的统计量称为估计量, 使用$\hat{\theta}$表示, 根据具体样本计算出来的统计量的数值称为估计值.

点估计与区间估计

点估计就是用样本统计量$\hat{\theta}$的某个取值直接作为总体参数$\theta$的估计值. 点估计仅有一个取值, 无法给出估计的可靠程度的度量, 因此通常给出区间估计.

区间估计在点估计的基础上, 给出总体参数的估计的一个区间范围. 由中心极限定理可知, 在重复抽样的情况下样本均值服从特定的正态分布, 可根据正态分布表得知在不同标准差范围内的概率, 例如分布在3个标准差范围内的概率为0.9973.

由于$\bar{x}$与$\mu$的距离实际是对称的, 因此反过来也可以根据$\bar{x}$判断$\mu$在区间内的概率. 由此可以根据$\bar{x}$给出一个区间, 并得到区间的置信水平.

注意: 每抽取一次样本, 就可以计算一个唯一确定的区间. 真实的$\mu$值要么在该区间, 要么不在该区间, 并不涉及概率问题. 置信水平为95%是指重复进行抽样和计算区间的操作时, 可能有95%的操作计算出的区间包含真实的$\mu$值

一个总体参数的区间估计

总体均值的区间估计

(正态分布且方差已知)或(非正态分布但大样本): 此时样本均值经过标准化后服从标准正态分布, 即

$$
z=\frac{\bar{x} - \mu}{\sigma / \sqrt{n}} \sim N(0, 1)
$$

根据标准正态分布表, 可计算不同置信水平的概率. 当给定的置信水平为$1-\alpha$时, 等价于求解如下的概率

$$
P(-z_{\alpha/2} \le z\le z_{\alpha/2}) = 1 - \alpha
$$

由于正态分布时对称的, 因此也等价于求解

$$
P(z \le z_{\alpha/2}) = 1 - \frac{\alpha}{2}
$$

正态分布是对称的, 中间的部分占比为$1-\alpha$, 则两端占的面积一共为$\alpha$, 因此单边就是$\frac{\alpha}{2}$

可通过在线标准正态分布表查询不同比例下z的取值, 例如当$\alpha=0.05$时, 查询到$z=1.96$时, UP to Z的面积为97.5%(即$1 - \frac{\alpha}{2}$)

将查询到的值乘以$\sigma / \sqrt{n}$即为一半区间的大小.

当总体方差未知时, 如果为大样本, 则可以使用样本方差代替总体方差进行计算


正态总体且方差未知且小样本: 此时使用样本方差代替总体方差进行标准化后, 服从自由度为$n-1$的$t$分布, 即

$$
z=\frac{\bar{x} - \mu}{s / \sqrt{n}} \sim t(n - 1)
$$

该情况下的置信区间的计算方式与正态分布类似, 也需要查表获得$t_{\alpha/2}$的值

总体比例的区间估计

略, 见<<统计学>> 7.2.2 节

总体方差的区间估计

正态分布: 样本方差服从自由度为$n-1$的$\chi^2$分布. 与正态分布类似的方差查询$\chi^2$分布表获得对应的区间大小.

参数与分布对应关系

一个总体参数的区间估计

两个总体参数的估计

两个总体均值之差的估计

(正态分布且方差已知)或(非正态分布但大样本): 两个样本的均值差标准化后服从标准正态分布, 即

$$
z = \frac{(\bar{x_1} - \bar{x_2}) - (\mu_1 - \mu_2)}{\sqrt{\frac{\sigma_1^2}{n_1} + \frac{\sigma_2^2}{n_2}}} \sim N(0, 1)
$$

如果方差未知, 在大样本情况下可用样本方差替换总体方差


正态总体且方差未知且小样本: 如果两个样本方差相同, 此时使用样本方差代替总体方差进行标准化后, 服从自由度为$n_1+n_2-2$的$t$分布, 即

$$
z = \frac{(\bar{x_1} - \bar{x_2}) - (\mu_1 - \mu_2)}{s_p\sqrt{\frac{1}{n_1} + \frac{1}{n_2}}} \sim t(n_1+n_2-2)
$$

如果两个样本的方差不相等, 则需要按照如下的方式计算自由度, 令

$$
v_1 = \frac{s_1^2}{n_1}
$$

$$
v_2 = \frac{s_2^2}{n_2}
$$

则对应的自由度为

$$
v = \frac{(v_1 +v_2)^2}{\frac{v_1^2}{n_1 - 1} + \frac{v_2^2}{n_2 - 1}}
$$


匹配样本: 匹配样本是指控制其他变量的情况下得到的样本, 例如给定12名工人, 使他们分别使用方法一和方法二进行操作, 比较方法一和方法二的效果. 通过这种方法可以排除其他因素对效果的影响.

此时在大样本下时, 每一对数据的差值标准化后服从正态分布, 小样本下时, 每一对数据的差值服从自由度为$n-1$的$t$分布, 例如大样本时置信区间为

$$
\bar{d} \pm z_{\alpha/2} \frac{\sigma_d}{\sqrt{n}}
$$

其中$\bar{d}$表示对应差值的均值, $\sigma_d$表示对应差值的标准差.

两个总体方差比的区间估计

实际工作中可能遇到比较两个总体方差的情况, 例如比较两种生产方法的产品性能的稳定性.

两个样本方差比的抽样分布服从$F(n_1 -1, n_2 - 1)$分布, 可类似正态分布的方式查表计算区间长度.

参数与分布对应关系

两个总体参数的区间估

第五章 假设检验

原假设与备择假设

原假设是我们关系的问题, 例如我们想知道一个产品的平均质量是否为某一特定值, 则可以假设

$$
H_0 : \mu = \mu_0
$$

与之相对应的假设称为备择假设, 例如

$$
H_1: \mu \ne \mu_0
$$

原假设与备择假设互斥, 肯定原假设意味着放弃备择假设; 否定原假设意味着接受备择假设.

两类错误

项目 没有拒绝$H_0$ 拒绝$H_0$
$H_0$为真 $1-\alpha$(正确决策) $\alpha$(弃真错误)
$H_0$为伪 $\beta$(取伪错误) $1-\beta$(正确决策)

第一类错误是$H_0$为真, 但是拒绝$H_0$. 犯此类错误的概率通常用$\alpha$表示, 也称为$\alpha$错误.

第二类错误是$H_0$为伪, 但接受$H_0$. 犯此类错误的概率通常用$\beta$表示, 也称为$\beta$错误.

$\alpha$错误与$\beta$错误呈现此消彼长的关系, 我们通常将关心的具体的问题作为原假设, 因此通常以控制$\alpha$错误出现的概率作为目标.

通过增大样本量可以做到同时减小$\alpha$错误与$\beta$错误的概率

假设检验思路

  1. 统计量经过适当转换以后可以变成某种已知的标准分布(正态分布, $t$分布等)
  2. 根据标准分布可计算在给定的概率下, 抽样数据可能处于的区间
  3. 判断统计量是否位于区间, 如果位于区间则不能拒绝原假设.
  4. 否则可以认为统计量位于区间外是小概率事件, 从而认为假设不成立.

P值

P值是在原假设成立的情况下, 出现样本结果或更极端结果的概率. 如果P值很小, 则说明出现这种情况的概率很小, 拒绝原假设的理由就越充分.

例如在双边假设中, 如果设定$\alpha=0.05$, 则当$P>0.025$时就不能拒绝原假设, 反之则可以认为原假设不成立.

各类软件都可以比较方便的计算出P值, 将P值与显著水平进行比较就可以简单的判断能否拒绝原假设.

检验问题的说明

在进行单边检测的时候, 可以自由的选择原命题, 例如可进行左侧检验

$$
H_0: \mu \ge \mu_0
$$

也可以进行右侧检测

$$
H_0: \mu \le \mu_0
$$

但是如果抽样的数据比较接近中间位置, 则可能两个原假设都是无法拒绝的结论.

这并不是一种矛盾的现象, 统计推断并不是一种非此即彼的逻辑. 只有到抽样数据落在拒绝域之中, 才能说有充分的理由相信原假设不成立.

因此在实际问题中, 通常需要根据问题背景合理的选择原假设. 一般将希望证明的假设作为备择假设, 而将原有的, 传统的观点作为原假设.

因为如果认可原有的结论, 就不需要进行检验了, 只有对原有的结论产生怀疑时, 才会希望通过假设检验来推翻原有的观念.

第六章 分类数据分析

$\chi^2$统计量

若用$f_o$表示观察值频数, 用$f_e$表示期望值频数, 则$\chi^2$统计量可以表示为

$$
\chi^2=\sum\frac{(f_o -f_e)^2}{f_e}
$$

在数据量很大的情况下, 可以假设$f_o -f_e$在多个分类变量上服从正态分布, 即每个分类变量独立的影响观测值. 通过一点数学技巧可以证明通过一些除法操作, 可以使其变为标准正态分布. 因此将它们加起来服从标准卡方分布

拟合优度检验

拟合优度检验是用$\chi^2$统计量进行统计显著性检验, 用于判断期望频数与观察频数是否具有显著性差异, 从而对分类变量进行分析.

首先假定要检测的数据与理论值不存在显著差异, 然后可通过查表获得指定自由度下给定显著水平的$\chi^2$统计量值. 如果计算结果大于查表的值, 则说明数据偏离预期, 应该拒绝原假设.

自由度的取值为分类变量数量减一. 例如按照性别进行分类, 则可分为男和女, 分类数量为2, 则对应的$\chi^2$统计量自由度为1.

各类软件可直接完成拟合优度检验, 并给出P值

独立性检验

独立性检验是分析列联表中行变量与列变量是否相互独立.

其主要思路是先假定两个变量相互独立, 依次计算表格中各个情况下的理论值, 然后使用$\chi^2$统计量判断其是否明显偏离理论值. 因为相互独立是卡方分布的基础假设, 因此如果明显偏离, 则可以怀疑不服从卡方分布, 从而认为变量相互不独立.

各类软件可直接完成独立性检验, 并给出P值

$\chi^2$分布的期望值准则

$\chi^2$分布进行独立性检验要求样本量足够大, 尤其是每个单元格的期望频数不能过小, 否则$\chi^2$检验可能得到错误的结论. 通常有两条准则

  1. 如果只有两个单元, 则每个单元的期望频数必须是5或5以上
  2. 如果有多个单元, 则不能有超过20%的单元的期望频数小于5

扩展: 功效分析

核心概念:统计功效(Statistical Power)

  • 定义: 统计功效是指在原假设(H₀)实际上为假的情况下,正确地拒绝原假设(H₀) 的概率。简单说,就是当真实效应(差异、关联等)存在时,你的研究能检测到它的能力有多大。
  • 量化表示: 通常用 1 - β 表示,其中 β 是犯第二类错误(Type II Error)的概率。
  • 第二类错误(Type II Error, β): 当原假设(H₀)实际上为假(即备择假设 H₁ 为真)时,却未能拒绝原假设(H₀) 的错误。也就是“漏诊” - 效应存在但你没检测到。
  • 目标: 研究者通常希望功效足够高(例如 ≥ 0.8 或 80%),以确保研究有足够高的可能性检测到实际存在的效应。

功效分析(Power Analysis)的原理

功效分析的核心是理解影响统计功效的四个关键参数之间的动态关系:

  1. 统计功效(Power, 1 - β): 我们希望达到的目标值(如 0.8)。
  2. 显著性水平(Significance Level, α): 犯第一类错误(Type I Error)的概率。即当原假设(H₀)实际上为真时,却错误地拒绝了它(假阳性)。通常预先设定为 0.05 或 0.01。α 越小,拒绝 H₀ 的标准越严格,检测效应越困难(在其他条件不变的情况下,功效会降低)。
  3. 效应量(Effect Size, d / δ / r / OR / HR 等): 研究中关注的效应或差异的标准化大小。它不是原始的均值差或比例差,而是消除了测量单位影响、反映效应相对强度的指标。常见的效应量包括:
    • 均值比较: Cohen’s d (两组均值差除以合并标准差), Hedges’ g (小样本校正)。
    • 相关性: 相关系数 r。
    • 比例比较: 比例差、比值比 (OR)、相对风险 (RR)。
    • 方差分析: η² (eta-squared), ω² (omega-squared)。
    • 回归: 回归系数(需要标准化或结合标准差解释)、f²。
    • 生存分析: 风险比 (HR)。 效应量越大,效应越明显,越容易被检测到(在其他条件不变的情况下,功效越高)。
  4. 样本量(Sample Size, N): 研究中包含的观测值数量。样本量越大,数据的“信号”(效应)相对于“噪音”(随机变异)就越强,越容易检测到效应(在其他条件不变的情况下,功效越高)。

这四个参数(功效 Power、显著性水平 α、效应量 Effect Size、样本量 N)是相互关联的。只要其中任意三个参数确定,就可以计算出第四个参数。

功效分析的主要应用场景(目的):

  1. 前瞻性:事前样本量估计(A Priori Power Analysis):

    • 目的:开始收集数据之前,确定达到目标功效(如 0.8)所需的样本量。
    • 输入: 目标功效(1 - β)、显著性水平(α)、预期效应量(Effect Size)。
    • 输出: 所需的最小样本量(N)。
    • 重要性: 这是功效分析最重要、最推荐的用途。它确保研究在设计阶段就有足够的资源(样本量)去检测预期大小的效应,避免因样本量不足而导致研究“徒劳无功”(浪费资源却无法得出可靠结论)。
    • 关键挑战: 需要合理估计预期效应量。这可以基于:
      • 先前类似研究的结果。
      • 理论模型预测。
      • 最小有意义/具有临床/实践重要性的效应量(这通常是更稳健的选择)。
      • 试点研究的结果。
  2. 回顾性:事后功效计算(Post Hoc Power Analysis):

    • 目的:研究完成并获得结果后,基于实际观测到的效应量和实际使用的样本量,计算该研究实际达到的统计功效。
    • 输入: 实际显著性水平(α,通常是预设的0.05)、实际观测到的效应量(Effect Size)、实际使用的样本量(N)。
    • 输出: 实际达到的功效(1 - β)。
    • 争议性: 这种方法存在很大争议且通常不被推荐,尤其是在零假设未被拒绝(结果“不显著”)时使用。原因:
      • 如果结果显著(H₀ 被拒绝),功效必然大于 α(通常>0.5),计算它意义不大。
      • 如果结果不显著(H₀ 未被拒绝),计算出的功效通常很低(因为效应量估计值小)。但这并不能提供新信息:不显著的结果本身就表明数据不足以提供反对 H₀ 的有力证据(即功效不足或效应确实不存在)。用观测效应量计算功效会严重低估真实功效,且容易误导(例如,观测效应量小可能是因为抽样误差大,并不代表真实效应小)。
      • 它无法区分“效应不存在”和“功效不足导致未能检测到效应”。
    • 替代方案: 对于不显著的结果,更推荐的做法是报告效应量及其置信区间(CI)。置信区间能更清晰地展示效应大小的可能范围(包括零效应和具有实际意义的效应范围),比单一的功效数值提供更有价值的信息。
  3. 敏感性分析:

    • 目的: 在固定样本量(N)、显著性水平(α)和目标功效(1 - β)的前提下,计算该研究设计能够检测到的最小效应量(Minimal Detectable Effect Size, MDES)
    • 输入: 实际或计划样本量(N)、显著性水平(α)、目标功效(1 - β)。
    • 输出: 在给定 N, α, Power 下可检测的最小效应量(MDES)。
    • 应用:
      • 事前: 评估在资源(样本量)有限的情况下,研究能检测到多小的效应。如果 MDES 大于研究者关心的最小有意义效应量,则说明研究设计可能不足以检测到有意义的效应,需要调整(增加样本量、提高 α 或降低功效要求)。
      • 事后: 帮助解释不显著的结果。如果计算出的 MDES 小于研究领域普遍认为有意义的效应量,则结果不显著更可能意味着效应不存在(或非常小);如果 MDES 大于有意义的效应量,则结果不显著可能是由于功效不足。

计算原理的核心:非中心分布(Non-central Distributions)

统计检验基于特定的抽样分布(如 t 分布、F 分布、χ² 分布)。在原假设(H₀)为真时,检验统计量服从中心分布(例如,t 分布的中心是 0)。

  • 当 H₀ 为假时(效应存在): 检验统计量的抽样分布会偏移。这个偏移的程度由非中心参数(Non-centrality Parameter, λ 或 δ) 决定。非中心参数 λ 通常与效应量 ES 和样本量 N 直接相关:λ = f(ES, N)。例如,在独立样本 t 检验中,λ = d * √(n₁ * n₂ / (n₁ + n₂))
  • 功效的计算:
    1. 根据 α 确定拒绝域(临界值 c)。例如,双尾 t 检验,c = t(α/2, df)
    2. 备择假设(H₁)为真的假设下,检验统计量服从一个非中心分布(如非中心 t 分布),其非中心参数 λ 由真实的效应量 ES 和样本量 N 计算得出。
    3. 功效(1 - β)就是这个非中心分布中,检验统计量落在拒绝域(即大于 c 或小于 -c)的概率。这通常需要数值积分或查特殊的统计表来计算。

总结关键点:

  1. 目标: 功效(1 - β)衡量检测真实效应的能力。目标是足够高(≥ 0.8)。
  2. 四要素: Power (1 - β), α, Effect Size (ES), Sample Size (N) 相互关联。
  3. 核心应用:
    • 事前样本量估计: (最推荐) 用预期 ES, α, 目标 Power → 计算所需 N。
    • 敏感性分析: 用给定 N, α, 目标 Power → 计算可检测的最小效应量 MDES。
    • 事后功效计算: (不推荐,尤其结果不显著时) 用实际 N, α, 观测 ES → 计算实际 Power。
  4. 计算基础: 当效应存在时(H₀ 假),检验统计量服从非中心分布。功效是该分布下统计量落在拒绝域的概率。
  5. 重要性: 进行功效分析(尤其是事前样本量估计)是良好研究设计的关键环节,能显著提高研究的可靠性、效率和伦理合理性(避免浪费受试者资源)。

扩展: 辛普森悖论

当数据被分成多个组进行分析时,每个组都表现出相同的趋势(比如A在每组中都优于B),但当这些组的数据合并成总体后观察,总体反而表现出完全相反的趋势(比如B优于A)。​

辛普森悖论举例

例如在上图中, 每个年龄段都可以观察到患病率与作息规律成反比, 但将所有数据汇总以后, 会观察到患病率与作息规律成正比的反常结论. 对于这个例子, 其原因是忽略了患病率本身会随年纪增加这一因素.

扩展: 因果推断

统计学的相关性分析只能识别两个变量之间是否存在相关性, 而无法得出其是否存在因果关系的结论. 事实上, 存在许多能观察到显著相关性, 但实际并无因果关系的例子. 例如冰淇淋销售量与溺水人数正相关, 但两种并无直接关系, 而是相同的因素”炎热天气”导致了两者同步变化.

因果研究中的一个普遍共识是随机对照试验是量化因果关系的黄金准则. 随机对照试验中策略分配的完全随机性切断了一切可能的混杂的影响, 同时在整个样本空间的随机对照试验中避免了样本的选择性偏差的
存在.

  • ✨ 黄金标准!✨ 如果你能主动操控世界(像魔法一样🧙‍♀️),就把研究对象随机分成两组:一组接受”处理”(比如吃新药💊),另一组作为”对照组”(比如吃安慰剂)。
  • 🌱 栗子: 想研究新肥料能不能让小麦增产🌾?随机选两块一样的田,一块施肥,一块不施(对照组)。收成后,增产的差值就可以归因于肥料啦!
  • ⭐ 优势: 完美处理混杂!因果效力最强。
  • ⚠️ 局限: 很多时候做不到(比如研究吸烟致癌🚬,总不能强迫人抽烟吧?)、成本高、伦理问题(比如故意让人接触有害物质?不行不行🙅‍♀️)

随机对照试验保持了试验过程中的唯一变量,即针对同质的群体随机分配不同的策略。这一方法在实施了随机策略分配后, 使用经典的假设检验技术即可得知效果是否显著.

但是实际情况中, 由于各种原因, 往往无法实现随机对照试验, 此时就需要因果推断中的其他方法来替代.

基于设计思想的因果推断方法

基于设计思想的因果推断方法通过对观测数据进行组合、差分或找到特殊变量的方式将数据还原成随机对照试验的情况。

双重差分(Differences In Differences,DID)法一种在无法随机分配样本情况下的替代方法,主要应用于区域性的策略评估问题。DID法的目标是获取相对同质的策略组和控制组,这个“相对”是指除策略影响外,策略组和控制组的结果变量随时间的变化存在一个基本固定的差异。对于相对同质的策略组和控制组,DID法通过第一次的差分消除这个基本固定的差异,通过第二次的差分评估策略带来的实际效应。

双重差分

DID模型的原理很清晰,在无法获取完全同质的策略组和控制组的情况下,替代地获取存在固定组间差异的试验数据以抵抗混杂的影响,最后通过回归系数的显著性检验来评估策略实施的净效应。

但是现实数据通常并不会像上图一样理想, 在试验之前,首先需要检验策略组和控制组是否随着时间变化保持一个基本固定的差异,即平行趋势检验。


合成控制法(Synthetic Control Methodology,SCM)主要针对随机对照试验中控制组缺失的问题,它通过对与策略组相似的样本组进行加权来得到反映事实的对照结果(控制组)

首先挑选一些可能得因素变量, 通过数据拟合的方式, 得到这些因果变量和观察目标的关系. 在执行干预后, 可以继续使用原来的关系计算出相当于”没有被干预时”的预测值. 通过对比这个预测值和实际值, 就可以得知干预策略的效果.

显而易见, 合成控制法说服力非常依赖于因素选择. 不当选择将导致结论严重偏离

为了评估观察到的差异是否由随机波动引起,可以进行安慰剂检验:对对照组池中的其他单元依次“假装”对其干预,并构建各自的“合成控制”,看看处理单元的效果是否比其他单元的“假想效果”更极端(更大、更显著)。这是该方法进行统计显著性评估的核心手段。


断点回归(Regression Discontinuity,RD)法被认为是一种最接近随机对照试验的因果推断方法。该方法通过找到一个能高度反映策略变量的连续变量,进而做结果变量基于该连续变量的断点回归分析。

假设我们的课题是研究大学生与未读过大学的学生毕业后的工资差异程度。大学生关于学习能力的相关技能的平均值会显著不同于未读过大学的学生,而这些因素均可能是影响工资差异的关键变量,但我们不能通过随机对照试验来研究这个课题,因为我们不能使能读大学的学生不继续学习,反之,也不能实现。

面对这种场景,断点回归法即可派上用场,例如,某大学的录取分数线是400分,高考成绩大于400分的学生可以划分到策略组,即读过大学;反之,划分到控制组,即未读过大学。同时,研究的范围限定在高考成绩等于400分的小邻域内,如高考成绩落在区间[390,400)的学生为控制组,高考成绩落在区间[400,410]的学生为策略组。因此,高考成绩为399分的学生与高考成绩为401分的学生在学习相关的各项技能上并没有本质的区别,这就得到了相对同质的样本组。

接下来只需要将断点前后作为一个变量加入统计回滚分析, 检查断点前后有无显著变化即可


工具变量法(Instrumental Variable, IV)是因果推断中解决内生性问题(如遗漏变量、测量误差、反向因果等)的核心方法。其核心思想是:借助一个特殊变量(工具变量),将被解释变量中受内生性影响的部分剔除或替代,从而分离出解释变量中与误差项无关的“外生”变化,以得到更纯净的因果效应估计。

在回归模型 Y = βX + ε 中,我们想估计 X 对 Y 的因果效应 β。当 X 与误差项 ε 相关时(即 Cov(X, ε) ≠ 0),OLS 估计量是有偏、不一致的。

常见原因是遗漏变量, 即 ε 包含同时影响 X 和 Y 但未观测到的变量。例如,研究教育年限(X)对工资(Y)影响时,个人能力(观测不到)影响教育选择也影响工资,导致 Cov(X, ε) ≠ 0。

工具变量 (Z) 需要满足以下两个关键条件:

(1) 相关性 (Relevance): Z 必须与内生解释变量 X 高度相关。即 Cov(Z, X) ≠ 0。这确保了工具含有影响 X 变动的信息。

(2) 外生性/排他性约束 (Exogeneity/Exclusion Restriction): Z 必须与模型的误差项 ε 无关。即 Cov(Z, ε) = 0。更直观地说,Z 只能通过影响 X 来间接影响 Y,不能通过其他任何路径直接影响 Y 或与影响 Y 的未观测因素(遗漏在 ε 中)相关。

工具变量法的实现通常基于两阶段最小二乘法 (2SLS) :
第一阶段: 用内生解释变量 X 对工具变量 Z 以及其他所有外生控制变量 (W) 进行回归: X = γZ + δW + v
目的:捕获 Z 影响 X 的部分,得到 X 的预测值 ^X = f(Z, W)。^X 仅由外生变量 Z 和 W 驱动。

第二阶段: 用结果变量 Y 对第一阶段得到的预测值 ^X(代替原始 X)以及其他外生控制变量 (W) 进行回归: Y = β(^X) + θW + u
目的:因为 ^X 只保留了 X 中与工具变量 Z 相关的、且(理论上)与误差 ε 无关的部分 (Cov(^X, ε) ≈ 0),所以这一步估计出的 β 就是 X 对 Y 的因果效应。
估计效果:局部平均处理效应 (LATE)


  • 📐 2.1 回归调整 / 协变量调整
    • 思路: 通过统计模型(如线性回归、逻辑回归),在模型中直接控制住那些可能同时影响”处理”和”结果”的变量(即混杂变量),试图”剥离”它们的影响,来估计处理变量对结果的”净效应”。
    • 🌰 栗子: 想研究教育年限💰收入。但家庭背景(混杂)既影响教育又影响收入。我们用模型 收入 ~ 教育年限 + 家庭背景 + 其他混杂变量。系数 教育年限 就是在控制了家庭背景等因素后,教育对收入的估计因果效应。
    • ⚠️ 关键:必须识别并测量所有重要混杂变量! 漏掉一个(比如个人能力,很难测量),结果就可能不准(混杂偏差)。
  • 🎭 2.2 倾向得分匹配
    • 思路: 既然做不到随机分组,就努力让处理组和对照组在观察到的特征上”看起来”像是随机分的
    • 原理:
      1. 用模型(如逻辑回归)预测每个人接受处理的可能性(这就是倾向得分)。
      2. 为每个处理组的人,在对照组里找一个或多个倾向得分非常接近的人作为”替身”🧚‍♀️。
      3. 比较”处理组”和”匹配后对照组”的结果差异,作为因果效应的估计。
    • 🌰 栗子: 研究职业培训💰就业率。参加培训的人(处理组)可能本身就更积极向上(混杂)。我们基于年龄、学历、之前工作经历等预测他们参加培训的概率(倾向得分)。然后给每个参加培训的人,找一个没参加但倾向得分差不多的人(就像性格、背景相似的”双胞胎”),最后比较这两组人的就业率。
    • ⭐ 优势: 直观,模拟了实验的思想。
    • ⚠️ 局限: 依然只能控制观察到的混杂变量,且需要处理组和对照组有倾向得分重叠区域,匹配过程可能丢数据。
  • 📏 2.3 逆概率处理加权
    • 思路: 还是用倾向得分。给每个人的数据赋予一个权重:处理组的权重是 1/倾向得分,对照组的权重是 1/(1 - 倾向得分)
    • 🌟 魔法效果: 加权之后,被处理人群和未被处理人群在观察到的协变量分布上就变得一样了!这样比较加权后的结果差异就能估计因果效应(如ATE)。
    • 🌰 栗子: 研究药物X对心脏病康复的影响。如果老年人倾向使用X(倾向得分离1近),那他们在处理组中的权重就接近1(1/近1 ≈1),在对照组中的权重会非常大(1/(1-近1)很大)。反之,年轻人倾向不用药(得分离0近),对照组权重约1,处理组权重很大。这样加权后,相当于年轻人和老年人、不同健康状况的人在”处理”和”对照”中都有了恰当的代表性。
    • ⚠️ 关键: 同样依赖正确的倾向得分模型和强可忽略性假设。
  • ⏳ 2.4 双重差分法
    • 思路: 用于评估在某个特定时间点发生的干预(比如新政策、新功能上线)的效果。它关注处理组干预前后的结果变化趋势,与对照组在同一时期的变化趋势之差
    • 🌟 公式: DID = (处理后_处理组 - 处理前_处理组) - (处理后_对照组 - 处理前_对照组)
    • 🌰 栗子: 研究电商平台某城市推广新会员优惠活动对销售额的影响💰📈。
      • 处理组:推出新优惠的城市。
      • 对照组:没有推出新优惠的相似城市。
      • 处理组活动前销售额:100万,活动后:140万 –> 变化 +40万
      • 对照组活动前销售额:90万,活动后:100万 –> 变化 +10万
      • DID = (140-100) - (100-90) = 40 - 10 = 30万。这30万就是新优惠活动对销售额的因果效应估计(排除了同时期市场整体增长趋势的干扰)。
    • ⭐ 优势: 能控制共同的时间趋势处理组与对照组之间不随时间变化的固有差异
    • ⚠️ 假设: 平行趋势!关键假设是如果没有干预,处理组和对照组的结果变化趋势应该是平行的。
  • 🔮 2.5 工具变量法
    • 思路: 当你怀疑存在内生性(比如漏掉的混杂变量,或处理变量和结果相互影响),且无法直接控制时。找一个神奇变量🕵️‍♀️ - 工具变量。它需要满足:
      1. 关联性: IV 与处理变量强相关。
      2. 排他性约束: IV 只通过影响处理变量来影响结果,没有其他路径(不直接影响结果,也不通过混杂变量影响结果)。
      3. 独立性: IV 与那些未被观测到的混杂变量无关(近似随机)。
    • 🌰 栗子: 经典研究:估计教育年限💰收入。
      • 问题:个人能力(混杂)既影响教育选择又影响收入,但能力很难测。
      • IV 选择: 到大学的距离、出生季节(影响入学时间)、义务教育法更改年份。假设:距离只影响教育选择(比如离家近更可能上大学),不影响收入(除了通过教育);并且距离和被忽略的能力等混杂无关(近似随机)。
      • 方法: 用距离(IV)预测教育年限;然后用这个预测值去回归收入,得到教育年限对收入的因果效应估计。
    • ⚠️ 局限: 找到好的IV非常困难!排他性约束经常被质疑。

扩展: 工具变量法的意义

工具变量法(以及许多其他因果推断方法)在“剥离”其他因素后得到的估计值,究竟有没有实际意义?尤其是在“教育年限影响工资”这类复杂社会问题中,变量之间往往存在交织的网络式影响。

反对观点

还原论的困境: 现实世界中,变量很少真正“独立”运作。教育年限(X) 提升工资(Y),可能是通过提升技能、拓展人脉、信号筛选、提高自律性、延迟进入劳动力市场、改变生活环境等多种交织的渠道。“纯净”的教育年限效应(β)本身可能就是一个理论上的抽象概念,因为它无法完全脱离其伴随的其他变化(如上学期间积累的社会资本)。

LATE的局限性: 工具变量估计的是局部平均处理效应LATE,即仅对“依从者”(工具Z能改变其X的人)有效。如果这个依从者群体是一个特殊的小群体(例如:特别容易受政策变化或地理位置影响的边缘群体),那么这个LATE可能无法推广到更广泛的人群。

忽略协同效应: 剥离其他因素后的估计值,可能忽略了X和其他因素之间存在的重要交互作用或协同效应。教育年限可能在社会经济地位高的群体中回报更高,也可能在特定产业繁荣时期回报更高。孤立地看待X的效应,可能低估了在有利环境下X的实际价值。

机制不透明: IV告诉我们X变化引起的Y变化的平均效应(因果效应强度),但没有告诉我们具体的路径/机制(How/Why it works)。这限制了我们对政策干预的具体设计。

支持观点

解决混淆,识别因果方向: 最核心的意义在于克服内生性,确认“是X影响了Y,而非相反或共同的混淆因子”。 在您提到的例子中:

OLS 可能高估教育回报(因为能力强的人既受教育多又工资高)。

OLS 也可能低估(如果教育投资挤占了工作经验积累或其他有利条件)。

IV 试图剥离掉能力等混杂因素对估计值的扭曲,让我们看到一个(理论上)只由教育年限X的外生变化所驱动的Y的变化。
回答特定政策问题: LATE 回答了一个特定的、政策相关的实际问题:

“如果改变一个政策工具(比如增加助学金Z/在学校附近新建大学Z),使其能够促使一部分原本不会上大学的人去上大学(即Z能影响X),那么对这些因此改变教育决策的人来说,上大学能带来多大的工资提升?”

这对于制定特定的教育投入政策(如在哪里建大学、补贴哪类学生)具有直接的指导意义。它能预测政策干预的效果范围。
提供因果关系的“上限”或“下限”估计: 即使不能完美剥离,一个好的IV估计值可以为我们提供关于X对Y影响的更可靠的范围。如果IV估计的教育回报率远高于OLS,可能提示存在严重的向上偏误(如能力遗漏);如果远低于OLS,可能提示存在向下偏误(如测量误差)。

理解系统内部的因果关系: 即使世界是网络状互连的,理解其中一条关键的因果链路X->Y(在剥离其他混杂后的)依然具有核心价值。

这帮助我们理解X在驱动Y变化中扮演的独立角色。

它是构建更复杂模型(例如包含中介变量、交互项)的基础。先知道X确实影响Y,才能进一步去探索通过哪些具体中介(技能?证书?人脉?)产生影响。
聚焦于可操作的杠杆点: 政策制定者往往无法一次性改变所有因素。IV(尤其是通过特定Z测得的LATE)帮助我们理解:通过操纵“这个特定工具Z(可操作的杠杆点)”来影响“关键变量X”,能在目标群体(依从者)身上实现多大的Y的变化。 这具有直接的操作指导性。

结论:有意义,但有前提且需谨慎解释

存在意义: 剥离其他因素的LATE估计具有显著的实际和政策意义,尤其在评估特定政策杠杆(Z)的效果和确认核心因果关系存在性上。它能提供在其他混杂的现实数据中难以获得的、更接近于因果效应的估计。

限定条件: 其意义是具体的、有条件的:

明确LATE的对象: 只代表“工具Z能有效影响其X”的那类人群(依从者)。

理解其局限性: 不必然等于ATE或适用于所有人;不解释机制;是特定干预路径下的效应。

工具质量至关重要: 结论的可信度完全依赖于工具变量Z是否满足相关性和外生性。寻找好的工具变量极其困难。
需与其他方法结合: IV/LATE不是万能的。研究教育对工资的总体作用(ATE)需要结合其他方法(如对照实验、固定效应模型、路径分析/结构方程模型),理解具体机制则需要详细的问卷、访谈、追踪研究。

价值判断: 剥离后的“纯净效应”值本身是否有意义,取决于你提的问题!

如果你问:“我(一个具体、特定的人)多读一年书能多赚多少钱?” IV/LATE 大概率不能直接回答你(因为你未必是“依从者”),且它忽略了对你(特定个体)更重要的其他因素(如你的家庭、兴趣、特定技能)。

如果你问:“政府拨款在偏远地区新建一所大学(Z)可能为那些因此决定上大学而非立刻工作的当地学生(LATE对象)带来多少额外的终身收入预期?” 那么IV/LATE估计出的数值,就是一个极具参考价值的关键输入信息!它直接关系到这笔公共投资回报率的估算。

总结: 在复杂世界中强行剥离其他因素得到的因果效应估计(如IV得到的LATE),其意义更像一个经过严格校准的“探针”。它不是为了描绘完整的现实图景(那需要多种方法),而是为了回答特定的、关于“操纵某个具体因素或政策工具后可能导致的特定人群的期望变化”这一关键问题。这种聚焦式的、克服混杂的因果证据,在制定精准有效的政策、验证核心理论关系方面,具有不可替代的、实实在在的实践价值。但同时,必须对其结论的限定性和解释保持清醒认识。

统计学的实际应用分析

反诈系统策略有效性评估

问题: 对于一个反诈系统, 在某个策略上线前, 可以收集到每日欺诈事件的发生次数. 在策略上线后, 需要评估策略对于降低反诈事件的发生概率是否显著.

这是一个假设检验问题. 可以收集策略上线前一个月的每日欺诈事件发生次数 $X_i$ 与策略上线后一个月的每日数据 $Y_i$ . 根据中心极限定理, 即使对$X$的分布未知, 只要样本数量足够大且数据独立同分布, 则$X$的均值标准化后服从正态分布.

现在可以做出原假设: $X$和$Y$的均值相等, 即$\mu_X = \mu_Y$. 之后可以根据样本数据计算出$Y$是否位于拒绝域. 如果$Y$位于拒绝域, 则有理由认为$X$和$Y$的均值不相等, 即策略存在效果, 并给出得到该结论时犯错误的概率.

反诈系统策略有效性评估(高阶)

以上方案基本可以实现对是否显著的判断. 但实际情况中还应该考虑如下的因素

  1. 时间序列自相关:传统t检验要求数据独立,但时间数据常像串珍珠一样有相关性. 需要使用Newey-West调整
  2. 趋势干扰:如果策略前已有下降趋势,可能误判 → 需要去趋势处理
  3. 功效不足:小样本容易漏检 → 建议计算效应量(Cohen’s d)

🌟 解决方案全家桶:

1️⃣ 自相关难题破解术
`from statsmodels.stats.diagnostic import acorr_ljungbox
检验残差自相关(p<0.05存在自相关)

lb_test = acorr_ljungbox(residuals, lags=[5])

Newey-West调整标准误

import statsmodels.api as sm
model = sm.OLS(y, X)
results = model.fit(cov_type=’HAC’, cov_kwds={‘maxlags’: 3}) # 自动调整p值!
`

2️⃣ 趋势干扰消除大法
`方法一:一阶差分

diff_data = np.diff(original_data) # 从Yₜ变成Yₜ - Yₜ₋₁

方法二:回归去趋势

detrended = original_data - trend_line # 先拟合趋势线

方法三:季节性分解

from statsmodels.tsa.seasonal import seasonal_decompose
result = seasonal_decompose(data, model=’additive’)
detrended = data - result.trend
`

3️⃣ 功效提升秘籍
`效应量计算(Cohen’s d)

def cohend(d1, d2):
n1, n2 = len(d1), len(d2)
s1, s2 = np.var(d1, ddof=1), np.var(d2, ddof=1)
pooled_std = np.sqrt(((n1-1)s1 + (n2-1)s2) / (n1+n2-2))
return (np.mean(d1)-np.mean(d2)) / pooled_std

功效分析(需要样本量?)

from statsmodels.stats.power import TTestIndPower
analysis = TTestIndPower()
required_n = analysis.solve_power(effect_size=0.5, power=0.8, alpha=0.05)
`

✨ 三合一完整流程示例:
`步骤1:数据预处理

diff_pre = np.diff(pre_policy)
diff_post = np.diff(post_policy)

步骤2:自相关检查

_, p_pre_acf = acorr_ljungbox(diff_pre)

步骤3:稳健检验

if any(p_acf < 0.05): # 存在自相关
model = sm.OLS(np.concatenate([diff_pre, diff_post]),
sm.add_constant(np.repeat([0,1], [len(diff_pre), len(diff_post)])))
results = model.fit(cov_type=’HAC’)
p_value = results.pvalues[1]
else:
_, p_value = ttest_ind(diff_pre, diff_post)
``

参考资料与扩展阅读

一个视频从整体思路上了解统计学的各类基本概念

最后更新: 2025年06月14日 13:08

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2024/06/06/%E7%BB%9F%E8%AE%A1%E5%AD%A6%E7%AC%94%E8%AE%B0%E4%B9%8B%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86/