Python完整代码带你一文看懂抽样

导读:抽样是从整体样本中通过一定的方法选择一部分样本 。抽样是数据处理的基本步骤之一,也是科学实验、质量检验、社会调查普遍采用的一种经济有效的工作和研究方法 。
作者:宋天龙
如需转载请联系华章科技
Python完整代码带你一文看懂抽样

文章插图
 
01 什么时候需要抽样抽样工作在数据获取较少或处理大量数据比较困难的时期非常流行,这主要有以下几方面原因:
  • 数据计算资源不足 。计算机软硬件的限制是导致抽样产生的基本原因之一,尤其是在数据密集的生物、科学工程等领域,不抽样往往无法对海量数据进行计算 。
  • 数据采集限制 。很多时候抽样从数据采集端便已经开始,例如做社会调查必须采用抽样方法进行研究,因为根本无法对所有人群做调查 。
  • 时效性要求 。抽样带来的是以局部反映全局的思路,如果方法正确,可以以极小的数据计算量来实现对整体数据的统计分析,在时效性上会大大增强 。
如果存在上述条件限制或有类似强制性要求,那么抽样工作仍然必不可少 。
但是在当前数据化运营的大背景下,数据计算资源充足、数据采集端可以采集更多的数据并且可以通过多种方式满足时效性的要求,抽样工作是否就没有必要了?其实不是的,即使上述限制条件都满足,还有很多场景依然需要通过抽样方法来解决具体问题 。
  • 通过抽样来实现快速的概念验证 。数据工作中可能会包括创新性或常识性项目,对于这类项目进行快速验证、迭代和交付结论往往是概念验证的关键,通过抽样方法带来的不仅是计算效率的提升,还有前期数据准备、数据预处理、算法实现等各个方面的开发,以及服务器、硬件的配套方案的部署等内容的可行性、简单化和可操作性 。
  • 通过抽样来解决样本不均衡问题 。通过欠抽样、过抽样以及组合/集成的方法解决不均衡的问题,这个过程就用到了抽样方法 。
  • 无法实现对全部样本覆盖的数据化运营场景 。典型场景包括市场研究、客户线下调研分析、产品品质检验、用户电话满意度调查等,在这些场景下无法实现对所有样本的采集、分析、处理和建模 。
  • 定性分析的工作需要 。在定性分析工作中,通常不需要定量分析时的完整假设、精确数据和复杂统计分析过程,更多的是采用访问、观察和文献法收集资料并通过主观理解和定性分析找到问题答案,该过程中主要依靠人自身的能力而非密集的计算机能力来完成研究工作 。如果不使用抽样方法,那么定性分析将很难完成 。

Python完整代码带你一文看懂抽样

文章插图
 
02 如何进行抽样抽样方法从整体上分为非概率抽样和概率抽样两种 。非概率抽样不是按照等概率的原则进行抽样,而是根据人类的主观经验和状态进行判断;概率抽样则是以数学概率论为基础,按照随机的原则进行抽样 。本节以下内容介绍的抽样方法属于概率抽样 。
1. 简单随机抽样
该抽样方法是按等概率原则直接从总样本中抽取n个样本,这种随机抽样方法简单、易于操作,但是它并不能保证样本能完美代表总体 。这种抽样的基本前提是所有样本个体都是等概率分布的,但真实情况却是多数样本都不是或无法判断是否是等概率分布的 。
在简单随机抽样中,得到的结果是不重复的样本集,还可以使用有放回的简单随机抽样,这样得到的样本集中会存在重复数据 。该方法适用于个体分布均匀的场景 。
2. 等距抽样
等距抽样是先将总体中的每个个体按顺序编号,然后计算出抽样间隔,再按照固定抽样间隔抽取个体 。
这种操作方法易于理解、简便易行,但当总体样本的分布呈现明显的分布规律时容易产生偏差,例如增减趋势、周期性规律等 。该方法适用于个体分布均匀或呈现明显的均匀分布规律,无明显趋势或周期性规律的数据 。
3. 分层抽样
分层抽样是先将所有个体样本按照某种特征划分为几个类别,然后从每个类别中使用随机抽样或等距抽样的方法选择个体组成样本 。这种操作方法能明显降低抽样误差,并且便于针对不同类别的数据样本进行单独研究,因此是一种较好的实现方法 。该方法适用于带有分类逻辑的属性、标签等特征的数据 。
4. 整群抽样
整群抽样是先将所有样本分为几个小群体集,然后随机抽样几个小群体集来代表总体 。


推荐阅读