# Summary https://github.com/AllenDowney/ThinkStats # Cues # Notes 根据章节标题和内容,这本《Think Stats》主要涵盖以下统计知识点: * 基础概念与数据探索 * 探索性数据分析 (EDA) * 数据清洗与转换 * 汇总统计量(均值、中位数、方差等) * 数据可视化 * 分布理论 * 频率表与频率分布 * 概率质量函数 (PMF) * 累积分布函数 (CDF) * 概率密度函数 (PDF) * 百分位数与百分位排名 * 分布建模(正态分布、指数分布等) * 关系分析 * 散点图与可视化 * 相关性分析(皮尔逊相关、秩相关) * 因果关系与相关性 * 统计推断 * 参数估计 * 抽样分布 * 标准误差 * 置信区间 * 假设检验($p$值、显著性检验) * 回归分析 * 最小二乘法 * 线性回归 * 多元回归 * 模型诊断与验证 * 高级主题 * 时间序列分析 * 生存分析 * 分析方法(正态概率图、中心极限定理等) * 计算统计方法 * 重抽样技术 * 模拟方法 * Bootstrap方法 ```Java ⏺ 基于查看的代码,统计推断部分的实现和调用链路如下: 核心代码实现位置 1. 参数估计 (nb/chap08.ipynb) - 均值估计: np.mean(sample) - 第8章第64行 - 中位数估计: np.median(sample) - 第8章第64行 - 方差估计: - 有偏估计: biased_var() - 第8章第131行 - 无偏估计: unbiased_var() - 第8章第144行 2. 抽样分布 (nb/chap08.ipynb) - 参数重抽样: resample() - 第8章第187行 def resample(sample): m, s = np.mean(sample), np.std(sample) return np.random.normal(m, s, len(sample)) - 生成抽样分布: 第8章第194-195行 sample_means = [np.mean(resample(weights)) for i in range(1001)] 3. 标准误差 (nb/chap08.ipynb) - 计算标准误差: 第8章第209行 standard_error = np.std(sample_means) - 近似标准误差: 第8章第223行 def approximate_standard_error(sample): n = len(sample) return np.std(sample) / np.sqrt(n) 4. 置信区间 (nb/chap08.ipynb) - 百分位数法: 第8章第235行 ci90 = np.percentile(sample_means, [5, 95]) - 辅助函数: thinkstats.py第1314行 def confidence_interval(cdf, percent=90): alpha = 1 - percent / 100 return cdf.inverse([alpha/2, 1-alpha/2]) 5. 假设检验 (nb/chap09.ipynb) - 计算p值: 第9章第579行 def compute_p_value(simulated, observed): return (np.asarray(simulated) >= observed).mean() - 置换检验: 第9章第213行 def simulate_groups(data): pool = np.hstack(data) np.random.shuffle(pool) return pool[:n], pool[-m:] - 相关性检验: 第9章第686行 def permute(data): xs, ys = data new_xs = xs.values.copy() np.random.shuffle(new_xs) return new_xs, ys 调用链路 1. 参数估计流程: 原始数据 → make_sample() → np.mean()/np.median() → 点估计值 2. 抽样分布和置信区间流程: 原始样本 → resample()重抽样 → 循环生成多个估计值 → np.std()计算标准误差 → np.percentile()计算置信区间 3. 假设检验流程: 原始数据 → 计算观测统计量 → 定义零假设模型 → simulate_groups()/permute()生成模拟数据 → 计算模拟统计量 → compute_p_value()计算p值 关键依赖库 - NumPy: 基础数值计算(mean, std, percentile, random) - SciPy: gaussian_kde用于密度估计 - empiricaldist: Pmf, Cdf等分布对象 - Pandas: 数据框操作 - Matplotlib: 可视化 ```