利用Python进行描述统计

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

变量

变量的概念

变量(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绘制条形图

# 导入需要用到的库
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绘制饼图

# 导入需要用到的库(代码同条形图)

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

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

用Python绘制直方图

# 数据准备
a = np.random.randn(100)    # 从标准正态分布中随机抽取了100个数值
s = pd.Series(a)

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

用Python绘制箱线图

# 数据准备
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计算和中位数

import pandas as pd

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

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

用Python计算四分位数

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( )函数,一次性输出多个统计指标。

df = pd.DataFrame([3, 3, 6, 7, 7, 10, 10, 10, 11, 13, 30])
df.describe()    # 一次性输出多个统计指标

参考资料:

  • 基于R语言的社会统计学分析
  • 《深入浅出统计学》
  • 《统计学》
  • 《商务与经济统计(第11版)》
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351