第5章 统计、空间与特殊函数 章节摘要:本章解决三类高频问题:数据背后是什么分布、两组数据差异是否显著、点与点的空间关系怎么算。scipy.stats 提供分布对象与假设检验,scipy.spatial 提供 KDTree 近邻检索、三角剖分与凸包,scipy.special 提供伽马、误差、贝塞尔等特殊函数。三个模块在物理、生物、金融、地理信息领域天天出现。读完本章,你能独立完成分布拟合、p 值解读、最近邻查询与点云结构分析,并理解这些工具背后的数值取舍。三个模块看似独立,实则互相咬合:stats 的分布计算底层依赖 special,spatial 的邻近检索又是第 6 章气象站点相关性分析的地基。四节内容由浅入深,最后一节的实战把统计检验与空间聚类拧成一条完整流程。
章节摘要:本章解决三类高频问题:数据背后是什么分布、两组数据差异是否显著、点与点的空间关系怎么算。scipy.stats 提供分布对象与假设检验,scipy.spatial 提供 KDTree 近邻检索、三角剖分与凸包,scipy.special 提供伽马、误差、贝塞尔等特殊函数。三个模块在物理、生物、金融、地理信息领域天天出现。读完本章,你能独立完成分布拟合、p 值解读、最近邻查询与点云结构分析,并理解这些工具背后的数值取舍。三个模块看似独立,实则互相咬合:stats 的分布计算底层依赖 special,spatial 的邻近检索又是第 6 章气象站点相关性分析的地基。四节内容由浅入深,最后一节的实战把统计检验与空间聚类拧成一条完整流程。

阅读完本章,你应当能够:
一句话记住本章:stats 回答数据说明什么,spatial 回答点在哪里、谁离谁近,special 回答公式里的函数怎么算。
从分布对象讲起:norm 与 t 的 pdf、cdf、ppf、rvs、fit 五个方法怎么配合,describe 一次给出描述统计摘要,再用 t 检验、卡方检验与 KS 检验完成假设检验。这一节专门讲 p 值该怎么读、什么时候该警惕,以及样本量对显著性的影响。参数部分补足了 shape、loc、scale 的语义和 fit 的边界参数、初值等实际坑,功效与样本量的关系也在这里讲透——这些是课本上不写、项目里必踩的东西。
围绕点的位置关系展开。KDTree 把最近邻查询从线性扫描提速到对数级别,是点云应用的加速器;Delaunay 三角剖分与 Voronoi 图给出点集的拓扑结构;pdist 与 cdist 提供欧氏、曼哈顿、余弦等距离度量;ConvexHull 找出点集的边界轮廓。四件工具覆盖了空间分析的主要场景。性能对比用实测数据说话:新版本里 KDTree 与 cKDTree 的差距已经拉平,别被旧资料里的结论带偏。Delaunay 是插值与网格生成的地基,Voronoi 是势力范围分配模型,两张图一起看,点集的拓扑结构一目了然。
伽马函数、误差函数、贝塞尔函数、正交多项式——这些名字听起来像数学系的专属,实际在概率密度、信号处理、热传导、量子力学里到处出现。本节讲清它们是什么、scipy.special 怎么算、以及为什么数值稳定性只能交给经过验证的库实现,不能自己展开级数。数值坑是这一节的主题:大参数伽马函数直接算会溢出,gammaln 却稳如泰山;误差函数在尾部要换 erfc。速查表之外,还补充了不完全伽马、ndtr 等高频函数,并讲清 stats 与 special 的底层分工。
一个完整小项目,两半:先让两组实验数据走完描述统计、正态性检验、方差齐性、选检验、效应量、结论的完整流程;再用 KDTree 对一组城市坐标做邻近分析,找出每个城市的最近邻,并用凸包观察整体布局。前半是统计推断的规范操作,后半是空间索引的实际用法。这一节不只跑代码,还教你怎么读结果:置信区间怎么算、功效够不够、可视化图怎么解读、常见失败怎么修。
本章是一条"单点 → 多点 → 公式工具 → 综合"的链路:
5.1 统计分析基础(单变量与两组样本的统计推断) │ ▼ 5.3 特殊函数(为统计提供概率密度与分位数,也为工程计算兜底) │ ▼ 5.2 空间数据算法(从单点走向点集:邻近、剖分、距离、边界) │ ▼ 5.4 实战:假设检验与空间聚类(把前三节串成完整流程)
5.1 与 5.3 的关系是调用与底层:stats 的分布对象内部大量依赖 special 的概率函数,比如正态分布的概率计算最终落到误差函数。5.2 与 5.1 表面无关,实战中却常常组合出场——先统计描述再空间分析,或者反过来。5.4 是汇合点,也是第 6 章气象数据管线的预演:那章里的站点相关性分析,正是用 KDTree 找邻近站点。章节顺序也可以反过来读:先看 5.4 的实战,再回头补 5.1 到 5.3 的原理,两种读法都成立——实战里用到的每个函数都能在对应节找到出处。