欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一周-统计学基础

程序员文章站 2022-03-05 14:32:06
...

统计学基础复习

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

描述统计

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

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

  1. 均值:均值使用频率较高,它是反应一组数据的平均水平,现在很多统计指标也喜欢用均值表示,如人均gdp,人均消费水平等。但使用均值时要小心均值产生的欺骗陷阱,如一组数:1,2,3,4,100;它们的均值为22,但明显这是不够客观的,均值更容易将数据给分散,导致了整体虚高的假象。
  2. 分位数:有时候用均值容易陷入欺骗陷阱,分位数能帮助我们了解数据的分布情况,结合箱线图,能清晰发觉异常值。
  3. IQR:四分位距,在数据清晰的过程中,我们会过滤掉异常值,常见的可能取范围为(中位数-nIQR,中位数+nIQR)
  4. 方差:方差能展示一组数据我们想知道它的波动情况,值越大,波动越大
  5. 标准化(归一化):这个是在机器学习特征工程预处理环节常用的方法,放在这里有点乱入,不过刚好想到之前看过milter大神写的一篇关于标准化和归一化区别的文章,在这里也记录下:归一化与标准化区别
# 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])

图表展示

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

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

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

未完待续

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

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

相关标签: 统计学