python在统计中的应用_利用Python进行描述统计

c6332c20ce4e

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

变量

变量的概念

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

变量的分类

首先变量可以分为:

1.定性型(分类)变量

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

2.定量型变量

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

连续性变量:在某个区间内,取值不断变化的量;

离散型变量:变量的可能取值构成的是一个不相连的数字集合。

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

描述统计方法

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

制表法

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

频数,就是该观测值的数量;

相对频数,就是该类别数量占总体数量的比例。

定性型变量

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

c6332c20ce4e

定量型变量

定量型变量一般都会先把原始数据进行分组,然后再绘制成频数分布表,下图是一个学生成绩的频数分布表。

分组原则:不重不漏。

不重指的是每个数值都只能出现在一个分组中,不漏指的是分组应该包含所有数值,不能漏了任何一个。

c6332c20ce4e

绘图法

定性型变量

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

定量型变量

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

集中趋势

离散程度

分布形状

异常值

直方图

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

直方图v.s.柱状图

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

箱线图

c6332c20ce4e

说明:

四分位差IQR = Q3 - Q1

上边缘 = Q3 + 1.5IQR

下边缘 = Q1 - 1.5IQR

注意:上下边缘并非最大最小值,一般超过上下边缘的称为异常值。

数值法

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

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

集中趋势

离散程度

相对位置

集中趋势的度量

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

均值

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

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

二八定律:20%的人掌握着80%的财富,剩下20%的人掌握着20%的财富。

二八定律中的“二”表示的是少数,而非精确的20%,“八”也同理,该定律同样适用于其他很多领域。

均值计算公式

c6332c20ce4e

中位数

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

相对位置的度量

百分位数

百分位数

百分位数将所有观测值分成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%的数据项。

c6332c20ce4e

Q1 = 第1四分位数,即第25百分位数

Q2 = 第2四分位数,即第50百分位数

Q3 = 第3四分位数,即第75百分位数

注意:要把四分位数的上下限,和箱线图的上下限区分开。

如何求四分位数?

四分位数是特殊的百分位数,因此,计算百分位数的方法可以直接用来计算四分位数。

注:四分位数位置的确定方法有几种,每种方法得到的结果会略有差异,但不会很大。而且不同的计算方法其本质都是将数据大概分为4个部分。

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

c6332c20ce4e

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

计算四分位数的例子

题目:

c6332c20ce4e

答案:

c6332c20ce4e

离散程度的度量

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

极差(全距)

极差 = 最大值 - 最小值

极差非常简单,但容易受到极端值的影响。

四分位差(四分位矩)

四分位差 IQR = Q3 - Q1

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

标准差和方差

标准差计算公式

c6332c20ce4e

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

方差就是标准差的平方。

Z分数(标准计分)

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

Z分数计算公式

c6332c20ce4e

Z分数应用例子

c6332c20ce4e

从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()

c6332c20ce4e

用Python绘制饼图

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

# 数据准备

nums = [25, 37, 33, 37, 6]

labels = ['High-school', 'Bachelor', 'Master', 'Ph.d', 'Others']

# 用 Matplotlib 画饼图

plt.pie(x=nums, labels=labels)

plt.show()

c6332c20ce4e

用Python绘制直方图

# 数据准备

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

s = pd.Series(a)

# 用 Matplotlib 画直方图

plt.hist(s)

plt.show()

c6332c20ce4e

用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()

c6332c20ce4e

数值法: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

c6332c20ce4e

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

df = pd.DataFrame([3, 3, 6, 7, 7, 10, 10, 10, 11, 13, 30])

df.describe() # 一次性输出多个统计指标

c6332c20ce4e

参考资料:

基于R语言的社会统计学分析

《深入浅出统计学》

《统计学》

《商务与经济统计(第11版)》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值