精华内容
下载资源
问答
  • 数据预处理和数据分析

    千次阅读 2019-06-23 16:33:50
    数据预处理与数据分类预测 熵(entropy)指的是体系的混乱的程度,它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用,在不同的学科中也有引申出的更为具体的定义,是各领域十分重要的参量。 数据...

    数据预处理与数据分类预测

    熵(entropy)指的是体系的混乱的程度,它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用,在不同的学科中也有引申出的更为具体的定义,是各领域十分重要的参量。

    数据预处理

    数据预处理技术包括:聚集、抽样、维规约、特征子集选择、特征创建、离散化和二元化、变量变换。

    属性的类型:
    标称(定性的)值仅仅是不同的名字,即只提供足够的信息以区分对象,如ID,性别。
    序数(定性的)值提供足够信息确定对象的序,如成绩,号码。
    区间(定量的)值之间的差别有意义,即存在测量单位,如日期,温度。
    比率(定量的)差和比率都是有意义的,如年龄,长度。
    时序数据(时间数据)是对记录数据的扩充,其中,每个记录包含一个与之相关联的时间。
    序列数据是一个数据集合,它是个体项的序列,如词或字母的系列,除没有时间戳之外,它与时序数据非常相似。
    时间序列数据是一种特殊的时序数据,其中每个记录都是一个时间序列,即一段时间的测量序列。

    聚集:将两个或多个对象合并成单个对象。如将表的两列并成一列(删除属性),将表的多行并成一行。将按天的记录并成按月的记录(这种聚集常用于联机分析处理OLAP)
    聚焦动机:导致需要较小的内存和处理时间,通过高层而不是底层数据视图,聚集起到了辖域和标度转换的作用,对象或属性群的性质通常比单个对象或属性的性质更加稳定
    缺点:丢失有趣的细节

    非监督离散化:连续属性的离散化:等宽(区间)、等频或等深(每个区间的点一样多)、使用聚类后的结果来离散化

    监督离散化:一种概念上的方法是以极大化区间纯度的方式确定分割点。然而,实践中这种方法可能需要任意确定区间纯度和最小化的区间大小。为了解决这一问题,一些基于统计学的方法用每个属性值来分割区间,并通过合并类似于根据统计检验的相邻区间来创建较大的区间。如果一个区间只包含一个类的值(该区间非常纯),则其熵为0,如果一个区间中的值类出现的频率相等(该区间尽可能不纯),则熵最大。

    一种划分连续属性的简单方法是,开始,将初始值切分成两个部分,使得两个结果区间产生最小熵。该技术只需要把每个值看作可能的分割点,因为假定区间包含有序值得集合。然后,取一个区间,通常选取具有最大熵的区间,重复分割过程,直到区间的个数达到用户指定的个数,或满足终止条件。OLAP的分析功能集中在从多维数据数组中创建汇总表的各种方法。OLAP技术包括在不同维上或在不同的属性上聚集数据。

    众数:具有最高频率的数。对于多元数据,每个属性的散布可以独立于其他属性。数据的散布更多地用协方差矩阵表示。两个属性的协方差矩阵式两个属性一起变化并依赖于变量大小的度量。协方差接近于0表明两个变量不具有(线性)关系。

    用多维数组表示数据需要两个步骤:维的识别和分析所关注的属性的识别。

    从表形式表示的数据集创建多维数据表示的过程:首先确定用作维的分类属性以及用作分析目标的定量属性(目标属性是定量的,因为多维数据分析的关键目标是观察聚集量,如总和和平均值),然后将表的每一行(对象)映射到多维数据的一个单元,单元的下标由被选作维的属性的值指定,而单元的值是目标属性的值,假定没有被数据定义的单元的值为0

    从多维角度看待数据的主要动机就是需要以多种方式聚集数据。计算聚集总合涉及固定某些属性(维)的值,在其余属性(维)的所有可能的值上求和。
    数据的多维表示,连同所有可能的总和(聚集)称作数据立方体(尽管叫立方体,每个维的大小(属性的个数)却不必相等。此外,数据立方体可能多余或少于三个维)。数据立方体是成为交叉表的统计学技术的推广。
    转轴:在除两个维之外的所有维上聚集,从整个多维数组中选择一组单元。
    切块:通过指定属性区间选择单元子集,这等价于由整个数组定义子数组。
    上卷:如将按天的数据按月聚集
    下钻:按月的数据分解为按天的
    上卷和下钻与聚集有关,然后不同于其他聚集,它是在一个维内聚集单元,而不是在整个维上聚集。多维数据分析将数据看作多维数据组,并聚集数据,以便更好地分析数据的结构。

    在统计分析中,主成分分析(英语:Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。

    维规约
    维规约可以删除不相关的特征并降低噪声。术语维规约通常用于这样的技术,通过创建新属性,将一些旧属性合并在一起来降低数据集的维度。通过选择旧属性的子集得到新属性称为特征子集选择或特征选择。维规约的一些常用的方法是使用线性代数的技术,将数据由高维空间投影到低维空间,特别是对于连接数据。主成分分析(PCA)是一种用于连续属性的线性代数技术,并且捕获数据的最大变差。奇异值分解是一种线性代数技术,它与PCA有关,并且也用于维规约。

    特征子集选择

    降低维度的另一种方法是近使用特征的子集。特征现在的理想方法是:将所有可能的特征子集作为感兴趣的数据挖掘算法的输入,然后选取产生最好结果的子集。这种方法在大部分情况下行不通,所以有三种标准的特征选择方法,嵌入、过滤和包装。
    嵌入方法:特征选择作为数据挖掘算法的一部分自然地出现。特殊地,在数据挖掘算法运行期间,算法本身决定使用哪些属性和忽略哪些属性。
    过滤方法:使用某种独立于数据挖掘人物的方法,在数据挖掘算法运行前进行特征选择。例如,我们可以选择属性的集合,它的属性对之间的相关度尽可能的低。
    包装方法:将目标数据挖掘算法作为黑盒,使用类似于前面介绍的理想算法的方法,但通常不枚举所有可能的子集来找出最佳属性子集。
    过滤方法和包装方法的唯一不同是它们使用了不同的特征子集评估方法。对于包装方法,子集评估使用目标数据挖掘算法。对于过滤方法,子集评估技术不同于目标数据挖掘算法。特征子集产生的结果将比所有特征产生的结果更好,或至少几乎一样好。

    特征创建

    常常可以由原来的属性创建新的属性集,更有效的捕获数据集中的重要信息。此外,新属性的数目可能比原属性少。
    三种创建新属性的相关方法,特征提取、映射数据到新的空间和特征构造。
    特征提取,由原始数据创建新的特征集称作特征提取。最常使用的特征提取技术都是高度依赖于特定领域的。所以,一旦数据挖掘用于一个相对较新的领域,一个关键的任务就是开发新的特征和特征提取方法。映射数据到新的空间,通过对时间序列实施傅里叶变换,将它转换为频率信息明显的表示,就能检测到这些模式。除了傅里叶变换外,对于时间序列和其他类型的数据,已经证实小波变换也是非常有用的。
    特征构造:原始数据的特征具有必要的信息,但其形式不适合数据挖掘算法。在这种情况下,一个或多个由原始特征构造的新特征可能比原始特征更有用。尽管有一些努力试图通过考察已有特征的简单数字组合来自动地进行特征构造,但是最常见的方法还是使用专家意见构造特征。


    维规约
    删除不想管的属性(维)来减少数据量
    属性子集选择
    找出最小属性集合,使用数据类的概率分布尽可能地接近使用所有属性的原分布
    如何选取
    贪心算法
    .逐步向前选择
    .逐步向后删除
    .向前选择和向后删除相结合
    .判定树归纳


    数据压缩
    有损,无损
    小波变换
    将数据向量D转换成为数值上不同的小波系数的向量D’。
    对D’进行剪裁,保留小波系数最强的部分。
    主要成分分析


    数值规约
    回归和对数线性模型
    线性回归
    对数线性模型

    直方图
    等宽
    等深
    V-最优
    maxDiff

    聚类
    多维索引树:对于给定的数据集合,索引树动态的划分多维空间。

    选择
    简单选择n各样本,不放回
    简单选择n各样本,放回
    聚类选择
    分层选择


    离散化和概念分层
    离散化技术用来减少给定连续属性的个数
    通常是递归的
    大量时间花在排序上
    对于给定的数值属性,概念分层定义了该属性的一个离散化的值
    分箱
    直方图分析
    聚类分析
    基于熵的离散化

    通过自然划分分段3-4-5规则
    如果一个区间最高有效位上包括3、6、9各不同的值,划分为3个等宽区间。7个不同值,按2-3-3划分为3个区间
    最高位包含2,4,8个不同值,划分为4个等宽区间
    最高位包含1,5,10个不同值,划分为5个等宽区间
    最高分层一般在第5个百分位到第95个百分位上进行

    分类数据的概念分层生成

    分类数据是离散数据,一个分类属性可能有有限个不同的值
    方法
    由用户和专家在线模式级显式的说明属性的部分序
    通过显式的数据分组说明分层结构的一部分
    说明属性集,但不说明他们的偏序
    只说明部分的属性集


    数据挖掘,分类与预测

    分类
    预测分类标号(或离散值)
    根据训练数据集和类标号属性,构建模型来分类现有数据,并用来分类新数据

    预测
    建立连续函数值模型,比如预测空缺值

    典型应用
    信誉证实
    目标市场
    医疗诊断
    性能预测

    数据分类,两步过程
    第一步,建立一个模型,描述预定数据类集和概念集
    假定每个元组属于一个预定义的类,由一个类标号属性确定
    基本概念
    训练数据库:由为建立模型而被分析的数据元组形成
    训练样本:训练数据集中的单个样本(元组)
    学习模型可以用分类规则、判定树或数学公式的形式提供
    第二步,使用模型,对将来的或未知的对象进行分类
    首先评估模型的预测准确率
    对每个测试样本,将已知的类标号和该样本的学习模型类预测比较
    模型在给定测试集上的准确率是正确被模型分类的测试样本的百分比
    测试集要独立于训练样本集,否则会出现“过分适应数据”的情况。


    准备分类和预测的数据

    通过对数据进行预处理,可以提高分类和预测过程的准确性、有效性和可伸缩性。
    数据清理
    相关性分析
    数据变换 可以将数据概化到较高层概念,或将数据进行规范化

    比较分类方法
    使用下列标准比较分类和预测方法
    预测的准确率:模型正确预测新数据的类编号的能力
    速度:产生和使用模型的计算花销
    鲁棒性:给定噪声数据或有空缺值的数据,模型正确预测的能力
    可伸缩性:对大量数据,有效的构建模型的能力
    可解释性:学习模型提供的理解和洞察的层次

    用判定树归纳分类
    什么是判定树
    类似于流程图的树结构
    每个内部节点表示在一个属性上的测试
    每个分支代表一个测试输出
    每个树叶节点代表类或类分布

    判定树的生成有两个阶段组成
    判定树构建
    .开始时,所有的训练样本都在根节点
    .递归的通过选定的属性,来划分样本(必须是离散值)
    树剪枝
    .许多分支反映的是训练数据中的噪声和孤立点,树剪枝试图检测和剪去这种分枝。

    判定树的使用:对未知样本进行分类
    通过将样本的属性值与判定树相比较

    判定归纳树算法(贪心算法)
    自顶向下的分治式构造判定树
    树以代表训练样本的单个根节点开始
    使用分类属性(如果是量化属性,则需先进行离散化)
    递归的通过选择相应的测试属性,来划分样本,一旦一个属性出现在一个节点上,就不在该节点的任何后代上出现。
    测试属性是根据某种启发信息或统计信息来进行选择(如:信息增益)

    递归划分步骤停止的条件
    给定节点的所有样本属于同一类
    没有剩余属性可以用来进一步划分样本——使用多数表决
    没有剩余的样本

    贝叶斯分类
    贝叶斯分类利用统计学中的贝叶斯定理,来预测类成员的概率,即给定一个样本,计算该样本属于一个特定的类的概率

    朴素贝叶斯分类
    假设每个属性之间都是互相独立的,并且每个属性对非类问题产生的影响都是一样的。

    向后传播分类
    向后传播是一种神经网络学习算法,神经网络是一组连接的输入/输出单元,每个连接都与一个权相连。在学习阶段,通过调整神经网络的权,使得能够预测输入样本的正确标号来学习。
    优点
    预测精度较高
    健壮性好,训练样本中包含错误时也可正常工作
    输出可能是离散值、连续值或者是离散或量化属性的向量值
    对目标进行分类较快
    缺点
    训练时间太长
    蕴涵在学习的权中的符号含义很难理解
    很难根专业领域知识相整合

    其他分类方法

    k-最临近分类
    给定一个未知样本,k-最临近分类法搜索模式空间,找出最接近未知样本的k个训练样本,然后使用k个最临近者中最公共的类来预测当前样本的类标号

    基于案例的推理
    样本或案例使用复杂的符号表示,对于新案例,先检测是否存在同样的训练案例,如果找不到,则搜索类似的训练案例。

    遗传算法
    结合生物进化思想的算法

    粗糙集方法

    模糊集方法
    允许在分类规则中定义“模糊的”临界值或边界

    展开全文
  • 数据分析数据预处理分析建模、可视化

    万次阅读 多人点赞 2020-08-08 15:03:21
    概述:简介、思路、发展...数据分析方法:描述统计、假设检验、信度分析相关分析、方差分析、回归分析、聚类分析、判别分析、主成分分析、因子分析、时间序列分析等; 数据可视化:Excel、PowerBI、Tableau、Python;

    思维导图

    更新时间 2020.8.9

    在这里插入图片描述

    1. 数据分析概述

    1.1 简介

    数据分析:对大量有序或无序的数据进行信息的集中整合、运算提取、展示等操作,通过这些操作找出研究对象的内在规律。
    目的:揭示事物运动、变化、发展的规律。
    意义:提高系统运行效率、优化系统作业流程、预测未来发展趋势。

    1.2 发展历程

    数据分析的发展历程的三个阶段:
    在这里插入图片描述
    1.0 商业智能(BI)

    通过商业智能,将数据分析人员从大量、简陋的数据图表分析中解放出来,通过数据仓库整合企业数据,采用商业智能(BI, Business Intelligence)报表工具实现美观清晰、模块化、动态更新的数据可视化展示,让管理层或决策者能够基于事实结果做决策。

    2.0 大数据分析

    随着互联网的发展,全世界2020年产生的数据约为50ZB,而且每年都在增长,传统的商业智能数据分析已经满足不了企业对如此大量、复杂的数据进行处理分析。
    企业需要更加强大的数据分析工具,比如大数据开发框架,它能支持企业海量数据运行和分析,结合商业智能报表工具,可以实现对数据的实时监控和展示,并且能够通过对历史数据分析建立相应的预测模型,对未来趋势进行预测。

    3.0 数据中台

    由于企业不同部门业务不同等的差异,采用的数据处理系统或框架也可能不一样。这样导致企业各部门或不同的系统数据相互独立、隔离,不能实现企业数据真正的互通、互融,使得数据的整体价值难以更好的体现。
    互联网行业的人一般都听说过前端和后端(或称前台、后台),中台是什么?前端是直达用户的系统,如门户网站、手机APP、公众号等;后端是业务管理的系统集合,如财务系统、ERP系统及基础设施、存储计算平台等;而中台是与前台、后台对应的概念,中台可以让数据在数据平台和业务系统之间形成一个良性的闭环。
    数据中台 是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径,是一个数据管理体系,内容涉及全局数据仓库规划、规范定义、建模研发、连接萃取、运维监控等。数据中台作为一个整体,输出统一、规范、标准的大数据资产,为企业或客户提供高效服务。
    以下是前台、数据中台、后台之间的关系图:
    在这里插入图片描述

    1.3 应用领域

    数据分析早已渗透各行业各业,主要包含:互联网、电子商务、金融保险、在线教育、生产制造、生物医疗、交通物流、餐饮外卖、能源、城市管理、体育娱乐等行业。
    在这里插入图片描述

    1.4 开发流程

    数据分析开发流程一般分为下面5个阶段,主要包含:数据采集、数据处理、数据建模、数据分析、数据可视化
    在这里插入图片描述

    数据采集: 数据通常来自于企业内部或外部,企业内部数据可以直接从系统获得,外部数据则需要购买,或者通过爬虫等数据采集工具采集;
    数据处理: 获取到的数据往往会包含一些干扰数据、不完整数据,因此一般需要对数据做相应的处理;
    数据建模: 不同的业务对数据的需求不同,根据相关业务或战略需求建立相应的数据模型,有针对性进行主题分析;
    数据分析: 根据模型中要分析或计算的指标,采用相应的分析方法进行数据分析,得出目标分析结果;
    数据可视化: 将数据分析结果进行可视化展示,使其更加方便业务人员或决策者理解。

    2. 数据类型

    2.1 结构化与非结构化数据

    结构化数据: 指以行、列等数据结构模型存储,有严格维度划分或属性标注的数据,如实验表数据、关系型数据库的表记录等都是结构化数据。
    非结构化数据: 与结构化数据相对应,比如软件系统产生的日志、一封邮件、HTML网页、一张图片、一段微信聊天记录等。
    显然结构化数据更易于做数据分析,很多数据分析模型都只能使用结构化数据,因此遇到非结构化数据时,我们一般会先将非结构化数据转化成结构化数据,再进行数据分析。

    2.2 定性与定量数据

    定性数据: 指描述事物的属性、类别、特征的数据,不能进行加减乘除等数学计算,一般是字符型,包含汉字、字母、数字、符号等;
    定量数据: 指描述事物的数量、大小或多少的数据,可以进行加减乘除等数学计算,一般是数值型,包含整数、浮点数等;

    2.3 截面数据与时间序列数据

    截面数据(cross section data): 是在同一时间(时期或时点)截面上搜集的数据。横截面数据不要求统计对象及其范围相同,但要求统计的时间相同,也就是说必须是同一时间截面上的数据。
    时间序列数据(time series data): 是在多个不同时间点上搜集的数据。这类数据反映了某一事物、现象等随时间的变化状态或程度。
    面板数据(Panel Data): 也叫“平行数据”,是指在时间序列上取多个截面,这些截面的样本数据称为面板数据。面板数据是一个m*n的数据矩阵,记载的是n个时间节点上,m个对象的某一数据指标。

    3. 数据来源

    数据的来源主要分为两大类,企业 外部来源 和 内部来源

    外部来源 :外包购买、网路爬取、免费开源数据等;
    内部来源:销售数据、社交通信数据、考勤数据、财务数据、服务器日志数据等;

    常见购买平台:

    东湖大数据:提供气象数据、车辆数据、企业数据、征信数据、电商数据、旅游数据等行业数据服务。http://www.chinadatatrading.com/datacustom.html

    数据堂:提供智能家居、驾驶、文娱等数据服务。https://www.datatang.com/

    IT桔子:提供互联网创业投资项目信息数据库和商业信息服务的公司。https://www.itjuzi.com/

    常见开源数据平台:

    互联网上的“开放数据”来源,如政府机构、非营利组织和企业免费提供的数据。以下是一些常用的开发数据平台,包括金融财经数据、互联网数据、政府数据等。
    开源数据平台网站资源地址:https://blog.csdn.net/Artificial_idiots/article/details/107878782
    在这里插入图片描述

    4. 数据预处理方法

    数据预处理方法主要有: 数据清洗、数据集成、数据规约和数据变换。

    4.1 数据清洗

    数据清洗(data cleaning) :是通过填补缺失值、光滑噪声数据,平滑或删除离群点,纠正数据的不一致来达到清洗的目的。

    1. 缺失值处理

    实际开发获取信息和数据的过程中,会存在各类的原因导致数据丢失和空缺。针对这些缺失值的处理方法,主要是基于变量的分布特性和变量的重要性采用不同的方法。主要分为以下几种:
    删除变量: 若变量的缺失率较高(大于80%),覆盖率较低,且重要性较低,可以直接将变量删除;
    统计量填充: 若缺失率较低(小于95%)且重要性较低,则根据数据分布的情况用基本统计量填充(最大值、最小值、均值、中位数、众数)进行填充;
    插值法填充: 包括随机插值、多重差补法、热平台插补、拉格朗日插值、牛顿插值等;
    模型填充: 使用回归、贝叶斯、随机森林、决策树等模型对缺失数据进行预测;
    哑变量(虚拟变量)填充: 若变量是离散型,且不同值较少,可转换成哑变量(通常取值0或1);
    总结来看,常用的做法是:先用Python中的pandas.isnull.sum() 检测出变量的缺失比例,考虑删除或者填充,若需要填充的变量是连续型,一般采用均值法和随机差值进行填充,若变量是离散型,通常采用中位数或哑变量进行填充。

    2. 噪声处理

    噪声(noise) 是被测量变量的随机误差或方差,是观测点和真实点之间的误差。
    通常的处理办法:
    分箱法: 对数据进行分箱操作,等频或等宽分箱,然后用每个箱的平均数,中位数或者边界值(不同数据分布,处理方法不同)代替箱中所有的数,起到平滑数据的作用;
    回归法: 建立该变量和预测变量的回归模型,根据回归系数和预测变量,反解出自变量的近似值。

    3. 离群点处理

    异常值(离群点)是数据分布的常态,处于特定分布区域或范围之外的数据通常被定义为异常或噪声。异常分为两种:“伪异常”,由于特定的业务运营动作产生,是正常反应业务的状态,而不是数据本身的异常;“真异常”,不是由于特定的业务运营动作产生,而是数据本身分布异常,即离群点。主要有以下检测离群点的方法:
    简单统计分析:根据箱线图、各分位点判断是否存在异常,例如Python中pandas的describe函数可以快速发现异常值。
    基于绝对离差中位数(MAD):这是一种稳健对抗离群数据的距离值方法,采用计算各观测值与平均值的距离总和的方法。放大了离群值的影响。
    基于距离: 通过定义对象之间的临近性度量,根据距离判断异常对象是否远离其他对象,缺点是计算复杂度较高,不适用于大数据集和存在不同密度区域的数据集
    基于密度: 离群点的局部密度显著低于大部分近邻点,适用于非均匀的数据集
    基于聚类: 利用聚类算法,丢弃远离其他簇的小簇。

    4. 不一致数据处理

    实际数据生产过程中,由于一些人为因素或者其他原因,记录的数据可能存在不一致的情况,需要对这些不一致数据在分析前需要进行清理。例如,数据输入时的错误可通过和原始记录对比进行更正,知识工程工具也可以用来检测违反规则的数据。
    数据清洗是一项繁重的任务,需要根据数据的准确性、完整性、一致性、时效性、可信性和解释性来考察数据,从而得到标准的、干净的、连续的数据。

    4.2 数据集成

    多个数据源集成时会遇到的问题:实体识别问题、冗余问题、数据值的冲突和处理
    1. 实体识别问题
    匹配来自多个不同信息源的现实世界实体,数据分析者或计算机如何将两个不同数据库中的不同字段名指向同一实体,通常会通过数据库或数据仓库中的元数据(关于数据的数据)来解决这个问题,避免模式集成时产生的错误。
    2. 冗余问题
    如果一个属性能由另一个或另一组属性“导出”,则此属性可能是冗余的。属性或维度命名的不一致也可能导致数据集中的冗余。 常用的冗余相关分析方法有皮尔逊积距系数、卡方检验、数值属性的协方差等。
    3. 数据值的冲突和处理
    不同数据源,在统一合并时,保持规范化,去重。

    4.3 数据规约

    随着数据量的增加,基于传统的数据分析变得非常耗时和复杂,往往使得分析不可行。数据归约技术是用来得到数据集的规约表示,在接近或保持原始数据完整性的同时将数据集规模大大减小。对规约后的数据集分析将更有效,并可产生几乎相同的分析结果。常见方法有:维度规约、维度变换、数值规约等。

    1. 维度规约

    用于数据分析的数据可能包含数以百计的属性,其中大部分属性与挖掘任务不相关,是冗余的。维度归约通过删除不相关的属性,来减少数据量,并保证信息的损失最小。
    属性子集选择: 目标是找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性的原分布。在压缩的属性集上挖掘还有其它的优点,它减少了出现在发现模式上的属性的数目,使得模式更易于理解。
    单变量重要性: 分析单变量和目标变量的相关性,删除预测能力较低的变量。这种方法不同于属性子集选择,通常从统计学和信息的角度去分析。
    如,通过pearson相关系数和卡方检验,分析目标变量和单变量的相关性。

    2. 维度变换

    维度变换是将现有数据降低到更小的维度,尽量保证数据信息的完整性,提高实践中建模的效率。
    若维度变换后的数据只能重新构造原始数据的近似表示,则该维度变换是有损的,若可以构造出原始数据而不丢失任何信息,则是无损的。常见有损维度变换方法:主成分分析、因子分析、奇异值分解、聚类、线性组合
    主成分分析(PCA)和因子分析(FA): PCA通过空间映射的方式,将当前维度映射到更低的维度,使得每个变量在新空间的方差最大。FA则是找到当前特征向量的公因子(维度更小),用公因子的线性组合来描述当前的特征向量。
    奇异值分解(SVD): SVD的降维可解释性较低,且计算量比PCA大,一般用在稀疏矩阵上降维,例如图片压缩,推荐系统。
    聚类: 将某一类具有相似性的特征聚到单个变量,从而大大降低维度。
    线性组合: 将多个变量做线性回归,根据每个变量的表决系数,赋予变量权重,可将该类变量根据权重组合成一个变量。

    3. 数值规约

    数值规约通过选择替代的数据表示形式来减少数据量。即用较小的数据表示替换或估计数据。
    数值规约技术可以是有参的,也可以是无参的。如参数模型(只需要存放模型参数,而不是实际数据)或非参数方法,如聚类、抽样和直方图。

    4.4 数据变换

    数据变换包括对数据进行规范化,离散化,稀疏化处理,达到适用于挖掘的目的。

    1. 规范化处理
    数据中不同特征的量纲可能不一致,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果,因此,需要对数据按照一定比例进行缩放,使之落在一个特定的区域,如[-1,1]区间,或[0,1]区间,便于进行综合分析。
    2. 离散化处理
    数据离散化是指将连续的数据进行分段,使其变为一段段离散化的区间。分段的原则有基于等距离、等频率或优化的方法。
    3. 稀疏化处理
    针对离散型且标称变量,无法进行有序的LabelEncoder时,通常考虑将变量做0,1哑变量的稀疏化处理,稀疏化处理既有利于模型快速收敛,又能提升模型的抗噪能力。

    5. 数据分析模型

    常用数据分析模型,主要包括:对比分析、漏斗分析、留存分析、A/B测试、用户行为路径分析、用户分群、用户画像分析等。

    5.1 对比分析

    对比分析 主要是指将两个相互联系的指标数据进行比较,从数量上展示和说明研究对象的规模大小,水平高低,速度快慢等相对数值, 通过相同维度下的指标对比,可以发现,找出业务在不同阶段的问题。
    常见的对比方法包括:时间对比,空间对比,标准对比
    时间对比: 包含同比、环比、定基比,时间不同其他条件相同。
    例如: 本周和上周进行对比就是环比;本月第一周和上月第一周对比就是同比;所有数据同今年的第一周对比则为定基比。通过三种方式,可以分析业务增长水平,速度等信息。
    空间对比: 就是同类现象或指标在同一时间不同空间的指标数值进行对比。
    例如:6月份淘宝成交额与天猫成交额对比就是空间对比。
    标准对比: 对某指标设定标准值,该指标所有数据与标准值对比。
    例如:学生成绩及格设定在60,大于等于60的为及格,小于的60则为不及格,这就是标准对比。

    5.2 漏斗分析

    漏斗分析模型是一套流程式数据分析,它能够科学反映用户行为状态以及从起点到终点各阶段用户转化率情况的重要分析模型。
    漏斗分析模型已经广泛应用于流量监控、产品目标转化等日常数据运营与数据分析的工作中。
    在这里插入图片描述

    5.3 留存分析

    留存分析是一种用来分析用户参与情况/活跃程度的分析模型,考察进行初始行为的用户中,有多少人会进行后续行为。这是用来衡量产品对用户价值高低的重要方法。

    留存分析可以帮助回答以下问题:

    1. 一个新客户在未来的一段时间内是否完成了您期许用户完成的行为?如支付订单等。
    2. 某个社交产品改进了新注册用户的引导流程,期待改善用户注册后的参与程度,如何验证?

    5.4 A/B测试

    A/B测试是指将产品的两个或多个版本,在同一时间维度,分别让类似访客群组来访问,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。

    比如: 你发现漏斗转化中间有漏洞,假设一定是商品价格问题导致了流失,你看到了问题-漏斗,也想出了主意-改变定价。但主意是否正确,要看真实的用户反应,于是采用AB测试,一部分用户还是看到老价格,一部分用户看到新价格,若你的主意真的管用,新价格就应该有更好的转化,若真如此,新价格就应该确定下来,如此反复优化。
    在这里插入图片描述

    5.5 用户行为路径分析

    用户路径分析即用户在APP或网站中的访问路径。
    用户路径的分析结果通常以桑基图形式展现,以目标事件为起点/终点,详细查看后续/前置路径,可以详细查看某个节点事件的流向。用户路径分析能够可视化用户流,全面了解用户整体行为路径,定位影响转化的主次因素,方便产品设计的优化与改进。
    在这里插入图片描述

    5.6 用户分群

    用户分群即用户信息标签化,通过用户的历史行为路径、行为特征、偏好等属性将具有相同属性的用户划分为一个群体,并进行后续分析。因为群体特征不同,行为会有很大差别,因此可以根据历史数据将用户进行划分,进而再次观察该群体的具体行为。
    用户分群关注群体差异,帮助企业打破数据孤岛并真实了解用户,让企业定位营销目标群体,帮助企业实现精准、高效营销。
    在这里插入图片描述

    5.7 用户画像

    用户画像分析是基于自动标签系统将用户完整的画像描绘清晰。
    常用的画像标签类别有:基本属性、心理特征、兴趣爱好、购买能力、行为特征、社交网络等。
    在这里插入图片描述

    6. 数据分析方法

    常用数据分析方法:描述统计、假设检验、信度分析、相关分析、方差分析、回归分析、聚类分析、判别分析、主成分分析、因子分析、时间序列分析等。

    6.1 描述性统计分析

    描述性统计分析是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法。描述统计分为集中趋势分析和离中趋势分析
    集中趋势分析:主要靠平均数、中数、众数等统计指标来表示数据的集中趋势。
    离中趋势分析:主要靠全距、四分差、平均差、方差(协方差:用来度量两个随机变量关系的统计量)、标准差等统计指标来研究数据的离中趋势。

    6.2 假设检验

    假设检验简单来说先凭借自己的直觉,经验,知识的储备做出合理的假设,再通过数据进行验证假设是否正确。主要包含:参数检验和非参数检验。

    1. 参数检验

    参数检验是在已知总体分布的条件下(一般要求总体服从正态分布)对一些主要的参数(如均值、百分数、方差、相关系数等)进行的检验 ,常用参数检验方法有:U检验法、T检验法

    2. 非参数检验

    非参数检验则不考虑总体分布是否已知,常常也不是针对总体参数,而是针对总体的某些一股性假设(如总体分布的位罝是否相同,总体分布是否正态)进行检验。常用非参数检验方法包括:卡方检验、秩和检验、二项检验、游程检验、K-量检验等。

    6.3 信度分析

    信度(Reliability) :即可靠性,它是指采用同样的方法对同一对象重复测量时所得结果的一致性程度。一般多用于性格测试、问卷调查等。
    信度指标多以相关系数表示,大致可分为三类:稳定系数(跨时间的一致性),等值系数(跨形式的一致性)和内在一致性系数(跨项目的一致性)。信度分析的方法主要有以下四种:重测信度法、复本信度法、折半信度法、α信度系数法。

    重测信度法: 用同样的问卷对同一组被调查者间隔一定时间重复施测,计算两次施测结果的相关系数。显然,重测信度属于稳定系数。重测信度法特别适用于事实式问卷,如性别、出生年月等在两次施测中不应有任何差异,大多数被调查者的兴趣、爱好、习惯等在短时间内也不会有十分明显的变化。如果没有突发事件导致被调查者的态度、意见突变,这种方法也适用于态度、意见式问卷。由于重测信度法需要对同一样本试测两次,被调查者容易受到各种事件、活动和他人的影响,而且间隔时间长短也有一定限制,因此在实施中有一定困难。

    复本信度法: 让同一组被调查者一次填答两份问卷复本,计算两个复本的相关系数。复本信度属于等值系数。复本信度法要求两个复本除表述方式不同外,在内容、格式、难度和对应题项的提问方向等方面要完全一致,而在实际调查中,很难使调查问卷达到这种要求,因此采用这种方法者较少。

    折半信度法: 是将调查项目分为两半,计算两半得分的相关系数,进而估计整个量表的信度。折半信度属于内在一致性系数,测量的是两半题项得分间的一致性。

    这种方法一般不适用于事实式问卷(如年龄与性别无法相比),常用于态度、意见式问卷的信度分析。在问卷调查中,态度测量最常见的形式是5级李克特(Likert)量表。进行折半信度分析时,如果量表中含有反意题项,应先将反意题项的得分作逆向处理,以保证各题项得分方向的一致性,然后将全部题项按奇偶或前后分为尽可能相等的两半,计算二者的相关系数(rhh,即半个量表的信度系数),最后用斯皮尔曼-布朗(Spearman-Brown)公式求出整个量表的信度系数(ru)。

    α信度系数法: 是目前最常用的信度系数,其公式为:α=(k/(k-1))*(1-(∑Si2)/ST2)

    其中,K为量表中题项的总数, Si^2为第i题得分的题内方差, ST^2为全部题项总得分的方差。从公式中可以看出,α系数评价的是量表中各题项得分间的一致性,属于内在一致性系数。这种方法适用于态度、意见式问卷(量表)的信度分析。

    总量表的信度系数最好在0.8以上,0.7-0.8之间可以接受;分量表的信度系数最好在0.7以上,0.6-0.7还可以接受。Cronbach 's alpha系数如果在0.6以下就要考虑重新编问卷。

    6.4 方差分析

    方差分析其实就是假设检验中的F-检验,主要针对的是两个及以上样本均值差别的显著检验。通过分析研究中不同来源的变异对总变异的贡献大小,从而确定可控因素对研究结果影响力的大小。
    使用条件:各样本须是相互独立的随机样本;各样本来自正态分布总体;各总体方差相等。
    单因素方差分析:一项试验只有一个影响因素,或者存在多个影响因素时,只分析一个因素与响应变量的关系;
    多因素有交互方差分析:一顼实验有多个影响因素,分析多个影响因素与响应变量的关系,同时考虑多个影响因素之间的关系;
    多因素无交互方差分析:分析多个影响因素与响应变量的关系,但是影响因素之间没有影响关系或忽略影响关系;
    协方差分祈:传统的方差分析存在明显的弊端,无法控制分析中存在的某些随机因素,使之影响了分祈结果的准确度。协方差分析主要是在排除了协变量的影响后再对修正后的主效应进行方差分析,是将线性回归与方差分析结合起来的一种分析方法。

    6.5 相关分析

    相关分析:研究现象之间是否存在某种依存关系,对具体有依存关系的现象探讨相关方向及相关程度。
    例如,人的身高和体重之间;空气中的相对湿度与降雨量之间是否存在依存关系,都是相关分析研究的问题。

    相关分析的方法很多,初级的方法可以快速发现数据之间的关系,如正相关,负相关或不相关。中级的方法可以对数据间关系的强弱进行度量,如完全相关,不完全相关等。高级的方法可以将数据间的关系转化为模型,并通过模型对未来的业务发展进行预测。
    例如:以下是每日广告曝光量和费用成本的数据,每一行代表一天中的花费和获得的广告曝光数量。凭经验判断,这两组数据间应该存在联系,但仅通过这两组数据我们无法证明这种关系真实存在,也无法对这种关系的强度进行度量。因此我们希望通过相关分析来找出这两组数据之间的关系,并对这种关系进度度量。
    在这里插入图片描述
    单纯从数据的角度很难发现其中的趋势和联系,而将数据点绘制成图表后趋势和联系就会变的清晰起来。对于有明显时间维度的数据,我们选择使用折线图和散点图分别进行分析。

    1. 通过折线图

    为了更清晰的对比这两组数据的变化和趋势,我们使用双坐标轴折线图,其中主坐标轴用来绘制广告曝光量数据,次坐标轴用来绘制费用成本的数据。通过折线图可以发现,费用成本和广告曝光量两组数据的变化和趋势大致相同,从整体的大趋势来看,费用成本和广告曝光量两组数据都呈现增长趋势。从规律性来看费用成本和广告曝光量数据每次的最低点都出现在同一天。从细节来看,两组数据的短期趋势的变化也基本一致。
    经过以上这些对比,我们可以说广告曝光量和费用成本之间有一些相关关系,但这种方法在整个分析过程和解释上过于复杂,如果换成复杂一点的数据或者相关度较低的数据就会出现很多问题。

    2. 通过散点图

    比折线图更直观的是散点图。散点图去除了时间维度的影响,只关注广告曝光量和费用成本这里两组数据间的关系。在绘制散点图之前,我们将费用成本标识为X,也就是自变量,将广告曝光量标识为y,也就是因变量。下面是一张根据每一天中广告曝光量和费用成本数据绘制的散点图,X轴是自变量费用成本数据,Y轴是因变量广告曝光量数据。从数据点的分布情况可以发现,自变量x和因变量y有着相同的变化趋势,当费用成本的增加后,广告曝光量也随之增加。
    在这里插入图片描述
    折线图和散点图都清晰的表示了广告曝光量和费用成本两组数据间的相关关系,优点是对相关关系的展现清晰,缺点是无法对相关关系进行准确的度量,缺乏说服力。并且当数据超过两组时也无法完成各组数据间的相关分析。若要通过具体数字来度量两组或两组以上数据间的相关关系,需要使用第二种方法:协方差。
    具体参考:https://blog.csdn.net/longxibendi/article/details/82558801

    6.6 回归分析

    回归分析研究的是因变量和自变量之间的定量关系,运用十分广泛,可以用于房价预测、销售额度预测、贷款额度预测等。常见的回归分析有线性回归、非线性回归、有序回归、岭回归、加权回归等。
    线性回归(Linear regression) :是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。
    一元线性回归分析: 只有一个自变量X与因变量Y有关,X与Y都必须是连续型变量,因变量y或其残差必须服从正态分布。
    多元线性回归分析:分析多个自变量与因变量Y的关系,X与Y都必须是连续型变量,因变量y或其残差必须服从正态分布 。
    Logistic回归分析:Logistic回归模型对因变量的分布没有要求,一般用于因变量是离散时的情况。
    Logistic回归分为条件Logistic回归和非条件Logistic回归,条件Logistic回归模型和非条件Logistic回归模型的区别在于参数的估计是否用到了条件概率。

    回归分析与相关分析的联系:

    1. 相关分析是回归分析的基础和前提。假若对所研究的客观现象不进行相关分析,直接作回归分析,则这样建立的回归方程往往没有实际意义。只有通过相关分析,确定客观现象之间确实存在数量上的依存关系,而且其关系值又不确定的条件下,再进行回归分析,在此基础上建立回归方程才有实际意义。
    2. 回归分析是相关分析的深入和继续。对所研究现象只作相关分析,仅说明现象之间具有密切的相关关系是不够的,统计上研究现象之间具有相关关系的目的,就是要通过回归分析,将具有依存关系的变量间的不确定的数量关系加以确定,然后由已知自变量值推算未知因变量的值,只有这样,相关分析才具有实际意义。
    3. 回归分析侧重于研究随机变量间的依赖关系,以便用一个变量去预测另一个变量;相关分析侧重于发现随机变量间的种种相关特性。

    6.7 聚类分析

    聚类分析是指样本个体或指标变量按其具有的特性进行分类,寻找合理的度量事物相似性的统计量。
    通常,我们遇到的很多数据都没有很明确或具体的分类标签,我们利用聚类分析将看似无序的对象进行分组、归类,以达到更好地理解研究对象的目的。聚类结果要求组内对象相似性较高,组间对象相似性较低。

    在用户研究中,很多问题可以借助聚类分析来解决,比如,网站的信息分类问题、网页的点击行为关联性问题以及用户分类问题等等。其中,用户分类是最常见的情况。常见的聚类方法有不少,比如K均值(K-Means),谱聚类(Spectral Clustering),层次聚类(Hierarchical Clustering) 等。
    聚类分析是一种缺乏分类标签的分类方法,当我们对数据进行聚类并得到簇后,一般会单独对每个类进行深入分析,从而得到更加细致的结果。

    以最为常见的K-means为例,K-means聚类步骤图解如下:

    1、随机设置K个特征空间内的点作为初始的聚类中心,比如图2中的红蓝黄三个点作为聚类中心(图1–>图2);
    2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别(图3–>图4);
    3、接着对着标记的聚类中心,重新计算出每个聚类的新中心点(平均值)((图5–>图6));
    4、如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行第二步过程;
    在这里插入图片描述

    6.8 判别分析

    判别分析:根据已掌握的一批分类明确的样品建立判别函数,使产生错判的事例最少,进而对给定的一个新样品,判断它来自哪个总体

    Fisher判别分析法 :
    以距离为判别准则来分类,即样本与哪个类的距离最短就分到哪一类, 适用于两类判别;以概率为判别准则来分类,即样本属于哪一类的概率较大就分到哪一类,适用于适用于多类判别。

    BAYES判别分析法 :
    BAYES判别分析法比FISHER判别分析法更加完善和先进,它不仅能解决多类判别分析,而且分析时考虑了数据的分布状态,所以一般较多使用。

    6.9 主成分分析与因子分析

    主成分分析(PCA): 主要是利用降维的思想,将K维数据映射到N维上,N维是全新的正交特征。

    因子分析: 用少数的几个因子去描述因素之间的关系,把冗余,杂乱的变量归结于几个主要的不相关的因子。类似于初中学因式分解。具体的方法有很多,如重心法、影像分析法,最大似然解、最小平*方法、阿尔发抽因法、拉奥典型抽因法等等。

    主成分分析与因子分析的区别:

    主成分分析做的仅为变量变换,将原始变量进行线性组合得到互相正交的新变量。因子分析需要构造因子模型,用潜在的假想变量(不可观测的潜在变量)和随机影响变量的线性组合表示原始变量。

    6.10 时间序列分析

    数据序列分析:是动态数据处理的统计方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。

    时间序列通常由4种要素组成:趋势、季节变动、循环波动和不规则波动

    主要方法:移动平均滤波与指数平滑法、ARIMA横型、量ARIMA横型、ARIMAX模型、向呈自回归横型、ARCH族模型。

    7. 数据可视化

    7.1 常见数据可视化图表

    常见数据可视化图表有:柱状图、折线图、饼图、散点图、雷达图、箱型图、气泡图、词频图、桑基图、热力图、关系图、漏斗图等。
    在这里插入图片描述

    7.2 常用数据可视化工具

    常见数据可视化工具有:Excel、BI工具(PowerBI、Tableau、FineBI)、Python 等。

    1. Excel

    如下图:PowerView是Excel里面数据可视化功能区,PowerMap是Excel的三维地图可视化区域。
    在这里插入图片描述

    2. BI工具

    PowerBI、Tableau、FineBI等都是常用BI可视化工具,功能大同小异,以PowerBI简单介绍一下。
    PowerBI 其实相当于PowerQuery(数据清洗)+PowerPivot(数据透视)+PowerView+PowerMap,他集成了这些功能组成一个新的软件叫PowerBI,属于微软做的一个专门用来做数据分析的商业智能软件。

    PowerBI界面:
    在这里插入图片描述
    B站上PowerBI基础入门的学习视频地址:
    https://www.bilibili.com/video/BV1YE411E7p3/?spm_id_from=333.788.b_636f6d6d656e74.17

    B站上PowerBI进阶的学习视频地址:
    https://www.bilibili.com/video/BV18C4y1H7b9?spm_id_from=333.788.b_636f6d6d656e74.18

    3. Python

    Python中常用的数据可视化的库:Matplotlib、Seaborn

    ————————————————————————————————
    参考地址:
    https://blog.csdn.net/longxibendi/article/details/82558801
    https://www.cnblogs.com/caochucheng/p/10539282.html
    https://www.cnblogs.com/HuZihu/p/11274171.html
    https://www.cnblogs.com/bigmonkey/p/11820614.html
    https://blog.csdn.net/weixin_43913968/article/details/84778833
    https://www.zhihu.com/collection/275297497
    http://www.woshipm.com/data-analysis/1035908.html
    https://www.sensorsdata.cn/blog/20180512/
    http://meia.me/act/1/schedule/112?lang=
    http://www.360doc.com/content/20/0718/00/144930_924966974.shtml
    https://zhuanlan.zhihu.com/p/51658537
    https://www.cnblogs.com/ljt1412451704/p/9937833.html
    https://www.cnblogs.com/peter-lau/p/12419989.html
    https://zhuanlan.zhihu.com/p/138671551
    https://zhuanlan.zhihu.com/p/83403033
    https://blog.csdn.net/qq_33457248/article/details/79596384?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
    https://blog.csdn.net/YYIverson/article/details/100068865?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
    https://blog.csdn.net/weixin_30487317/article/details/101566492?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

    展开全文
  • 数据预处理_数据相关性分析

    千次阅读 2020-04-13 15:54:48
    2、相关性可以应用到所有数据分析过程中,任何事物之间都是存在一定的联系 3、为了更准确描述变量之间的相关程度,通过计数相关系数来表示,在二元变量的相关分析中用相关系数®表示,而常用的有Pearson相关系数...

    相关性分析

    1、相关性分析是指对多个具备相关关系的变量进行分析,从而衡量变量间的相关程度或密切程度

    2、相关性可以应用到所有数据的分析过程中,任何事物之间都是存在一定的联系

    3、为了更准确描述变量之间的相关程度,通过计数相关系数来表示,在二元变量的相关分析中用相关系数®表示,而常用的有Pearson相关系数(皮尔逊相关系数) 和Spearman秩相关系数(斯皮尔曼相关系数)

    • 相关系数取值范围:-1≤R≤1,R>0为正相关表示两个变量的增长趋势相同,R<0为负相关表示两个变量的增长趋势相反
    • 相关性的强弱看相关系数R的绝对值。
      • |R|=0,不存在线性关系,|R|=-1,完全线性相关
      • |R|≤0.3,极弱线性相关或不存在线性相关
      • 0.3<|R|≤0.5,低度线性相关
      • 0.5≤|R|≤0.8,显著线性相关
      • |R|>0.8,高度线性相关
    # 设置cell多行输出
    
    from IPython.core.interactiveshell import InteractiveShell 
    InteractiveShell.ast_node_interactivity = 'all' #默认为'last'
    
    # 导入相关库
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    import os
    import warnings
    
    warnings.filterwarnings('ignore')
    os.chdir(r'E:\python_learn\data\python_book_v2\chapter3')
    
    file_name='data5.txt'
    data = pd.read_table(file_name,names=list('ABCDEFGHIJ'))
    data.head()
    
    ABCDEFGHIJ
    097.45691.563177.474635.6125489.3572641.03250230.851485455.451485172.77812.46
    1101.76920.3615768.013708.48280681.4430220.986397722.85572076.30571978.861185.68
    298.21894.768824.036182.0678489.5753157.321615678.851057980.511058386.64894.41
    398.79694.0012996.112672.9466489.3711927.441028936.04109382.9760690.05995.97
    498.56702.4511696.534707.07154598.0922076.093363655.63405832.86118129.15908.55

    Pearson相关系数 → data.corr(method=‘pearson’)

    • pearson相关系数一般用于分析两个连续性变量之间的关系,且要求连续变量的取值服从正态分布。

    →pandas的corr()函数可以直接给出数据字段的相关系数矩阵,返各类型之间的相关系数DataFrame表格。

    • 参数说明:
      • method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
        • pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性数据便会有误差。
        • kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
        • spearman:非线性的,非正太分析的数据的相关系数
      • min_periods:样本最少的数据量
    # 此处假设数据服从正态分布
    
    # pearson相关系数矩阵
    pearson = round(data.corr(method='pearson',min_periods=1),2)   # method默认pearson
    pearson
    
    ABCDEFGHIJ
    A1.00-0.040.27-0.050.21-0.050.19-0.03-0.020.95
    B-0.041.00-0.010.73-0.010.620.000.480.51-0.04
    C0.27-0.011.00-0.010.72-0.000.650.010.020.28
    D-0.050.73-0.011.000.010.880.010.700.72-0.05
    E0.21-0.010.720.011.000.020.910.030.030.21
    F-0.050.62-0.000.880.021.000.030.830.82-0.05
    G0.190.000.650.010.910.031.000.030.030.18
    H-0.030.480.010.700.030.830.031.000.71-0.04
    I-0.020.510.020.720.030.820.030.711.00-0.02
    J0.95-0.040.28-0.050.21-0.050.18-0.04-0.021.00
    # 用色彩映射表现返回的相关性矩阵的相关性强弱
    pearson_abs = np.abs(pearson)
    pearson_abs.style.background_gradient(cmap='Blues',axis =1,low=0,high=1)
    # cmap:颜色
    # axis:映射参考,0为行,1以列
    

    在这里插入图片描述

    # 用热力图可视化
    fig,ax = plt.subplots(1,1,figsize=(8,6))
    hot_img = ax.matshow(np.abs(pearson),vmin=0,vmax=1,cmap='Greens')
    # vmin=0,vmax=1  设置值域从0-1
    fig.colorbar(hot_img)  # 生成颜色渐变条(右侧)
    ax.set_title('热力图-Pearson相关性矩阵',fontsize=14,pad=12)
    ax.set_xticks(range(0,10,1))
    ax.set_yticks(range(0,10,1))
    ax.set_xticklabels(['x'+str(i) for i in range(len(pearson))],fontsize=12)
    ax.set_yticklabels(['x'+str(i) for i in range(len(pearson))],fontsize=12)
    

    在这里插入图片描述

    Spearman秩相关系数 → data.corr(method=‘spearman’)

    • 不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数来描述,因此Spearman秩相关系数又称为等级相关系数
    # Sperman秩相关系数矩阵
    spearman = round(data.corr(method='spearman'),2)
    spearman
    
    ABCDEFGHIJ
    A1.000.110.300.010.20-0.010.18-0.03-0.030.94
    B0.111.000.030.780.030.690.020.540.580.10
    C0.300.031.000.010.740.020.700.030.020.32
    D0.010.780.011.000.030.920.020.760.77-0.00
    E0.200.030.740.031.000.040.950.040.030.20
    F-0.010.690.020.920.041.000.030.840.84-0.02
    G0.180.020.700.020.950.031.000.030.020.18
    H-0.030.540.030.760.040.840.031.000.72-0.05
    I-0.030.580.020.770.030.840.020.721.00-0.03
    J0.940.100.32-0.000.20-0.020.18-0.05-0.031.00
    # 用热力图可视化
    fig,ax = plt.subplots(1,1,figsize=(8,6))
    hot_img = ax.matshow(np.abs(spearman),vmin=0,vmax=1,cmap='Reds')
    # vmin=0,vmax=1  设置值域从0-1
    fig.colorbar(hot_img)  # 生成颜色渐变条(右侧)
    ax.set_title('热力图-Pearman相关性矩阵',fontsize=14,pad=12)
    ax.set_xticks(range(0,10,1))
    ax.set_yticks(range(0,10,1))
    ax.set_xticklabels(['x'+str(i) for i in range(len(spearman))],fontsize=12)
    ax.set_yticklabels(['x'+str(i) for i in range(len(spearman))],fontsize=12)
    

    在这里插入图片描述

    • 当数据变量之间的相关性较强的时,说明变量间可能存在共线性相关性,可以采取降维的处理方法,从原有的变量中提取部分特征代替原数据的所有特征。
    展开全文
  • 数据分析数据预处理

    万次阅读 2017-03-06 18:01:53
    数据预处理步骤及方法 1、缺失值处理 1.1、造成缺失值原因 缺失值处理原则:使用最可能的值代替缺失值,使缺失值与其他数值之间的关系保持最大。 缺失值处理的方法很多,比如删除记录、均值填充、中位数填充等,...
    数据预处理步骤及方法
    1、缺失值处理
    1.1、造成缺失值原因

    缺失值处理原则: 使用最可能的值代替缺失值,使缺失值与其他数值之间的关系保持最大。
    缺失值处理的方法很多,比如删除记录、均值填充、中位数填充等,具体方法如表1所示。

    2、异常值处理

    异常值是数据集中偏离大部分数据的数据。从数据值上表现为:数据集中与平均值的偏差 超过两倍标准差 的数据,其中与平均值的偏差超过三倍标准差的数据,称为高度异常的异常值。
    删除异常值有整条删除和成对删除
    3、数据集成
    数据集成是将来自多个数据源的数据合并在一起,形成一致的数据存储,如将不同数据库中的数据集成到一个数据仓库中存储。数据集成主要涉及 冗余处理 冲突数据检测和处理
    3.1 、冗余处理
    数据冗余是指数据属性过多,且其中部分属性
    冗余处理的主要方法是相关分析。
    对于数值属性,通过计算属性 A B 之间的相关系数来估计这两个属性的相关性即:


    3.2、冲突数据检测与处理
    数据集成时将一个数据库的属性与另一个匹配时,要考虑数据的结构,用来保证原系统中的属性函数依赖和参照约束与目标系统中的匹配。
    例如,重量属性可能在一个系统中以公制单位存放,而在另一个系统中以英制单位存放。
    4、数据标准化

    z-score 标准化方法是一种基于原始数据的均值 (mean) 和标准差 (standard deviation) 将原始数据标准化成均值为 0 方差为 1 的一种标准化方法,其公式为:
    新数据 = (原始数据 - 原始数据均值) / 原始数据标准差
    适用场景: 该方法适用于属性 A 的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况

    Decimal scaling小数定标标准化

    Decimal scaling小数定标标准化方法是一种通过移动数据的小数点位置来进行标准化的方法,其中小数点移动多少位取决于属性A的取值中的最大绝对值。将属性A的原始值x使用decimal scaling标准化到x'的计算方法是:

    x'=x/(10*j)   [其中,j是满足条件的最小整数]

    案例:假定A的值由-986到917,A的最大绝对值为986,为使用小数定标标准化,我们用1000(即,j=3)除以每个值,这样,-986被规范化为-0.986。


    向量归一化法
    向量归一化法是一种基于数据最大值对数据进行转化标准化方法,其转化公式为:


    指标值均满足在 0~1 之间,并且正、逆向方向没变。
    线性比例变化法
    线性比例变换法是利用数据的线性比例关系对数据进行标准化处理的方法,其转化公式为

    经过线性变换后,指标值均在0~1之间,正、逆向指标均化为正向指标,最优值为1,最劣值为0。


    5、数据离散化

    5.1、  组距分组
    组距分组是数据分箱最基本的方法,包括等距分组和非等距分组。
    等距分组:各个组别的上限和下限的差,是相等的。
    非等距分组:各个组别的上限和下限的差,不等。
    需要注意的是: 分组后的数据,如果在后续建模中作为输入变量,用于对输出变量的分类预测,则不恰当的组距分组可能会使某些样本量失衡,影响模型的效果。
    5.2、分位数分组
    分为数分组也叫等频分组,是把观察点均匀分为 n 等份,每份内包含的观察点数相同。
    例如:某个主套餐共有 5 万人订购,等频分段需要先把用户按订购时间按顺序排列,排列好后可以按 5000 人一组,把全部订购用户均匀分为十段。
    5.3、单变量分组
    单变量分组也称为秩分组。方法为将所有变量按降序或者升序排序,排序名次即为分组结果,即是将变量值相同的归为同一组内。
    该方法适用于 变量的取值范围较小
    5.4、基于信息熵的离散化
    理论依据: 如果分组后的输入变量对输出变量取值的解释能力低于分组之前,那么这样的分组是没有意义的。
    度量指标:信息熵、信息增益。
    信息熵:平均信息量的测量指标。从数据分析角度看,极端情况下如果某输入变量只有一个取值,数据之间没有差异,则这个输入变量并没有给输出变量的分类预测带来任何有意义的信息,也就是说信息熵为 0
    信息增益:指定输入变量组限值,可以帮助输出变量的分类预测,信息增益值越高,则输出变量的分类越准确,误差越小。
    展开全文
  • 数据预处理之数据相关性分析

    千次阅读 2019-10-15 10:40:03
    分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过程成为相关分析 计算相关系数: 1.Person 相关系数: 要求连续变量的取值服从正态分布,一般用于分析连续性变量之间的关系 2.Spearman ...
  • 灰度相关 这个算法其实就是检测其他属性对于主要测的属性的相关性分析,其中最后值在[0,1]之间。 首先需要进行获取数据,利用pandas就可以读取csv或者excel,甚至用数据库导入就可以获取数据 其次进行无量纲化,即...
  • 数据预处理过程

    万次阅读 多人点赞 2018-12-27 16:50:05
    在数据能用于计算的前提下,我们希望数据预处理过程能够提升分析结果的准确性、缩短计算过程,这是数据预处理的目的。本文只说明这些预处理方法的用途及实施的过程,并不涉及编程方面内容,预处理的过程可以用各种...
  • 数据预处理工具_数据预处理

    千次阅读 2020-08-06 14:53:55
    数据预处理工具As the title states this is the last project from Udacity Nanodegree. The goal of this project is to analyze demographics data for customers of a mail-order sales company in Germany. 如...
  • 数据挖掘中数据预处理方法In the previous article, we have discussed the Data Exploration with which we have started a detailed journey towards data mining. We have learnt about Data Exploration, ...
  • 数据预处理

    千次阅读 2018-11-07 15:26:22
    数据预处理 为什么要进行数据预处理? 数据质量 数据质量包括准确性、完整性、一致性、时效性、可信性和可解释性 数据质量的三个要素:准确性、完整性、一致性。 不正确、不完整和不一致的数据是现实世界的大型...
  • @式溪去 数据清洗和数据预处理 熵值 归一化方法 抽样方法 @式溪去竽 教学目标 认识数据挖掘前数据进行适当处理的必要 性 掌握常用数据预处理的方法 @式溪去 教学要求 知识要点 能力要求 相关知识点 (1)了解原始数据...
  • 数据预处理方法

    千次阅读 2019-03-10 01:30:54
    下面主要针对数据预处理方面入手整理一些常用的方法。数据预处理分为四步,数据清理、数据变换和变量筛选。 一、数据清理 主要根据探索性分析后得到的一些结论入手,然后主要对四类异常数据进行处理;分别是缺失值...
  • 数据预处理-特征选择

    2019-04-27 11:10:36
    关于数据预处理,特征选择的主要技术原理,包括特征离散化,特征交叉,单特征/多特征AUC,残差分析,方差选择法,卡方检验,互信息特征选择,逻辑回归计算特征重要,距离相关系数,衡量数据分布的箱线图介绍等。
  • 数据预处理总结

    千次阅读 2017-06-07 15:12:36
    完成的数据预处理流程及方法
  • 数据预处理的一些知识

    万次阅读 2016-12-20 11:02:34
    数据预处理的一些知识做研究时只要与数据分析相关就避免不了数据预处理。我们常见的预处理包括:标准化(规范化),归一化,零均值(化),白化,正则化……这些预处理的目的是什么呢?网上查的总是零零散散,很难搞...
  • Python数据预处理概述

    千次阅读 2016-11-29 22:03:04
    Python数据预处理概述对于数据分析而言,数据是显而易见的核心。但是并不是所有的数据都是有用的,大多数数据参差不齐,层次概念不清淅,数量级不同,这会给后期的数据分析和数据挖掘带来很大的麻烦,所以有必要进行...
  • 数据预处理初步解释

    2018-12-28 11:09:36
    质量要求:数据预处理可以把对最终分析结果影响较大的不一致数据、虚假数据、错误数据等等数据排除在外,保证了数据分析结果具有较大的准确性,大数据分析分析出来的结果是作为决策方面的依据,故结果的正确性对决策...
  • Part 3: 数据分析数据预处理在介绍了sklearn包之后,我们正式开始大赛的流程,但是这部分不太用得到sklearn包,而是接着part1中我们对数据的分析和认识应用pandas等工具对数据进行分析和预处理。这一部分我们直接...
  • 5.PCA主成分分析 sklearn对pca的支持 1.数据集的维度 何为维度?对于一组数据集,其特征的数量即为改组数据的维度;如[90,2,10,40]这样一组数据的维度即为4 2.什么是数据集降维 如图所示,左边的一组数据为三维...
  • 数据挖掘之数据预处理

    千次阅读 2015-10-04 10:25:59
    数据预处理概论   数据预处理技术包括:聚集、抽样、维规约、特征子集选择、特征创建、离散化、二元化、变量变换。 先来看看属性的类型。 属性的类型: 标称:(定性的)(值仅仅是不同的名字,即只提供足够的信息...
  • 用Python进行数据挖掘(数据预处理

    万次阅读 多人点赞 2017-08-27 19:42:23
    用Python进行数据挖掘(数据预处理)本博客进行数据预处理的方法总结自kaggle的几道题目: 1.HousePrices 2.Titanic 以及比较不错的几个kernels: 1....
  • :数据预处理

    千次阅读 2018-05-12 00:38:54
    数据预处理是指因为算法或者分析需要,对经过数据质量检查后的数据进行转换、衍生、规约等操作的过程。整个数据预处理工作主要包括五个方面内容:简单函数变换、标准化、衍生虚拟变量、离散化、降维。本文将作展开...
  • 数据预处理+数据清理

    千次阅读 2020-04-15 17:58:58
    有大量的数据预处理技术: - - 数据清理:可以用来清楚数据中的噪声,纠正不一致。 - - 数据集成:将数据由多个数据源合并成一个一致的数据存储,如数据仓库。 - - 数据归约:可以通过如聚集、删除冗余特征或聚类来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,330
精华内容 14,132
关键字:

数据预处理相关度分析