数据分析中因果分析的地位如何?

 什么是决策树?
决策树模型本质是一颗由多个判断节点组成的树。在树的每个节点做参数判断,进而在树的最末枝(叶结点)能够对所关心变量的取值作出最佳判断。通常,一棵决策树包含一个根结点,若干内部节点和若干叶结点,叶结点对应决策分类结果。分支做判断,叶子下结论
我们看一个简单的决策树的模型,通过动物的一些特点来判断它是否是鱼类,在决策树模型中,我们来看每一个节点是如何做判断的。我们将所有要研究的动物作为树最上端的起点,对它进行第一个判断,是否能脱离水生存?如果判断为是的话,它不是鱼类。如果为否的话,我们还要再进行下一个判断,是否有脚蹼?如果是的话,它就是非鱼类,如果否的话就是鱼类。
我们仅仅是通过最多两个层次的判断,在树最末端的叶子结点,可以对我们感兴趣的问题给出了一个相对而言的最佳决策。这个就是决策树的逻辑,非常简单且和人脑理解事物的逻辑很类似。
决策树是一种简单高效并且具有强解释性的模型,广泛应用于数据分析领域。
  • 简单:逻辑相对简单,整个算法没有更复杂的逻辑,只是对节点进行分叉;
  • 高效:模型训练速度较快;
  • 强解释性:模型的判断逻辑可以用语言清晰的表达出来,比如上述决策树案例中的判断,就可以直接用语言表述成:脱离水不能生存的没有脚蹼的动物,我们判断它是鱼;
决策树模型应用于数据分析的场景主要有三种:
  • 驱动力分析:某个因变量指标受多个因素所影响,分析不同因素对因变量驱动力的强弱(驱动力指相关性,不是因果性);
  • 预测:根据模型进行分类的预测;
熵是描述判断的不确定性,大多数决策树的最终判断,并不是100%准确,决策树只是基于不确定性,作出最优的判断。
比如上述决策树案例,我们判断脱离水依然可以生存的是“非鱼类”。但是有一种特殊的鱼叫做非洲肺鱼,它脱离水后依然可以存活4年之久。虽然不是100%正确,我们在这个叶结点做出非鱼类的判断,是因为所有脱离水依然可以生存的动物里,有非常大部分都不是鱼。虽然这个判断有很大可能性是正确的,但判断依然存在着一些不确定性。
那么不确定性指的是什么呢?如下图,女生占比为50%,具有最大的不确定性;女生占比0%或者100%,则具备最小的不确定性。女生占比30%,具有中等不确定性;如果女性占比为70%的话,我们这个时候猜测是女性,出错可能性是1-70%,即30%,和刚刚的情况相同。也就是说,10个人中女性占比为30%,或是70%,我们虽然给出的判断不同,但是两个判断出错的可能性是一样的,都是30%;
图:在10个人中,判断随机挑选出来一个人,性别是男还是女 
如果尝试使用一个统计量E来表示不确定性的话,并且规定E的取值在0和1之间。他和人群中女性的占比应该满足这样一条曲线的关系,当女性占比为0或者100%的时候,进行判断的不确定性最小;E取最小值0当女性占比为50%的时候,判断的不确定性最大,E取最大值1;当女性占比取0到50%,或者50%到100%之间的值的时候,E的取值介于0到1之间。并且取值相对女性占比50%是对称的。
熵即是用来描述以上这种不确定性,它的数学表达式为:
Pi含义:对于事件,有c种可能的结果,每一种可能结果的概率为P1、P2…Pc;
熵的取值在0-1之间;一个判断的不确定性越大,熵越大;
信息增益表示经过一次决策判断(分叉)后,人群熵值下降的大小,即母节点的熵与两个子节点熵值和的差值。

我们继续用上一篇文章《如何用线性回归模型做数据分析》中的共享单车服务满意分数据集来做案例,分析哪一类人群更加偏向于成为公司的推荐者,我们需要分析用户特征,更好的区分出推荐者。

4.1测量节点对应人群的熵
决策树模型的第一步,是测量每个节点对应人群的熵值,最终我们得到可以判断推荐者的决策树。如下图,每个节点中标注两个数字,上面是推荐者比例,下面是用户群占比。初始节点的推荐者比例为0.14,再没任何分叉前,人群占比100%。我们用熵来度量每个节点对应人群的不确定性,推荐者比例趋近0%和100%的人群,熵的值也趋近于0,推荐者比例趋近50%的人群,熵的值则趋近于1。
在这个案例中,我们想知道哪一类人更加偏向成为公司的推荐者,也就是说,我们希望通过决策树,可以尽量地划分出是或者不是推荐者这个事情最为确定的人群。如果这样的人群在树的最终结点、也就是叶子结点可以被很好地划分出来的话,那么叶子结点所对应的人群的特征,就是推荐者或者非推荐者的典型特征
反应在人群的熵值计算,更大的确定性对应于比较小的熵值。我们实际上是希望通过决策树不断地分叉,使得节点的熵值越来越低,用户的label越来越纯。
我们使用信息增益(IG)来判断决策树的分叉方式。
节点分叉规则:在每个节点尝试按照不同特征变量的各种分组方式,选取信息增益最大(熵最小)的方式。
 4.3在特定情况树节点停止分叉
决策树不会一直不停分叉,决策树停止分叉的条件通常有:
  • 树的深度 — 如规定树的深度不能超过3

  • 叶子结点样本数 — 如叶子结点样本数不能小于10

  • 信息增益 — 如每一个分叉的信息增益不能小于0.2(R中的默认值)

停止分叉:再分叉会增加复杂度但是效果没有提高,叶子越多越复杂,会加重解释复杂性。

决策树在数据分析中的实战流程

我们了解了决策树模型的算法原理,那么它如何应用在日常的数据分析工作中呢?
继续我们刚才的案例,我们想探究分析用户推荐程度的主要影响因素是什么?可以用决策树模型将用户按照推荐者比例高低进行分层。
一百条数据,由公司员工随机采访100名用户产生,采访对象是北京市四个城区(西城区、东城区、海淀区、朝阳区)的居民,组别分为实验组和对照组。
5.2切割自变量和因变量
5.3将分类变量转换为哑变量
Python大多数算法模型无法直接输入分类变量
圈出叶子点-最终划分出的人群分层
通过人群特征取值的判断,1、我们划分出了推荐者比例有显著区别的人群2、找出了区分推荐者人群的关键特征,例如:海淀区用户、29岁及以上等
  • 模型建立后,可以将模型用作分类预测;
  • 决策树不只可应用于预测量为分类变量,还可应用于数值型因变量,只需将熵改为连续变量的方差;
  • 特征划分的方法除了信息增益方法外,还可以用增益率(**.5决策树)、基尼指数(CART决策树);
  • 剪枝是决策树算法中防止过拟合的主要手段,分为预剪枝与后剪枝。预剪枝指在决策树生成过程中,对每个结点在划分前进行估计,若当前结点划分不能使决策树泛化能力提升则停止划分。后剪枝指先从训练集生成一颗决策树,自底向上对非叶结点进行考察,若该结点对应的子树替换为叶结点能使决策树泛化能力提升,则该子树替换为叶结点;

你知道每个数据流代表什么意思?

你知道怎么利用数据流去修车吗?

除了简单的数据对比,数据流其他妙用你知道吗?

都知道数据流在维修中很重要,特别是没故障码的车,虽然诊断仪都有读取数据流的功能,但真正会用的却不多。今天金扳手就为大家讲解:数据流在修车时的妙用,以及如何分析数据流。

文章较长,可先转发收藏保存~

数据流是控制电脑与传感器和执行器交流的数据参数,通过诊断仪接口,由诊断仪读取发动机运行时的动态数据来诊断系统故障,是很重要的故障分析方法。

高压共轨柴油机电控系统的ECU对于某些非电路故障是不进行记忆储存的。

比如冷却液温度传感器信号失真,既没有断路,也没有短路,只是信号电压反应的不是真实的冷却液温度,ECU的自诊断功能就不会认为是故障。

再比如空气流量传感器被污染导致实际进气量与空气流量计检测到的进气量存在差异,都不可能被ECU所记录。在这种情况下, 阅读控制单元数据流成为解决问题的关键。

能够了解各传感器输送到ECU的信号值、ECU对某些执行器的输出值。它是维修人员寻找故障原因,判定故障部位的重要依据。

通过与真实值的比较,才能找出确切的故障部位,无论是无故障码储存的故障现象,还是有故障码储存的故障现象,读取数据流都是至关重要的。

数据流分析方法:数值分析法、时间分析法、因果分析法、关联分析法、比较分析法等。

对数值的变化规律和范围的分析,如转速、电压、温度电脑读数与实际值的差异等。在控制系统运行时,控制模块将以一定的时间间隔,不断接受各个传感器的输入信号、向各个执行器发出控制指令,对某些执行器的工作状态还根据相应传感器的反馈信号再加以修正。我们可以通过读取这些信号参数的数值加以分析。

1、系统电压:在发动机未启动时应为电瓶电压(12V左右);启动后≈充电系统的电压;若出现不正常的数值,就表示充电系统或发动机控制系统可能出现故障,有时甚至是电脑内部的电源部分出现故障。

2、PUMP发动机怠速工况(800r/min870℃)时:实际喷油量为6.5mg/H,加电时间为627us,如果在同一工况下的实际喷油量为10. 6mg/H,加电时间为950us,则表明喷油器喷孔可能存在堵塞、结焦故障。

给大家推荐一款神器AS206喷油器万用测试仪,在诊断仪不报故障码,万用表、试灯测量一切正常的情况下,不破线通过线圈电流波检测故障。

时间分析:对数据变化的频率和周期的分析,电脑在分析某些数据参数时,不仅要考虑传感器的数值,而且要判断其响应的速率,以获得最佳的控制效果

氧传感器的信号:不仅要求有信导电压和电压的变化,而且要求信号电压的变化频率在一定的时间内要超过一定的次数(某些车型要求大于6~10次/10s),当小于此值时就会产生故障码,表示氧传感器响应过慢。但当次数没有超过限定值,而又反应迟缓时,并不会产生故障码。

此时应读取氧传感器的数据流,包括信号电压在0.45v上下变化状态,以判断传感器的好坏,当传感器的响应迟缓时,往往在之间出现转速波动100 -200,甚至影响加速性能。这是由于传感器响应迟缓,导致空燃比变化过大,造成转速的波动。三元催化转化器前后氧传感器的信号变化频率是不一样的,通常后氧传感器的信号变化频率至少应低于前氧传感器的一半,否则可能三元催化转换器的转化效率已降低了。

因果分析法:对相互联系的数据之间响应情况和响应速度的分析。在各个系统的控制中,许多参数之间是有因果关系的。如电脑得到一个输入,肯定要根据此输入给出下一个输出。在认为某个过程有问题时,可以将这些参数连贯起来观察,以判断故障出现在何处。

装有真空EGR (废气再循环)调节器系统的发动机,通常ECU是根据空气流量传感器反馈信号来控制EGR阀的工作状态。当有EGR系统未工作,EGR同卡死在关闭位置的故障码出现时,应首先在相应工况下检查ECU对EGR控制电磁阀的输出指令和空气流量传感器的值。

若无控制输出,可能是工况条件不满足或ECU故障。

若有控制输出,但反馈值没有变化,则可能是传感器、线路、真空调节器或EGR阀(包括管路)有问题。此时可直接在EGR阀上施加一定的真空,若发动机转速出现明显变化,说明EGR阀没有问题,故障可能在传感器、线路、真空调节器上。若无明显变化,则可能是egr阀有问题。

若有控制输出,且ECR阀已经打开,但依然报出ECR阀卡死在关闭位置的故障码,同时发动机排气冒黑烟,这时应读取空气流量传感器的数据流,如果怠速空气流量大于标准流200,说明空气流量传感器被污染。故障原因在空气流量传感器。

关联分析是对相关联之间存在的比例关系和对应关系的分析(指几个参数之间的逻辑关系)。有时ECU对故障的判断是根据几个相关传感器、执行器信号的比较,当发现它们之间的关系不合理时,会给出在一个或者几个故障码,成者指出某个信号不合理,此时一定不要轻易地断定该传感器或执行器不好,而要根据它们之间的相互关系进行一步一步的检测,以得到正确的结论。

P0401故障码:空气设定量与实际新鲜进气量的差值低于下限值 (新鲜进气量过大);一般都会认为造成这个故障码的原因是EGR阀卡滞在关闭位置,往往去查找EGR阀关闭的原因。其实这个故障码的激活原因是EGR在发动机转速rpm时,监测到空气流量传感器的流量大于实际目标值150~200mg/s时间持续8S时,故障码P0401报出。

造成这一故障的环境条件是:

1. EGR阀 卡死在关闭位置;

2. HFM(空气流量计)出现漂移,通过读取数据流并进行关联分析我们会发现,产生这一故障的真实原因是空气流量传感器被污染造成的。

当空气流量传感器被污束后,空气流量传感器为维持120℃溫差AT所需要的电压值也增大,此时ECU误认为空气量增大,于是增大EGR阀开度。而当EGR阀开度达到全开(5%) 。时间超过8秒,ECU则会关闭真空调节器信号,同时故障码P0401报出。

如果发生传感器故障,可以用A203万用传感器快速判断线束,传感器好坏。

比较分析法是对相同车型及系统在相同条件下的相同数据组进行对比分析。在很多时候,维修人员没有足够的技术资料和详尽的标准数据,无法准确判断某个零件的好坏,此时可以同类车型或同类系统的数据进行比较。在维修实践中很多人会使用替换实验进行判断,这也是一种简单的方法但在进行时注意应首先做一定的基本诊断,在基本确定故障趋势后,再替换被怀疑有问题的器件,不可一.上来就换这换那,其结果可能是换了所有的器件,依然未发现问题。

有一台车热机(水温50℃以上)启动困难,维修技师拨出水温传感器线束,模拟低温25信号启动发动机。发动机依然启动困难,说明故障不在温度修正信号。读取故障码0252_ 取动装置温度过高。测量燃油计量单元电阻为0.9, 出现物理短路观象: 更换新的燃油计量单元(电阻值为3.1)故障要注意的是用于暂换的各件定要确定是良好的,而不一定是新的,这是做替换实验的基本准则。

关于数据流想要讲解的东西很多,但考虑到篇幅和学习时间,我们会做成连载文章推送本周讲解了数据流的作用,和数据流常用的分析方法。

理论的相对枯燥,但会对之后的课程理解有很大的帮助,

我要回帖

更多关于 什么是数据的因果关系 的文章

 

随机推荐