数据采集与分析的指标都有哪些

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据采集与分析的指标都有哪些相关的知识,希望对你有一定的参考价值。

讲解几个数据分析的常用指标

增长研究社
08-04 · 优质科技领域创作者
评价指标是评判数据表现的衡量标准,它是数据分析中非常重要的部分,也是产品经理必须掌握的重点内容。不同的数分任务采用不同的评价指标,对于同一种任务在不同场景下也会采用不同的评价指标。

例如在检测垃圾邮件这个场景中,这是一个典型的二分类问题,所以可以用精确率和AUC曲线这两个指标判断模型的效果;在人脸识别场景中,使用误识率、拒识率和ROC曲线这三个指标评判模型的效果。

不同指标的着重点不一样,一个指标在不同场景下适用性可能不一样,产品经理需要学习不同指标的特性,在项目中根据实际需要选择不同的评价指标。下文中我们重点讲解一些产品经理常用的评价指标。

01 混淆矩阵

混淆矩阵(Confusion Matrix)是评价模型精度的一种标准格式,用一个N行N列的矩阵形式来表示。矩阵每一列代表预测值,每一行代表实际值。

从混淆矩阵的名字不难看出来,它的作用是表明多个类别之间是否有混淆,也就是模型到底判断对了多少个结果,有多少个结果判断错了。同时混淆矩阵能够帮助我们理解准确率、精确率和召回率的区别。

面对一个二分类问题时,通常我们会将结果表示为正类与负类,两者可以随意指定。在上述区分猫狗图片的例子中,我们假定猫为正类、狗为负类。那么在实际进行预测的时候就会出现四种情况,如下图所示:

混淆矩阵

如果这张图片是猫,机器预测出来的结果也是猫,这种情况称为真正类(True Positive,以下简称TP);

如果这张图片是狗,机器预测出来的结果也是狗,这种情况称为真负类(True Negative,以下简称TN);

如果这张图片是猫,机器预测出来的结果是狗,这种情况称为假负类(False Negative,以下简称FN);

如果这张图片是狗,机器预测的结果是猫,则为假正类(False Positive,以下简称FP)。

02 准确率

准确率(Accuracy)是指预测正确的样本占总样本的比例,即模型找到的真正类与真负类与整体预测样本的比例。用公式表示为:

Accuracy=(TP+TN)/(TP+TN+FP+FN)
准确率的取值范围为[0,1],一般情况下取值越大,代表模型预测能力越好。

假设上述猫狗图片分类的例子中,猫狗图片各有500张。最后模型预测的结果中真正类有318个,真负类有415个,假正类有75个,假负类有182个。根据准确率的定义可以算出来目前模型的准确率为:(318+415)/(1000)=0.73。

准确率是评价模型效果最通用的指标之一,描述模型找到“真”类别的能力。也就是说模型准确识别出猫和狗的概率为0.73。但是在使用的时候有两点需要我们注意。首先是准确率没有针对不同类别进行区分,最后求得的准确率对每个类别而言是平等对待的,这种评价方式在很多场景下是有欠缺的。

在本例中,虽然可以看到模型的整体准确率是73.30%,但是从结果中明显可以看出来,模型对于猫的识别效果远不如对狗的识别效果。如果我们模型的目的是为了把猫的图片挑出来,那么这个准确率就有些虚高。

在实际的病患诊断中,计算机诊断出某患者患有癌症,实际上却未患癌症与计算机诊断出某患者未患有癌症,而实际上却患有癌症这两种情况的重要性不一样,不能一概而论。我们需要明确后续是降低误诊率还是提高确诊率,才能让后续模型优化更有针对性。

另外在正负样本极不平衡的情况下,准确率这个指标存在很大的缺陷。例如在银行的全量客户中,要寻找适合推荐信托产品的超高净值客户是非常难的。因为这部分人群要求存款较多、收入较高,比较稀少,往往只有万分之一的概率。

如果一个预测客户适不适合信托产品的模型用准确率去评判,哪怕模型把全部客户预测成负类,即全部都是不适合的情况,那么这个模型的精度也有 99% 以上。

但这个指标就失去了原有的意义,因为无法找到任何高净值的人群。所以我们一再强调,没有万能的指标,根据场景选择合适的指标非常重要。

03 精确率与召回率

精确率(Precision)和召回率(Recall)是一对好兄弟,虽然是两个不同的评价指标,但它们互相影响,通常一起出现。在很多书上又把精确率称为查准率,把召回率称为查全率。

召回率是针对原始样本而言的指标,它表示原始样本中的正例有多少被预测正确。

原始样本中的正例有两种情况,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN),这两种情况组成了原始样本所有的正例。计算公式为:

Recall=TP/(TP+FN)
上述模型中识别猫类图片的召回率为:

318/(318+182)=0.63
从这个角度可以看出来总共500张猫的图片,模型只找对了318张,相比准确率而言,召回率更真实地反应了模型的效果。

而精确率是针对预测结果而言的指标,它表示预测为正类的样本中有多少是对的。预测结果为正例有两种情况,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。所以精确率的计算公式为:

Precision=TP/(TP+FP)
即上述模型中识别猫类图片的精确率为:

318/(318+75)=0.81
从这个指标可以看出来模型总共把393张图片预测为猫,其中只有318张图片预测正确。所以模型可能存在欠拟合的情况,将部分狗的照片判断成猫,判断为正类的条件太宽松。下一步优化的时候可以选择适当降低条件以此提高模型效果。如下图所示可以看出精确率与召回率的区别:

精确率与召回率

在理想情况下,我们希望精确率和召回率两者都越高越好。

然而事实上这两者在很多情况下是互相矛盾的。当召回率变高时意味着需要尽可能找到原始样本的正例,因此模型覆盖的数量会变多,模型就更高的几率犯错,将原本不属于该分类的样本也加进来,这就导致精确率下降。

如果我们希望模型尽可能多得找出猫的图片,我们会想办法提高召回率;如果我们希望模型找到的图片少一点但找出来的都是猫的图片,我们会想办法提高精确率。

有两个很典型的场景可以说明这两个指标实际运用的区别,一个是对于地震的预测,我们希望尽可能预测到所有的地震,哪怕这些预测到的地震中只有少数真正发生了地震,在这个时候我们就可以牺牲精确率。

宁愿发出100次警报,但是把10次真实的地震都预测对了,也不希望预测了10次但是只有8次真实的地震被预测出来了,因为只要有1次地震没被发现都会造成巨大的损失。因此这是一个“宁可抓错,不可放过”的场景。

还有一种是垃圾邮件分类的场景,我们希望模型能够尽可能找到所有垃圾邮件,但是我们更不希望把自己正常的邮件被分到垃圾邮件中,哪怕是一封正常的邮件,这会对用户造成很严重的后果。对于少数没有被识别出来的垃圾邮件,其实用户是可以容忍的。

这时候我们宁可少分类成垃圾邮件,但必须确保分的都是对的,这就是一个“宁可放过,不可抓错”的场景。因此在不同的场合中,需要产品经理根据实际情况,自己判断希望是精确率比较高或是召回率比较高。

另外精确率和准确率是比较容易混淆的两个评估指标,两者的核心区别在于:精确率是一个二分类指标,只适用于二分类任务,而准确率能应用于多分类任务。

04 ROC曲线

在逻辑回归的分类模型里,对于正负例的界定,通常会设一个阈值。大于阈值的样本判定为正类,小于阈值的样本为负类。如果我们减小这个阈值,会让更多的样本被识别为正类,从而提高了正类的识别率,但同时也会使得更多的负类被错误识别为正类。

直接调整阈值可以提升或降低模型的精确率和召回率,也就是说使用精确率和召回率这对指标进行评价时会使得模型多了“阈值”这样一个超参数,并且这个超参数会直接影响模型的泛化能力。在数学上正好存在ROC曲线能够帮助我们形象化地展示这个变化过程。

ROC曲线是一个画在二维平面上的曲线,平面的横坐标是假正类率(FalsePositive Rate,简称FPR),计算公式为:

FPR=FP/(FP+TN)
纵坐标是真正类率(True Positive Rate,简称TPR),计算公式为:

TPR=TP/(TP+FN)
对于一个分类器而言,每一个阈值下都会有一个FPR和TPR,这个分类器就可以映射成ROC平面上的一个点。当我们调整这个分类器分类时使用的阈值,就可以得到一个经过(0,0),(1, 1)的曲线,这条曲线就是这个分类器的ROC曲线,如下图所示。

ROC曲线

从图中可以看到,所有算法的ROC曲线都在y=x这条线的上方,因为y=x表示了随机的猜测的概率。所有二分类问题随便猜正确或不正确都是50%的准确率。

一般情况下不存在比随机猜测的准确率更糟糕的算法,因为我们总是可以将错误率转换为正确率。如果一个分类器的准确率是40%,那么将两类的标签互换,准确率就变为了60%。

从图中可以看出来,最理想的分类器是到达(0,1)点的折线,代表模型的准确率达到100%,但是这种情况在现实中是不存在的。如果我们说一个分类器A比分类器B好,实际上我们指的是A的ROC曲线能够完全覆盖B的ROC曲线。如果有交点,只能说明A在某个场合优于B,如下图所示。

分类器A与分类器B的ROC曲线

ROC曲线通常搭配着它对应的比率图一起使用,我们继续用猫狗图片分类的例子说明这两个图怎么看。原本我们猫狗的图片各有500张,如所示图形的X轴代表预测的概率值,Y轴代表观察的数量。

假设我们用一个新的分类器对图片进行分类,分类结果用黑色线代表狗图片的分布,用灰色代表猫图片的分布。模型给出的分值越高代表模型判断这张图片是猫的把握越大,反之模型的给出的分值越低代表模型判断这张图片不是猫的把握越大,也就是说这张图片更有可能是狗。

从下图中可以看出来这个分类器的分类效果还是挺好的,基本上基本把两个物群的分布分开,ROC曲线也非常靠近(0,1)这个点。

某分类器下的ROC曲线

如上图所示,如果将阈值设为0.3,左边划线部分的面积代表模型判断为狗的图片数量有300张左右,并且从图中可以看出来这300张图片全部分类正确。

如果将阈值设为0.5,则左边划线部分的面积代表模型判断为狗的图片有530张左右,从图中重叠部分可以看出来大约有40个分类结果是包含错误分类的,这些错误分类包括实际是狗的图片被分成猫的情况以及实际是猫的图片被分类成狗的情况。

0.3阈值与0.5阈值下的分类结果

这时候我们用另外一个分类器再进行分类,结果如图3-16所示。可以看到整个分类结果向右偏移,同时模型的效果变差,因为两个分类结果重叠的部分变大,无论我们把阈值设在哪里都会比上一个分类器产生更多的错误分类。

假如这时我们采用“宁可抓错,不可放过”的原则把阈值设置为0.8,则右边划线部分只有200个左右不会被分类为狗的图片,其余800个结果全部会被判定为狗的图片,尽管这里面有350个分类结果是错误的结果。

新的分类器下的ROC曲线

从上述例子中看出来,ROC曲线可以帮助我们从图像的角度分辨两个分类结果的分布情况以及选择模型合适的阈值。因此也是很多产品经理比较喜爱的指标之一。

这时很多读者可能会有疑问,既然已经有那么多评价标准,为什么还要使用ROC呢?

原因在于ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化,使用ROC曲线不管是数据集怎么变换,都有直观的展示效果。

05 AUC值

ROC曲线一定程度上可以反映分类器的分类效果,但始终是以图像的形式,不能告诉我们直接的结果。我们希望有一个指标,这个指标越大代表模型的效果越好,越小代表模型的效果越差。于是引入了AUC值(Area Under Curve)的概念。

AUC是数据分析中最常用的模型评价指标之一,实际上AUC代表的含义就是ROC曲线下的面积,如下图所示,它直观地反映了ROC曲线表达的分类能力。AUC值通常大于0.5小于1,AUC(面积)越大的分类器,性能越好。

AUC值的图形展示

AUC值的定义是:从所有正类样本中随机选取一个样本,再从所有负类样本中随机选取一个样本,然后分类器对这两个随机样本进行预测,把正类样本预测为正类的概率为p1,把负类样本预测为正类的概率为p0,p1>p0的概率就等于AUC值。

即AUC值是指随机给定一个正样本和一个负样本,分类器输出该正样本为正的概率值比分类器输出该负样本为正的那个概率值要大的可能性,AUC值越高代表模型的排序能力越强。理论上,如果模型把所有正样本排在负样本之前,此时AUC的取值为1,代表模型完全分类正确,但这种情况在实际中不可能出现。

总结AUC值的四种取值结果有:

AUC=1时,代表采用这个预测模型,不管设定什么阈值都能得出完美预测,模型能够将所有的正样本都排在负样本前面。但是在现实中不存在完美的分类器。

0.5<AUC<1时,代表模型的效果比随机猜测的准确率高,也就是说模型能够将大部分的正样本排在负样本前面,模型有一定的预测价值。

AUC=0.5时,代表模型的预测效果与随机猜测一样,只有50%的准确率。也就是说模型完全不能区分哪些是正样本哪些是负样本,没有预测价值。

AUC<0.5时,代表模型的预测效果比随机猜测还差;但只要将样本正负例互换,结果就能优于随机猜测。
参考技术A 有下面几个指标:
1. 常规数据指标的监测,不在话下。如用户量,新用户量,UGC量(社交产品),销量,付费量,推广期间的各种数据等等。这些是最基础也是最基本,同时也是boss们最关注的指标。你接手这项工作的时候第一任务就是把这些数据梳理好。
2. 渠道分析,或者说流量分析。对于一个在上升期得APP来说,你们会花资源去引流量、去别的渠道拉用户。 这时候就需要监测各个渠道的好坏,哪个效果好,哪个单价便宜,这都是需要渠道数据监测来完成。当然,你还需要跟踪监测不同渠道用户的后续表现,给每个渠道的用户进行打分,让BOSS知道哪个渠道值得投,哪个渠道是垃圾。 同时也可以监测iPhone和android用户的质量区别,一般来说,iphone用户质量要略高于android用户。当然,有多余精力的话还可以监测不同机型之间用户的表现区别。 总之就是在不同的维度上监测不同用户的表现。
3. 用户的核心转化率。想想你的APP的核心功能是什么,然后去监测这个核心功能的转化率。在游戏APP里可能叫付费率,在电商APP里可能叫购买率。不同的行业都有相应的不同转化率,你可以将自己的产品和行业平均进行对比,看看自己的产品在行业中所处的地位。同时,通过长期的监测,你还可以更具这项数据评判APP不同版本的好坏。

性能测试指标都有哪些?

性能测试指标有哪些

包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试。
负载测试,一种性能测试指数据在超负荷环境中运行,程序是否能够承担。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。
因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效,首先需遵循此类原则,将此类原则贯穿整个开发流程,不断进行测试,而并非一次性全程测试。
参考技术A

近年来,以5G、人工智能、物联网等为代表的“新基建”迅速发展,我国软件产业规模不断扩大,对于软件产品质量把控也提出了更高的要求,软件产品质量和工作效率直接影响人们的日常生活,因此软件系统性能测试、软件压力测试等也逐渐受到行业重视。

软件性能测试直接关系到用户需求和体验,那么软件产品如何做性能测试呢?测试过程中又包含哪些测试指标,卓码软件测评小编就此进行简要分析。

一、什么是软件性能测试?

一般来说,软件性能测试是根据需求设计对测试系统施加压力,在测试过程中获得系统响应时间、运行效率、资源利用情况等各项性能指标,以此判断系统能否满足用户的需求。之前有研究报道指出,如果一个网站每天挣10万元,那么1秒的页面加载延迟就有可能导致损失25的销售额,所以软件性能测试对于网站用户体验甚至客户的利益都至关重要。

二、软件性能测试指标有哪些?

那么在日常的测试工作中,对于软件性能测试都有哪些评判指标?主要从以下3个方面考量:

1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。

2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。

3、容量测试;一般指模拟用户不断增加时,确定系统可以处理同时在线的最大用户数量。

三、怎么做软件性能测试?

了解软件性能测试相关考核指标以外,那么怎么做好软件性能测试呢?许多企业会在软件开发过程中自行进行部分性能测试,但软件测试工具,测试环境,测试人员技术能力等都是影响软件性能测试的重要因素,另外还有搭建测试环境需要用到的人力物力成本等,所以还是推荐由专业的第三方测试机构进行完善的测试服务,能够帮助企业得出公正、客观的测试结果。

四、相关测试机构推荐

说到第三方测试机构的话,企业可以选择像卓码软件测评这样的独立第三方机构,能够为企业提供一体化的软件测试服务,在项目验收测试、成果鉴定测试、产品确认测试方面有丰富的测试经验。拥有完善的自动化测试工具环境,也可以为客户在公司部署各种复杂度的系统测试环境进行测试服务。

以上是关于数据采集与分析的指标都有哪些的主要内容,如果未能解决你的问题,请参考以下文章

一文带你了解常见的数据指标都有哪些数据分析

数据分析的基本方法都有哪些

三维数据分析都有哪些好的方法与软件?

常用的监控协议都有哪些

电商平台应该分析哪些数据?具体怎么去分析

js 开头的股票指标都有哪些