如何判断信息的可信度,避免被数字欺骗?

浏览: 1348

作者:刘小芬R语言中文社区专栏作者。知乎专栏https://www.zhihu.com/people/liu-xiao-fen-10/columns

通过互联网信息,我们可以看到很多的信息,但是,该如何判断信息的可信度呢?例如看到新闻列举的平均工资、各种知识付费新闻等等,我们该如何取舍呢?是别人怎么说,我们就怎么听,还是自己去探究真实性呢?

我想,在开始研究数据的真实性前,我们需要先来了解什么是描述统计学?前面也有文章对这个进行了说明,在这里做个总结。

描述统计学有平均值、中位数、四分位数、标准差、标准分等。

其中,当有异常值时,用平均值来描述数据,就会带来误导性信息,例如平均工资,如果10个人中9个人的工资都是1000元,第10个人是10000万,那么就会大大的提高平均值,但是实际上拿到高薪的人属于少数,这就给找工作的人带来了误导。因此,平均值在遇到异常值的时候,不可取。

在这种情况下,我们就可以选择中位数或者是四分位数,中位数和四分位数都可以很好的体现出数值在一系列数据中的位置,所以,当我们想知道这系列的数据的某个数值处于什么位置的时候,就可以参考中位数和四分位数,其次,四分位数可以判断可能的异常值,特别是我们分析一组数据时通过画箱线图形式表现四分位数时,可以直观看到数据是否存在异常值。

我对标准差的理解从定义上看就是相当于是数据的离散程度,如果标准差较大,说明数值和平均值之间差距较大,也就是离散程度比较大,如果标准差较小,说明数据的离散程度较小。例如,理解了标准差,我们可以通过标准差判断一个产品的制造过程是否在可控范围内,若标准差过大,说明产品在制造过程中的波动较大,这个时候就需要对原因进行分析。

最后是标准分,标准分就是某数据的相对排名,可以在各数据集中进行比较。简单点说,就是将数据按照一定的比例进行标准化,然后可以跟不同类型的数据进行比较,主要是通过它们的相对排名来比较。例如中考成绩出来后,学生们的分数排名,就是一种标准分形式。

为了更直观的表示上面四种描述统计学,我找到了之前在招聘网站上爬取的招聘信息进行分析,主要是分析工资这一栏数据。

1、平均值

newdata$meanmoney <- apply(newdata[,c(10,11)],1,mean)

在R语言中,计算平均值是用mean()函数进行计算。具体结果:

image.png

2、中位数、四分位数和标准差

分析学历跟工资的关系:

educationdata <- newdata[,c(6,12)]
library(dplyr)
educationdata1 <- group_by(educationdata,education)
educationdata1 <- summarise(educationdata1,
                           mean=mean(meanmoney),##平均值
                           midmoney=median(meanmoney),##中位数
                           sdmoney=sd(meanmoney),##标准差
                           Q1monry=quantile(meanmoney,c(.25)),##下四分位数
                           Q2monry=quantile(meanmoney,c(.5)),##第二四分位数/中位数
                           Q3monry=quantile(meanmoney,c(.75)))##上四分位数

在R语言中,可以用median()函数计算中位数,quantile()函数计算四分位数,sd()函数计算标准差,结果如下:

image.png

因为高中学历的招聘数只有一个,所以标准差不存在。从数据中可以看到每个学历的平均值和中位数有差距,其中都是平均值大于中位数,也就是说存在异常值,且异常值属于较大值,此时数据向右偏斜,我们可以画出箱线图进行验证是否如此:

boxplot(meanmoney ~ education, data=educationdata,
       main="Education VS Meanmoney",
       xlab="education",
       ylab="meanmoney")

image.png

image.png

从箱线图可以看出,学历为本科、大专、不限都出现了异常值,且学历为本科的异常值较大,对平均工资造成了一定的误导。后续分析需要注意。

3、标准化

由于这段数据没有标准化的需要,所以我随机生成了一些数据进行标准化练习:

Math <- seq(70,100,2)
English <- seq(80,110,2)
Chinese <- seq(30,60,2)
score <- data.frame(Math,English,Chinese)
score
zscore <- scale(score)
zscore

image.png

对数据进行了标准化后,使得原本不具备可比性的三科成绩可以进行一个比较,也就是说将三个不同的数据按照一个标准进行标准化,我们可以知道这些数据的相对位置。

总结

因此,当我们看到一些数据的时候,先不要被它的描述语言迷惑了,应该读出其中的含义,看看是否属于语言陷阱,误导我们,给出一个被掩盖的事实,将这四种描述统计学应用在生活中。强烈推荐有兴趣可以看看《赤裸裸的统计学》这本书,看完后,会发现在生活中统计学是如此的有用。

image.png

公众号后台回复关键字即可学习

回复 R               R语言快速入门免费视频 
回复 统计          统计方法及其在R中的实现
回复 用户画像   民生银行客户画像搭建与应用 
回复 大数据      大数据系列免费视频教程
回复 可视化      利用R语言做数据可视化
回复 数据挖掘   数据挖掘算法原理解释与应用
回复 机器学习   R&Python机器学习入门 

推荐 0
本文由 R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册