未记录事实核验 · 状态:现行内容
记录仅说明核验时间与维护状态,不保证适用于所有环境;使用前请留意正文中的版本、适用条件与风险提示。
warning 适用边界与维护说明
本表适用于常用统计公式和基础NumPy、SciPy调用速查,不是完整公式手册或检验选型指南,部分复杂公式仅提供调用入口。使用推断检验时需结合样本独立性、配对关系及分布条件;几何均值、调和均值宜用于正值数据,变异系数通常用于具有有意义零点且均值为正的数据,均值接近零时不宜使用;表中rvalue平方对应带截距的一元线性回归。概率分布调用返回分布对象,密度或概率质量需通过pdf或pmf取得,均匀分布所列密度限于相应区间内,指数分布所列密度限于非负取值。部分统计调用返回包含统计量、p值等信息的结果对象,应与单一数值区分。本次仅作结构与内部一致性审阅,未执行代码或开展外部事实、链接目标核验。
📚 常用统计公式速查
学习目标
note 📖 **统计公式有什么用?**
统计公式就是"用简单的数学表达,把复杂问题一键搞定"。比如平均数、方差、标准差、相关系数等。
生活例子:
- 想知道班级平均分?用均值公式一算就行。
- 想知道成绩波动大不大?用方差或标准差。
🛠️ 描述性统计公式
集中趋势指标
| 公式名称 | 数学表达 | Python实现 | 相关知识 |
|---|---|---|---|
| 算术均值 | $\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i$ | np.mean(x) |
均值| |
| 几何均值 | $G = \sqrt[n]{x_1 \times x_2 \times ... \times x_n}$ | scipy.stats.gmean(x) |
几何均值|几何均值 |
| 调和均值 | $H = \frac{n}{\sum_{i=1}^{n} \frac{1}{x_i}}$ | scipy.stats.hmean(x) |
调和均值|调和均值 |
| 加权均值 | $\bar{x}_w = \frac{\sum_{i=1}^{n} w_i x_i}{\sum_{i=1}^{n} w_i}$ | np.average(x, weights=w) |
加权均值|加权均值 |
| 中位数 | 排序后的中间值 | np.median(x) |
中位数| |
| 众数 | 出现频率最高的值 | scipy.stats.mode(x) |
众数| |
离散程度指标
| 公式名称 | 数学表达 | Python实现 | 相关知识 |
|---|---|---|---|
| 样本方差 | $s^2 = \frac{1}{n-1}\sum_{i=1}^{n} (x_i-\bar{x})^2$ | np.var(x, ddof=1) |
方差|方差 |
| 总体方差 | $\sigma^2 = \frac{1}{n}\sum_{i=1}^{n} (x_i-\mu)^2$ | np.var(x, ddof=0) |
方差|方差 |
| 样本标准差 | $s = \sqrt{\frac{1}{n-1}\sum_{i=1}^{n} (x_i-\bar{x})^2}$ | np.std(x, ddof=1) |
标准差|标准差 |
| 总体标准差 | $\sigma = \sqrt{\frac{1}{n}\sum_{i=1}^{n} (x_i-\mu)^2}$ | np.std(x, ddof=0) |
标准差|标准差 |
| 极差 | $R = x_{max} - x_{min}$ | np.ptp(x) |
极差|极差 |
| 四分位距 | $IQR = Q_3 - Q_1$ | np.percentile(x, 75) - np.percentile(x, 25) |
四分位距|四分位距 |
| 变异系数 | $CV = \frac{s}{\bar{x}} \times 100\%$ | scipy.stats.variation(x, ddof=1) * 100(返回百分数数值) |
变异系数|变异系数 |
| 平均绝对偏差 | $MAD = \frac{1}{n}\sum_{i=1}^{n} \vert{}x_i - \bar{x}\vert{}$ | np.mean(np.abs(x - np.mean(x))) |
平均绝对偏差|平均绝对偏差 |
分布形状指标
| 公式名称 | 数学表达 | Python实现 | 相关知识 |
|---|---|---|---|
| 偏度 | $Skew = m_3/m_2^{3/2}$,其中$m_k = \frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})^k$;对应默认未作偏差校正的中心矩口径 | scipy.stats.skew(x) |
偏度|偏度 |
| 峰度 | $Kurt = m_4/m_2^2 - 3$,其中$m_k = \frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})^k$;对应默认未作偏差校正的超额峰度 | scipy.stats.kurtosis(x) |
峰度|峰度 |
| 分位数 | 将数据等分的点 | np.percentile(x, q) |
分位数|分位数 |
🧮 相关与回归公式
| 公式名称 | 数学表达 | Python实现 | 相关知识 |
|---|---|---|---|
| 皮尔逊相关系数 | $r = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum (x_i-\bar{x})^2}\sqrt{\sum (y_i-\bar{y})^2}}$ | np.corrcoef(x, y)[0,1] 或 scipy.stats.pearsonr(x, y) |
皮尔逊相关系数|皮尔逊相关系数 |
| 斯皮尔曼相关系数 | 基于排序的相关系数 | scipy.stats.spearmanr(x, y) |
斯皮尔曼相关系数|斯皮尔曼相关系数 |
| 肯德尔相关系数 | 基于序数的相关系数 | scipy.stats.kendalltau(x, y) |
肯德尔相关系数|肯德尔相关系数 |
| 线性回归斜率 | $b = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sum (x_i-\bar{x})^2}$ | scipy.stats.linregress(x, y).slope |
线性回归|线性回归 |
| 线性回归截距 | $a = \bar{y} - b\bar{x}$ | scipy.stats.linregress(x, y).intercept |
线性回归|线性回归 |
| 决定系数 | $R^2 = 1 - \frac{SS_{res}}{SS_{tot}}$ | scipy.stats.linregress(x, y).rvalue**2 |
决定系数|决定系数 |
📊 假设检验公式
| 检验名称 | 统计量公式 | Python实现 | 相关知识 |
|---|---|---|---|
| 单样本t检验 | $t = \frac{\bar{x} - \mu_0}{s/\sqrt{n}}$ | scipy.stats.ttest_1samp(x, mu0) |
t检验|t检验 |
| 双样本t检验 | $t = \frac{\bar{x}_1-\bar{x}_2}{\sqrt{\frac{s_1^2}{n_1}+\frac{s_2^2}{n_2}}}$ | scipy.stats.ttest_ind(x1, x2, equal_var=False) |
t检验|t检验 |
| 配对t检验 | $t = \frac{\bar{d}}{s_d/\sqrt{n}}$ | scipy.stats.ttest_rel(x1, x2) |
配对t检验|配对t检验 |
| 卡方拟合优度检验 | $\chi^2 = \sum \frac{(O_i-E_i)^2}{E_i}$ | scipy.stats.chisquare(obs, exp) |
卡方检验|卡方检验 |
| 卡方独立性检验 | $\chi^2 = \sum \frac{(O_{ij}-E_{ij})^2}{E_{ij}}$ | scipy.stats.chi2_contingency(table, correction=False)(不作Yates连续性校正,与左侧公式一致) |
卡方检验|卡方检验 |
| F检验(方差齐性) | $F = \frac{s_1^2}{s_2^2}$ | 统计量:np.var(x1, ddof=1) / np.var(x2, ddof=1);独立正态样本下自由度为len(x1)-1和len(x2)-1,p值需按备择假设由F分布计算 |
F检验|F检验 |
| Shapiro-Wilk正态性检验 | 复杂公式 | scipy.stats.shapiro(x) |
正态性检验|正态性检验 |
📈 概率分布公式
连续分布
| 分布名称 | 概率密度函数 | Python实现 | 相关知识 |
|---|---|---|---|
| 正态分布 | $f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}$ | scipy.stats.norm(mu, sigma) |
正态分布|正态分布 |
| t分布 | 复杂公式 | scipy.stats.t(df) |
t分布|t分布 |
| 卡方分布 | 复杂公式 | scipy.stats.chi2(df) |
卡方分布|卡方分布 |
| F分布 | 复杂公式 | scipy.stats.f(dfn, dfd) |
F分布|F分布 |
| 均匀分布 | $f(x) = \frac{1}{b-a}$ | scipy.stats.uniform(a, b-a) |
均匀分布|均匀分布 |
| 指数分布 | $f(x) = \lambda e^{-\lambda x}$ | scipy.stats.expon(scale=1/lam)(lam为正的率参数;调用返回分布对象) |
指数分布|指数分布 |
离散分布
| 分布名称 | 概率质量函数 | Python实现 | 相关知识 |
|---|---|---|---|
| 二项分布 | $P(X=k) = \binom{n}{k}p^k(1-p)^{n-k}$ | scipy.stats.binom(n, p) |
二项分布|二项分布 |
| 泊松分布 | $P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!}$ | scipy.stats.poisson(lam)(lam为非负均值参数;调用返回分布对象) |
泊松分布|泊松分布 |
| 几何分布 | $P(X=k) = (1-p)^{k-1}p$ | scipy.stats.geom(p) |
几何分布|几何分布 |
| 负二项分布 | 复杂公式 | scipy.stats.nbinom(n, p) |
负二项分布|负二项分布 |
🎯 实用计算示例
import numpy as np
import scipy.stats as stats
# 样本数据
data = [85, 90, 78, 92, 88, 76, 95, 89, 82, 91]
# 描述性统计
print(f"均值: {np.mean(data):.2f}")
print(f"中位数: {np.median(data):.2f}")
print(f"标准差: {np.std(data, ddof=1):.2f}")
print(f"偏度: {stats.skew(data):.2f}")
print(f"峰度: {stats.kurtosis(data):.2f}")
# 假设检验
t_stat, p_val = stats.ttest_1samp(data, 80)
print(f"单样本t检验: t={t_stat:.2f}, p={p_val:.3f}")
# 正态性检验
shapiro_stat, shapiro_p = stats.shapiro(data)
print(f"Shapiro-Wilk检验: W={shapiro_stat:.3f}, p={shapiro_p:.3f}")
tip 💡 **使用建议**
- 描述性统计用numpy和scipy.stats
- 假设检验优先使用scipy.stats
- 对方差和标准差,估计总体方差时常用ddof=1,以所给数据计算总体口径时用ddof=0;不要将这一规则直接推广到所有统计量。
- 可视化配合使用matplotlib和seaborn
🔗 相关知识
- 描述性统计 - 统计公式的基础领域
- 集中趋势指标 - 均值、中位数、众数公式
- 离散程度指标 - 方差、标准差等公式
- 均值 - 算术均值公式详解
- 方差 - 方差公式与计算
- 标准差 - 标准差公式与应用
- 相关 - 相关系数公式
- 线性回归 - 回归分析公式
- t检验 - t检验统计量公式
- 卡方检验 - 卡方统计量公式
- 正态分布 - 正态分布概率密度公式
- 二项分布 - 二项分布概率质量公式
- 泊松分布 - 泊松分布公式
- NumPy数值计算 - NumPy数值计算实现
- 统计分析常用Python代码 - Python实现代码集合
#统计学 #公式 #速查 #基础