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

概率论学习关于描述性统计笔记实现

程序员文章站 2022-04-14 20:32:54
...

这一期着重介绍学习过程中结合描述性统计的几个重要指标,在用python实现的过程和步骤。使用软件是Anaconda Python3。
★★描述性分析中常用指标:均值、众数、中位数、四分位数等
★★描述离散性时常用指标:方差、标准差、中心距等
使用python实现的过程如下
概率论学习关于描述性统计笔记实现
概率论学习关于描述性统计笔记实现
概率论学习关于描述性统计笔记实现
以下附上详细代码

#均值、中位数
import numpy as np
a = [1,2,4,5,3,12,12,23,43,52,11,22,22,22]
a_mean = np.mean(a)  #平均数
a_med = np.median(a)  #中位数
print("a的平均数:",a_mean)
print("a的中位数:",a_med)
from scipy import stats
a_m1 = stats.mode(a)[0][0]
print("a的众数:",a_m1)   #教程pdf里面漏了1
import pandas as pd
ser = pd.Series(a)
a_m2 = ser.mode()
print("a的众数",a_m2)    #教程pdf里面漏了2
#方差、标准差、均值、变异系数
a_var = np.var(a)
a_std1 = np.sqrt(a_var)
a_std2 = np.std(a)
a_cv = a_std2/a_mean
print("a的方差:",a_var)
print("a的标准差:",a_std1)
print("a的标准差:",a_std2)
print("a的变异系数:",a_cv)

#计算标准差时,需要注意numpy中的std和pandas的std在计算标准差时,默认的计算结果会存在不一致的问题。
#原因在于默认情况下,numpy计算的为总体标准偏差,ddof=0;一般在拥有所有数据的情况下,计算所有数据的标准差时使用,即最终除以n,而非n-1;
#pandas计算的为样本标准偏差,ddof=1;一般在只有部分数据,但需要求得总体的标准差时使用,当只有部分数据时,根据统计规律,除以n时计算的标准差往往偏小,因此需要除以n-1,即n-ddof;
#总结:根据数据情况选择合适的函数,在数据量较大时,推荐使用numpy进行计算。
#偏度、峰度
import matplotlib.pyplot as plt
data = list(np.random.rand(10000))
plt.hist(data,1000,facecolor='g',alpha=0.5)
plt.show()
s = pd.Series(data)
print('偏度系数',s.skew())
print('峰度系数',s.kurt())