Scipy -- 使用总结

Scipy 是世界上著名的Python开源科学计算库,建立在Numpy之上。它增加的功能包括数值积分、最优化、统计和一些专用函数。
Scipy函数库在Numpy的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。

Scipy.io进行mat文件的写入与读取
from scipy import io
io.savemat('1.mat',{'array':1}) # io.savemat(file_name,mdict)
io.loadmat('1.mat')  # io.loadmat(file_name)
利用Scipy的scipy.stats包中的统计函数实现分析随机数的功能

Stats提供了产生连续性分布的函数:

  • 均匀分布(uniform)
  • 正态分布(norm)
  • 贝塔分布(beta)
  • 离散分布
  • 伯努利分布(bernoulli)
  • 几何分布(geom)
  • 泊松分布(poisson)
一、生成随机数
  1. stats.norm
    x=stats.norm.rvs(size=20) # 生成20个正态分布随机数
  2. stats.uniform
    y=stats.uniform.rvs(size=20) # 生成20个[0,1]均匀分布的随机数
  3. stats.beta
    z=stats.beta.rvs(size=20,a=3,b4) # 生成20个服从参数a=3,b=4的贝塔分布随机数
  4. stats.poisson
    r=stats.poisson.rvs(0.6,loc=0,size=20) # 生成20个服从泊松分布的随机数
二、计算随机数的均值和标准差

stats.norm.fit:利用正态分布去拟合生成的数据,得到其均值和标准差

三、计算随机数的偏度

1、概念:偏度(skewness) ---- 描述的是概率分布的偏斜(非对称)程度。偏度检验有两个返回值,其中第二个返回值是p-value,即观察到的数据集服从正态分布的概率,取值范围为0~1

2、利用stats.skewtest()计算偏度

3、
正偏度分布:右侧尾比左侧尾长,即大数值一端发生的次数较少(均值>中位数) ;
负偏度分布:左侧尾比右侧尾长,即大数值一端发生的次数较多(均值<中位数);
正态分布的偏度为0。
在这里插入图片描述

四、计算随机数的峰度

1、概念:峰度(kurtosis) – 描述的是概率分布曲线的陡峭程度
2、利用stats.kurtosistest()计算峰度

正态分布的峰度为3,excess_k ( 注: excess_k = kurtosis - 3) 为0,
低阔峰(platykurtic):相对于正态分布来说更扁平(excess_k < 0)
高狭峰(leptokurtic):相对于正态分布来说更陡峭 (excess_k > 0)

五、检查随机数服从正态分布的程度

1、概念:正态性检验(normality test)---- 检查数据集服从正态分布的程度。该检验同样有两个返回值,其中第二个返回值为p-value。
2、利用 stats.normaltest() 来检验
一般情况下pvalue > 0.05即表示服从正态分布。

六、计算数据所在区段中某一百分比处的数值

1、利用 scoreatpercentile计算在某一百分比位置上的数值:
格式:scoreatpercentile (数据集,百分比)

七、从某数值出发找到对应的百分比

1、利用 percentileofscore计算某数值对应的百分比:
格式: percentileofscore(数据集,数值)

八、直方图显示
import matplotlib.pyplot as plt
plt.hist(data) # 设置直方图
plt.show()     #显示直方图
  • 18
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值