如何使用python数据处理解决数据冲突和样本的选取
作者:Mr数据杨
内容介绍
将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括实际业务数据冲突、样本选取问题、数据共线性 等思路,并且长期更新。
实际业务数据冲突
多业务数据源冲突是指来自多个或具有相同业务逻辑但结果不同的系统,环境,平台和工具的数据。
冲突的不同特征
一般数据冲突类型:
- 数据类型:同字段数据的格式不同。例如注册日期的字段包含字符串。数
- 据结构冲突:同一数据主体的描述结构存在冲突。
- 记录粒度不同:订单记录的粒度可以基于ID存储在一条数据中。
- 数据范围定义:提取的数据字段含义不同发生冲突。
- 数据值不同:一般发生情况是格式问题。
一般数据冲突原因:
内部工具和第三方工具之间的数据冲突。
为什么获得的数据与代理商或广告媒体提供的广告数据之间存在差异,有时差异会特别大?
网站分析工具获得的数据与广告媒体和代理商提供的数据之间不可避免地存在差异。
指标的不同定义,不同的收集逻辑,系统过滤规则不同,不同的更新时间,不同的监控位置等等不同步的原因都会产生这些问题。
一般数据处理方法:
目前来说没有一个统一的标准,根据实际需要进行处理即可。
- 形成唯一数据:如果要进行总体摘要统计,则需要以某种方式消除冲突以便报告一个数据。
- 不消除冲突:而要使用所有冲突的数据。如果在进行整体流程统计分析时使用不同业务流程的不同数据,则不同的指标将具有更好的渠道转换效果。要保证处理后的结果差异可解释,且客观稳定。
样本的选择
数据抽样还是全量基于已经有的数据来说,肯定是数据越全越好,但是实际情况并不是那么理想,我们只能利用统计学的方法使用抽样的方式进行取样比较理想。
一般数据采样方法:
抽样方法通常分为非概率抽样和概率抽样。非概率采样不是基于均等概率原理,而是基于人类的主观经验和状态。概率抽样基于数学概率论,而抽样则基于随机性原理。
- 简单随机抽样:抽样方法是根据等概率原理直接从总数中抽取n个样本。这种随机采样方法简单易操作;但这并不能保证样本可以完美地代表总体。此方法适用于均匀分布的场景。
- 等距采样:等距采样是首先对总体中的每个个体进行编号,然后计算采样间隔,然后根据固定的采样间隔对个体进行采样。适用于分布均匀或显示明显均匀分布规律,没有明显趋势或周期性规律的数据。
- 分层抽样:分层抽样是根据某些特征将所有单个样本划分为几个类别,然后从每个类别中使用随机抽样或等距抽样来选择个体以形成样本。此方法适用于具有特征(例如属性和分类逻辑标签)的数据。
- 整群抽样:整群抽样是先将所有样本分成几个小组,然后再随机抽样几个小组来代表总体。该方法适用于特征差异相对较小的小组,对划分小组的要求更高。
注意的几个问题:
数据采样必须反映操作的背景,不存在业务随机性及业务数据可行性问题,最重要的数据采样必须满足数据分析和建模的需求
数据的共线性
所谓共线性(也称为多重共线性)问题是指输入自变量之间的高线性相关性。共线性问题将大大降低回归模型的稳定性和准确性。例如具有明显共线性的数据:访问和页面浏览量;页面浏览量和访问时间;订单数量和销售等。
一般产生原因:
- 数据样本不足,这实际上反映了缺乏数据对数据建模的影响的一部分。
- 许多变量具有基于时间的共同或相反的演变趋势。
- 多个变量间存在一定的关系但是发生节点不一致,总体上变量之间的趋势是一致的。
- 多个变量之间存在近似线性关系。简单理解为一个 y=ax + b 这么一个关系。
检验共线性: 共线性通常由公差,方差因子和特征值的特征数据确定,做出判断。
解决共线性的5种常用方法:
增大样本量:
通过增加样本消除由于数据量不足而出现的偶然共线性现象,也可能无法解决共线性问题,原因是很可能变量间确实存在这个问题。
岭回归(Ridge Regression):
岭回归分析是专用于共线性问题的有偏估计回归方法,本质上是一种改进的最小二乘估计方法。
逐步回归:
一次引入一个自变量并进行统计检验,然后逐步引入其他变量,同时测试所有变量的回归系数。
主成分回归(Principal Components Regression):
可以基于主成分进行回归分析在不丢失重要数据特征的情况下避免共线性问题。
手动删除:
觉得麻烦的话直接结合了手动经验删了就是了。
完全解决共线性问题是不可能的,因为所有事物之间都有一定的联系。
在解决共线性问题的相关主题中,我们仅解决严重的共线性问题,而不是所有共线性问题。
以上就是如何使用python数据处理解决数据冲突和样本的选取的详细内容,更多关于python数据处理的资料请关注脚本之家其它相关文章!