如何使用python数据处理解决数据冲突和样本的选取

目录
  • 内容介绍
    • 实际业务数据冲突
      • 一般数据冲突类型:
      • 一般数据冲突原因:
      • 一般数据处理方法:
    • 样本的选择
      • 一般数据采样方法:
    • 数据的共线性
      • 一般产生原因:
      • 解决共线性的5种常用方法:

内容介绍

将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括实际业务数据冲突、样本选取问题、数据共线性 等思路,并且长期更新。

实际业务数据冲突

多业务数据源冲突是指来自多个或具有相同业务逻辑但结果不同的系统,环境,平台和工具的数据。

冲突的不同特征

一般数据冲突类型:

  • 数据类型:同字段数据的格式不同。例如注册日期的字段包含字符串。数
  • 据结构冲突:同一数据主体的描述结构存在冲突。
  • 记录粒度不同:订单记录的粒度可以基于ID存储在一条数据中。
  • 数据范围定义:提取的数据字段含义不同发生冲突。
  • 数据值不同:一般发生情况是格式问题。

一般数据冲突原因:

内部工具和第三方工具之间的数据冲突。

为什么获得的数据与代理商或广告媒体提供的广告数据之间存在差异,有时差异会特别大?

网站分析工具获得的数据与广告媒体和代理商提供的数据之间不可避免地存在差异。

指标的不同定义,不同的收集逻辑,系统过滤规则不同,不同的更新时间,不同的监控位置等等不同步的原因都会产生这些问题。

一般数据处理方法:

目前来说没有一个统一的标准,根据实际需要进行处理即可。

  • 形成唯一数据:如果要进行总体摘要统计,则需要以某种方式消除冲突以便报告一个数据。
  • 不消除冲突:而要使用所有冲突的数据。如果在进行整体流程统计分析时使用不同业务流程的不同数据,则不同的指标将具有更好的渠道转换效果。要保证处理后的结果差异可解释,且客观稳定。

样本的选择

数据抽样还是全量基于已经有的数据来说,肯定是数据越全越好,但是实际情况并不是那么理想,我们只能利用统计学的方法使用抽样的方式进行取样比较理想。

一般数据采样方法:

抽样方法通常分为非概率抽样和概率抽样。非概率采样不是基于均等概率原理,而是基于人类的主观经验和状态。概率抽样基于数学概率论,而抽样则基于随机性原理。

  • 简单随机抽样:抽样方法是根据等概率原理直接从总数中抽取n个样本。这种随机采样方法简单易操作;但这并不能保证样本可以完美地代表总体。此方法适用于均匀分布的场景。
  • 等距采样:等距采样是首先对总体中的每个个体进行编号,然后计算采样间隔,然后根据固定的采样间隔对个体进行采样。适用于分布均匀或显示明显均匀分布规律,没有明显趋势或周期性规律的数据。
  • 分层抽样:分层抽样是根据某些特征将所有单个样本划分为几个类别,然后从每个类别中使用随机抽样或等距抽样来选择个体以形成样本。此方法适用于具有特征(例如属性和分类逻辑标签)的数据。
  • 整群抽样:整群抽样是先将所有样本分成几个小组,然后再随机抽样几个小组来代表总体。该方法适用于特征差异相对较小的小组,对划分小组的要求更高。

注意的几个问题:

数据采样必须反映操作的背景,不存在业务随机性及业务数据可行性问题,最重要的数据采样必须满足数据分析和建模的需求

数据的共线性

所谓共线性(也称为多重共线性)问题是指输入自变量之间的高线性相关性。共线性问题将大大降低回归模型的稳定性和准确性。例如具有明显共线性的数据:访问和页面浏览量;页面浏览量和访问时间;订单数量和销售等。

一般产生原因:

  • 数据样本不足,这实际上反映了缺乏数据对数据建模的影响的一部分。
  • 许多变量具有基于时间的共同或相反的演变趋势。
  • 多个变量间存在一定的关系但是发生节点不一致,总体上变量之间的趋势是一致的。
  • 多个变量之间存在近似线性关系。简单理解为一个 y=ax + b 这么一个关系。

检验共线性: 共线性通常由公差,方差因子和特征值的特征数据确定,做出判断。

解决共线性的5种常用方法:

增大样本量:

通过增加样本消除由于数据量不足而出现的偶然共线性现象,也可能无法解决共线性问题,原因是很可能变量间确实存在这个问题。

岭回归(Ridge Regression):

岭回归分析是专用于共线性问题的有偏估计回归方法,本质上是一种改进的最小二乘估计方法。

逐步回归:

一次引入一个自变量并进行统计检验,然后逐步引入其他变量,同时测试所有变量的回归系数。

主成分回归(Principal Components Regression):

可以基于主成分进行回归分析在不丢失重要数据特征的情况下避免共线性问题。

手动删除:

觉得麻烦的话直接结合了手动经验删了就是了。
完全解决共线性问题是不可能的,因为所有事物之间都有一定的联系。

在解决共线性问题的相关主题中,我们仅解决严重的共线性问题,而不是所有共线性问题。

以上就是如何使用python数据处理解决数据冲突和样本的选取的详细内容,更多关于python数据处理的资料请关注我们其它相关文章!

(0)

相关推荐

  • python数据处理67个pandas函数总结看完就用

    目录 导⼊数据 导出数据 查看数据 数据选取 数据处理 数据分组.排序.透视 数据合并 不管是业务数据分析 ,还是数据建模.数据处理都是及其重要的一个步骤,它对于最终的结果来说,至关重要. 今天,就为大家总结一下 "Pandas数据处理" 几个方面重要的知识,拿来即用,随查随查. 导⼊数据 导出数据 查看数据 数据选取 数据处理 数据分组和排序 数据合并 # 在使用之前,需要导入pandas库 import pandas as pd 导⼊数据 这里我为大家总结7个常见用法. pd.Da

  • Python 数据处理更容易的12个辅助函数总结

    目录 Numpy 的 6 种高效函数 argpartition() allclose() clip() extract() where() percentile() Pandas 数据统计包的 6 种高效函数 read_csv(nrows=n) map() apply() isin() copy() select_dtypes() 技术交流 大家好,今天给大家分享 12 个 Python 函数,其中 Numpy 和 Pandas 各6个,这些实用的函数会令数据处理更为容易.便捷. 同时,你也可以

  • python数据处理——对pandas进行数据变频或插值实例

    这里首先要介绍官方文档,对python有了进一步深度的学习的大家们应该会发现,网上不管csdn或者简书上还是什么地方,教程来源基本就是官方文档,所以英语只要还过的去,推荐看官方文档,就算不够好,也可以只看它里面的sample就够了 好了,不说废话,看我的代码: import pandas as pd import numpy as np rng = pd.date_range('20180101', periods=40) ts = pd.Series(np.arange(1,41), inde

  • python 多进程队列数据处理详解

    我就废话不多说了,直接上代码吧! # -*- coding:utf8 -*- import paho.mqtt.client as mqtt from multiprocessing import Process, Queue import time, random, os import camera_person_num MQTTHOST = "172.19.4.4" MQTTPORT = 1883 mqttClient = mqtt.Client() q = Queue() # 连

  • 如何使用python数据处理解决数据冲突和样本的选取

    目录 内容介绍 实际业务数据冲突 一般数据冲突类型: 一般数据冲突原因: 一般数据处理方法: 样本的选择 一般数据采样方法: 数据的共线性 一般产生原因: 解决共线性的5种常用方法: 内容介绍 将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括实际业务数据冲突.样本选取问题.数据共线性 等思路,并且长期更新. 实际业务数据冲突 多业务数据源冲突是指来自多个或具有相同业务逻辑但结果不同的系统,环境,平台和工具的数据. 冲突的不同特征 一般数据冲突类型: 数据类型:同字段数据的格式不同

  • Python数据处理的26个Pandas实用技巧总结

    目录 从剪贴板中创建DataFram 将DataFrame划分为两个随机的子集 多种类型过滤DataFrame DataFrame筛选数量最多类别 处理缺失值 一个字符串划分成多列 Series扩展成DataFrame 对多个函数进行聚合 聚合结果与DataFrame组合 选取行和列的切片 MultiIndexedSeries重塑 创建数据透视表 连续数据转类别数据 StyleaDataFrame 额外技巧 ProfileaDataFrame 大家好,今天给大家分享一篇 pandas 实用技巧,

  • python数据处理实战(必看篇)

    一.运行环境 1.python版本 2.7.13 博客代码均是这个版本 2.系统环境:win7 64位系统 二.需求 对杂乱文本数据进行处理 部分数据截图如下,第一个字段是原字段,后面3个是清洗出的字段,从数据库中聚合字段观察,乍一看数据比较规律,类似(币种 金额 万元)这样,我想着用sql写条件判断,统一转换为'万元人民币' 单位,用sql脚本进行字符串截取即可完成,但是后面发现数据并不规则,条件判断太多清洗质量也不一定,有的前面不是左括号,有的字段里面没有币种,有的数字并不是整数,有的没有万

  • Python数据处理numpy.median的实例讲解

    numpy模块下的median作用为: 计算沿指定轴的中位数 返回数组元素的中位数 其函数接口为: median(a, axis=None, out=None, overwrite_input=False, keepdims=False) 其中各参数为: a:输入的数组: axis:计算哪个轴上的中位数,比如输入是二维数组,那么axis=0对应行,axis=1对应列: out:用于放置求取中位数后的数组. 它必须具有与预期输出相同的形状和缓冲区长度: overwrite_input:一个bool

  • Python 数据处理库 pandas 入门教程基本操作

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有表现力的数据结构,目的是使"关系"或"标记"数据的工作既简单又直观.它旨在成为在Python中进行实际数据分析的高级构建块. 入门介绍 pandas适合于许多不同类型的数据,包括: 具有异构类型列的表格数据,例如SQL表格或Excel数据 有序和无序(不一定是固定频率)时间序列数据.

  • 浅析Python数据处理

    Numpy.Pandas是Python数据处理中经常用到的两个框架,都是采用C语言编写,所以运算速度快.Matplotlib是Python的的画图工具,可以把之前处理后的数据通过图像绘制出来.之前只是看过语法,没有系统学习总结过,本博文总结了这三个框架的API. 以下是这三个框架的的简单介绍和区别: Numpy:经常用于数据生成和一些运算 Pandas:基于Numpy构建的,是Numpy的升级版本 Matplotlib:Python中强大的绘图工具 Numpy Numpy快速入门教程可参考:Nu

  • Python 数据处理库 pandas进阶教程

    前言 本文紧接着前一篇的入门教程,会介绍一些关于pandas的进阶知识.建议读者在阅读本文之前先看完pandas入门教程. 同样的,本文的测试数据和源码可以在这里获取: Github:pandas_tutorial. 数据访问 在入门教程中,我们已经使用过访问数据的方法.这里我们再集中看一下. 注:这里的数据访问方法既适用于Series,也适用于DataFrame. 基础方法:[]和. 这是两种最直观的方法,任何有面向对象编程经验的人应该都很容易理解.下面是一个代码示例: # select_da

  • python数据处理 根据颜色对图片进行分类的方法

    前面一篇文章有说过,利用scrapy来爬取图片,是为了对图片数据进行分类而收集数据. 本篇文章就是利用上次爬取的图片数据,根据图片的颜色特征来做一个简单的分类处理. 实现步骤如下: 1:图片路径添加 2:对比度处理 3:滤波处理 4:数据提取以及特征向量化 5:图片分类处理 6:根据处理结果将图片分类保存 代码量中等,还可以更少,只是我为了练习类的使用,而将每个步骤都封装成了一个独立的类,当然里面也有类继承的问题,遇到的问题前面一篇文章有讲解.内容可能有点繁琐,尤其是文件和路径的使用(可以自己修

  • 对python 数据处理中的LabelEncoder 和 OneHotEncoder详解

    如下所示: #简单来说 LabelEncoder 是对不连续的数字或者文本进行编号 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() le.fit([1,5,67,100]) le.transform([1,1,100,67,5]) 输出: array([0,0,3,2,1]) #OneHotEncoder 用于将表示分类的数据扩维: from sklearn.preprocessing import OneHo

随机推荐