第六章 统计学基础

统计学不是一堆公式的集合,它解决的是一个很朴素的问题:我们手里通常只有一部分数据,怎样用这部分数据更可靠地理解整体?这一章会沿着一条清晰路线走:先描述已经看到的数据,再理解数据为什么会波动,最后用样本去推断总体。
具体来说,我们先讲描述统计:均值、中位数、众数、方差、标准差、分位数、偏态和峰度。它们回答的是“这批数据长什么样”。接着讲多变量关系:协方差、相关系数和主成分分析,回答“变量之间有没有一起变化”。最后进入推断统计:抽样、置信区间、假设检验、显著性水平、P 值、第一类和第二类错误,回答“样本里的差异能不能推广到总体”。
这一章会尽量做到两件事:公式不只给结果,还讲它为什么这么写;代码不只会运行,还要和统计含义对上。你后面做数据分析、A/B 测试、建模评估时,会经常回来用这些概念。

一、简介

1. 数据分析中的统计学基础

我们先从整体框架看统计学,不急着进公式。

1.1 统计学基础在数据分析中的重要性

什么是统计学?

统计学是一门研究如何收集、处理、分析、解释和呈现数据的学科。在数据分析中,它帮我们区分“看起来有差异”和“差异大到值得相信”,也帮我们用样本去估计总体。

描述统计学 vs 推论统计学

  • 描述统计学: 主要关注对数据的整体性质进行概括和描述,包括中心趋势(均值、中位数)、离散程度(标准差、范围)等。
  • 推论统计学: 通过样本推断总体特征,核心包括抽样、估计、置信区间和假设检验。它允许我们在不确定性中做判断。

1.2 常见的统计学概念

中心趋势

  • 均值(Mean): 数据的平均值,是所有数据点之和除以数据点的数量。
  • 中位数(Median): 数据中间的值,将数据排序后位于中间位置的数值。
  • 众数(Mode): 数据中出现频率最高的值。

离散程度

  • 标准差(Standard Deviation): 衡量数据分布的广度,是每个数据点与均值之间差异的平方和的平均值的平方根。
  • 范围(Range): 数据集中最大值和最小值的差异。

分布形状

  • 正态分布(Normal Distribution): 呈钟形曲线,均值、中位数和众数相等。
  • 偏态(Skewness): 描述数据分布偏离正态分布的程度,可为正偏(右偏)、负偏(左偏)。

统计图表

  • 直方图(Histogram): 通过柱形图显示数据的分布情况。
  • 箱线图(Box Plot): 显示数据的中位数、四分位数和异常值。

1.3 推论统计学

抽样与总体

  • 抽样(Sampling): 从总体中选择一部分样本进行分析,以代表总体。
  • 总体(Population): 研究对象的全部集合。

估计与假设检验

  • 点估计(Point Estimation): 使用样本数据估计总体参数的值。
  • 区间估计(Interval Estimation): 提供一个估计参数范围的区间。
  • 假设检验(Hypothesis Testing): 通过收集样本数据来进行关于总体的统计推断。

1.4 相关性与回归分析

相关性

  • 相关系数(Correlation Coefficient): 衡量两个变量之间的线性关系强度和方向。

回归分析

  • 简单线性回归: 研究一个自变量和一个因变量之间的关系。
  • 多元线性回归: 考虑多个自变量对因变量的影响。

1.5 统计学在数据分析中的应用

  • 数据清理与预处理: 处理缺失值、异常值等。
  • 探索性数据分析(EDA): 通过统计图表和描述统计分析初步了解数据。
  • 模型评价: 使用统计方法评估模型的性能。

1.6 工具与编程语言

  • Python与统计学库: 使用NumPy、Pandas、SciPy、Statsmodels等库进行数据处理和统计分析。
  • R语言: 统计学家常用的数据分析和可视化语言。

2. Python在统计学中的应用

关于 Python 在统计学中的作用,我们可以从 7 个常见场景来理解:数据处理、统计建模、可视化、探索性分析、模型评估、时间序列和大规模数据处理。

我们知道,Python 在统计学中广泛应用,有许多强大的库和工具,使得数据分析、统计建模和可视化变得更加便捷。

1. 数据处理与分析

NumPy

  • 数组操作: NumPy提供了高效的数组操作,能够进行向量化运算,加速数据处理。

Pandas

  • 数据结构: Pandas 提供了 DataFrame 和 Series,使得数据的清理、转换和分析更加灵活和高效。

SciPy

  • 统计方法: SciPy 中的 stats 模块包含了许多统计学方法,如假设检验、描述统计、概率分布等。

2. 统计建模

Statsmodels

  • 回归分析: Statsmodels 提供了用于执行多种回归分析的工具,包括简单线性回归、多元线性回归等。

Scikit-learn

  • 机器学习算法: Scikit-learn 中包含了许多机器学习算法,可用于分类、回归、聚类等问题,也可以应用于统计建模。

3. 统计可视化

Matplotlib

  • 基础绘图: Matplotlib 可用于创建各种统计图表,如折线图、散点图、直方图等。

Seaborn

  • 统计数据可视化: Seaborn 是建立在 Matplotlib 基础上的高级统计数据可视化库,简化了许多绘图任务。

4. 探索性数据分析(EDA)

Jupyter Notebooks

  • 交互式分析: Jupyter Notebooks 提供了交互式计算环境,有助于进行数据探索、分析和可视化。

自动化 EDA 报告

  • 自动探索性数据分析: 这类工具可以自动生成数据分析报告,包括描述统计、缺失值分析、相关性等。它适合快速扫一遍数据,但不能替代我们对业务含义和统计假设的判断。

5. 统计学习

Statsmodels 和 Scikit-learn

  • 模型评估: 这两个库提供了许多工具,帮助用户评估建立的统计模型的性能。

6. 时间序列分析

Statsmodels

  • 时间序列建模: Statsmodels 提供了用于时间序列分析的工具,包括 ARIMA 模型等。

7. 大数据统计分析

PySpark

  • 大数据处理: 对于大规模数据,PySpark 提供了分布式计算框架,支持统计分析和机器学习。

Python 在统计学中的应用不止这些。我们真正要抓住的是:先把问题问清楚,再选统计方法,最后用代码把计算做准确。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容