前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Python进行描述统计

利用Python进行描述统计

作者头像
活用数据
发布2019-06-03 17:05:01
2.6K0
发布2019-06-03 17:05:01
举报
文章被收录于专栏:数据医生专栏数据医生专栏

引言:在数据分析时,对大量信息进行归纳是最基本的任务,而这就需要用到描述统计方法。

变量

变量的概念

变量(Variable):指在研究对象中某种令人感兴趣的、取值会有变化的特征,比如研究对象是全体大学生,那么变量可以是身高、体重等特征。

变量的分类

首先变量可以分为:

1.定性型(分类)变量 分类变量的取值可能是数值型或是非数值型的。比如,对于某产品的满意度调查,那么可以得到“满意-不满意”的非数值型结果,也可以得到“5-1”的数值型结果,而且这两者是可以人为进行转换的,并无本质上的区别。

2.定量型变量 定量型变量的取值一定是数值型的。既然是数值型的,那就可以分为:

  • 连续性变量:在某个区间内,取值不断变化的量;
  • 离散型变量:变量的可能取值构成的是一个不相连的数字集合。

实际中,因测量方法的限制,连续和离散的界限有时是模糊的。统计分析时所讲的离散,一般是指定量型变量只能取很少几个值的情况。

描述统计方法

描述统计的目标是总结、提炼数据,一共有3种方法:制表法、绘图法和数值法,根据变量类型的不同,描述方法也会有所不同。

制表法

制表法其实就是基于频数分布表的方法,对于定性型变量和定量型变量都有效。

  • 频数,就是该观测值的数量;
  • 相对频数,就是该类别数量占总体数量的比例。

定性型变量

下图是关于是否同意“男性的能力天生比女性强”的说法的频数分布表。

定量型变量

定量型变量一般都会先把原始数据进行分组,然后再绘制成频数分布表,下图是一个学生成绩的频数分布表。 分组原则:不重不漏。 不重指的是每个数值都只能出现在一个分组中,不漏指的是分组应该包含所有数值,不能漏了任何一个。

绘图法

定性型变量

定性型变量在绘图时,基本上只有两种常用的图形,分别是条形图饼图

定量型变量

绘图时需要关注的主要特征

  • 集中趋势
  • 离散程度
  • 分布形状
  • 异常值
直方图

直方图适用于大量的数据,其形状和分组有很大的关系。

直方图v.s.柱状图 条形图和直方图看起来十分类似,但实际上存在很大的区别,直方图不同的组别之间是没有间隙的,所以适用于连续型变量

箱线图

说明:

  • 四分位差IQR = Q3 - Q1
  • 上边缘 = Q3 + 1.5IQR
  • 下边缘 = Q1 - 1.5IQR
  • 注意:上下边缘并非最大最小值,一般超过上下边缘的称为异常值

数值法

注意:数值法一般只用于定量型变量。

数值法需要关注的主要特征

  • 集中趋势
  • 离散程度
  • 相对位置

集中趋势的度量

集中趋势是指一组数据向某一中心值靠拢的程度,反映了一组数据中心点的位置所在。

均值

与总体相关的描述统计量一般用希腊字母表示,而与样本相关的一般用英文字母表示。

均值容易受异常值的影响,所以一般跟财富相关的指标,都不适合采用均值,因为财务情况一般都是符合二八定律的。

二八定律:20%的人掌握着80%的财富,剩下20%的人掌握着20%的财富。 二八定律中的“二”表示的是少数,而非精确的20%,“八”也同理,该定律同样适用于其他很多领域。

均值计算公式

中位数

中位数不易受到异常值的影响。

相对位置的度量

百分位数

百分位数 百分位数将所有观测值分成100份,反映的是一个数据在所有观测值中的相对位置。

第p百分位数:表明有p%的数据小于或等于这个数,有(100-p)%的数据大于或等于这个值。

比如,在某次考试中,某位考生取得了70分,他的成绩如何并不容易知道,但是如果知道70分对应的是第90百分位数,我们就能知道大约90%的学生的考分比他低,而约10%的学生考分比他高。

如何计算第p百分位数? Step1:将所有观测值从小到大排列。

Step2:计算i = (p/100)n p是所求的百分位数的位置,n是项数。

Step3:

  • 若i不是整数,则将i向上取整,所得的数字即为第p百分位数的位置;
  • 若i是整数,则第p百分位数是第i项和第(i+1)项数据的平均值。
四分位数

四分位数其实就是特殊的百分位数,将数据划分为4个部分,每一个部分大约包含有1/4即25%的数据项。

Q1 = 第1四分位数,即第25百分位数 Q2 = 第2四分位数,即第50百分位数 Q3 = 第3四分位数,即第75百分位数 注意:要把四分位数的上下限,和箱线图的上下限区分开。

如何求四分位数? 四分位数是特殊的百分位数,因此,计算百分位数的方法可以直接用来计算四分位数。 注:四分位数位置的确定方法有几种,每种方法得到的结果会略有差异,但不会很大。而且不同的计算方法其本质都是将数据大概分为4个部分。

本计算方法参考:《商务与经济统计(第11版)》

注:i的结果同样存在整数和非整数两种情况,具体参考计算百分位数的方法。

计算四分位数的例子 题目:

答案:

离散程度的度量

离散程度在有的书里也叫变异性,波动大小,其实都是表达同一个意思,反映的是各变量值远离其中心值的程度。

极差(全距)

极差 = 最大值 - 最小值 极差非常简单,但容易受到极端值的影响。

四分位差(四分位矩)

四分位差 IQR = Q3 - Q1 四分位差反映了中间50%的数据的离散程度,较难受到极端值的影响。

标准差和方差

标准差计算公式

注:如果只是单纯的想要计算样本的标准差,那么应该使用公式(2);如果是想通过样本标准差推断总体标准差,那么就应该使用公式(1)。

方差就是标准差的平方。

Z分数(标准计分)

上面的所有指标度量的都是所有观测值的离散程度,而Z分数能够度量单独一个数据的离散程度,常用来比较来自于不同分布(不同总体)或不同量级的观测值。

Z分数计算公式

Z分数应用例子

从Z分数的大小即可判断这个温度在North Bend更奇怪。

利用Python进行统计描述

绘图法:Matplotlib

用Python绘制条形图

代码语言:javascript
复制
# 导入需要用到的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 准备数据
x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']
y = [5, 4, 8, 12, 7]

# 用 Matplotlib 画条形图
plt.bar(x, y)
plt.show()

用Python绘制饼图

代码语言:javascript
复制
# 导入需要用到的库(代码同条形图)

# 数据准备
nums = [25, 37, 33, 37, 6]
labels = ['High-school', 'Bachelor', 'Master', 'Ph.d', 'Others']

# 用 Matplotlib 画饼图
plt.pie(x=nums, labels=labels)
plt.show()

用Python绘制直方图

代码语言:javascript
复制
# 数据准备
a = np.random.randn(100)    # 从标准正态分布中随机抽取了100个数值
s = pd.Series(a)

# 用 Matplotlib 画直方图
plt.hist(s)
plt.show()

用Python绘制箱线图

代码语言:javascript
复制
# 数据准备
data = np.random.normal(size=(10,4))    # 生成 0-1 之间的 10*4 维度数据
labels = ['A', 'B', 'C', 'D']

# 用 Matplotlib 画箱线图
plt.boxplot(data, labels=labels)
plt.show()

数值法:pandas

用Python计算和中位数

代码语言:javascript
复制
import pandas as pd

# 准备数据
s = pd.Series([3, 3, 6, 7, 7, 10, 10, 10, 11, 13, 30])

s.mean()    # 求均值
s.median()    # 求中位数

用Python计算四分位数

代码语言:javascript
复制
import pandas as pd

# 准备数据
s = pd.Series([3, 3, 6, 7, 7, 10, 10, 10, 11, 13, 30])

s.quantile([0.25, 0.5, 0.75])    # Q1,Q2,Q3

如果觉得上面一个一个函数的调用太麻烦,那么可以使用describe( )函数,一次性输出多个统计指标。

代码语言:javascript
复制
df = pd.DataFrame([3, 3, 6, 7, 7, 10, 10, 10, 11, 13, 30])
df.describe()    # 一次性输出多个统计指标

参考资料:

  • 基于R语言的社会统计学分析
  • 《深入浅出统计学》
  • 《统计学》
  • 《商务与经济统计(第11版)》
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变量
    • 变量的概念
      • 变量的分类
      • 描述统计方法
        • 制表法
          • 定性型变量
          • 定量型变量
        • 绘图法
          • 定性型变量
          • 定量型变量
        • 数值法
          • 集中趋势的度量
          • 相对位置的度量
          • 离散程度的度量
      • 利用Python进行统计描述
        • 绘图法:Matplotlib
          • 数值法:pandas
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档