第一周-统计学基础

前言:最近有幸参加了木东居士开展的大数据学习小组,之前也没有比较系统性的参与大数据方面的学习,都是自己在摸索,效果不见得多好,所以很感谢居士开展的这个项目,跟着大神的思路,也希望自己能够得到一次提升,作为第一周课堂前的练习,自己也只是简单先复习下相关的一些统计学知识,仅作为自己的一次记录。

描述统计

一、 集中趋势

在处理实际业务数据的时候,我们经常需要对数据汇总统计,经常使用excel的话,我们常用求和、求平均、计数、求最大、最小值等,统计语言能帮助我们从盘大的数据中,直观反应我们想要得到的信息。

以下记录的是自己平时在处理业务数据时常用到的一些统计方法,并没有记录到所有的方法,后续在工作和学习的过程中再补充

  1. 均值:均值使用频率较高,它是反应一组数据的平均水平,现在很多统计指标也喜欢用均值表示,如人均gdp,人均消费水平等。但使用均值时要小心均值产生的欺骗陷阱,如一组数:1,2,3,4,100;它们的均值为22,但明显这是不够客观的,均值更容易将数据给分散,导致了整体虚高的假象。

平均值细分有:算术平均值、加权平均值和几何平均值,其中我们比较陌生的是几何平均值,我们在计算算术平均值和加权平均值,一般都是相加后再除n,但有些数据的关系不是加减而是乘除,举个例子:工厂生产一个产品,是经过多道工序加工而成的,每个加工环节都有一个合格率,环环相扣,故求生产线的平均合格率应该是用几何平均数,如: E ( x ) = 0.94 ∗ 0.81 ∗ 0.95 ∗ 0.99 4 E(x) = \sqrt[4]{0.94*0.81*0.95*0.99} E(x)=40.940.810.950.99

  1. 分位数:有时候用均值容易陷入欺骗陷阱,分位数能帮助我们了解数据的分布情况,结合箱线图,能清晰发觉异常值。
  2. IQR:四分位距,在数据清晰的过程中,我们会过滤掉异常值,常见的可能取范围为(中位数-nIQR,中位数+nIQR)
# python 中pandas库中有方便的方法直接进行描述统计
df = pd.DataFrame([ _  for _ in range(10)])
df.describe()
>	       0
count	10.00000
mean	4.50000
std	3.02765
min	0.00000
25%	2.25000
50%	4.50000
75%	6.75000
max	9.00000
# 求数据分布情况,自己平时用的最多的是loss值分布统计
dic = {}
for i in range(0,101,1):
	dic[0] = df[0].quantile(i/100)
dic
# 经常分布情况会结合面元化的方法,对数据进行统计,更便于我们分析
bins = [0,5,8,10]
cat = pd.cut(df[0], bins)
counts = pd.value_counts(cat)
# 求方差,标准差,numpy 有简单的方法
df_var = np.var(df[0])
df_std = np.std(df[0])

二、 离散趋势

  1. 极差:也称全距,作用类似于分布,即使两个数据集合的平均值相等,但极差大的,代表数据离散程度越大,数据的稳定性相对较差,但是极差是比较粗糙的离散指标,实际中不会过多使用 R = x m a x − x m i n R=x_{max}-x_{min} R=xmaxxmin
  2. 平均误差: R a = ∑ i = 1 n ∣ x i − x ˉ ∣ n R_{a} = \frac {\sum_{i=1}^{n} \mid x_{i}- \bar{x} \mid} {n} Ra=ni=1nxixˉ这公式就很熟悉了,回归经常用到的mae(平均绝对误差)长得很像(被减数不同),用于表示数据与平均值的平均偏差距离。加上绝对值是为了消除负值的影响。
  3. 样本方差和标准差,这个高中数学大家应该都学过了,只不过现在前面加个样本是因为实际中,如果定义总体,数据量太过盘大,而我们一般是从总体中抽取样本实验,用样本的结果去逼近总体,故而叫样本方差/标准差,这两者也是反应数据的离散(波动)程度的统计方法,至于为什么是减去n-1,主要是为了消除有偏估计。方差: s 2 = ∑ i = 1 n ( x i − x ˉ ) 2 n − 1 s^{2} = \frac {\sum_{i=1}^{n} \left ( x_{i}- \bar{x}\right ) ^{2} } {n-1} s2=n1i=1n(xixˉ)2
  4. 标准化(归一化):这个是在机器学习特征工程预处理环节常用的方法,放在这里有点乱入,不过刚好想到之前看过milter大神写的一篇关于标准化和归一化区别的文章,在这里也记录下:归一化与标准化区别

图表展示

在做数据分析时,我们常常借助图表帮助我们直观发现问题,比看死气沉沉的数值好理解多,在这里我就不一一展开讲各图表的用处,主要是会在不同的业务场景中使用适当的图表表达,在python中现在也有很多方法可以帮助我们快速出图,不追求美观,想快速响应的情况下,是极好的,常见如matplotlib, seaborn等。

  1. 折线图:个人很喜欢用折线图,常用来看数据趋势(分布情况),matplotlib中plot 方法即可搞定
  2. 直方图:直方图用的比较少,不过可以统计数据在不同区间的数量情况,个人觉得也适合用于看数据分布
  3. 条形图:条形图用于两个特征数据的情况,主要还是用于多个分类的直观比较,条形图也常用与折线图组合,关于值与占比的展示最好不过了
  4. 散点图:更多的帮助我们去观察大量数据的分布情况,在做机器学习时最常用了,数据有明显的回归特征还是分类特征,有时可以一目了然
  5. 箱线图:前面介绍到常用于数据观察数据的分布,研究过股票的朋友,其实就是类似k线图,只是箱线图是统计的语言,可以直观帮助我们了解数据的集合分布情况

当然还有很多其他图表,我只是列出平时在数据分析中最常见的图,主要还是要结合业务,结合场景,用最适合的方法展示

未完待续

本次记录的内容不多,其实也是作为本次学习课程的一个餐前小菜,将统计的一小部分知识记录下,也只能利用些零散的时间,所以写的不多,知识沉淀的过程很重要,接下来会继续努力,也再次感谢居士推荐的学习资料,先记录下来,以便之后查看。

1.学习小组参考资料(来源与木东居士分享)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值