SciPy中的统计模块

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai


NumPy 替我们搞定了向量和矩阵的相关操作,基本上算是一个高级的科学计算器。SciPy 基于 NumPy 提供了更为丰富和高级的功能扩展,在统计、优化、插值、数值积分、时频转换等方面提供了大量的可用函数,接下来我们就学习一下 SciPy 中的统计和优化模块。

首先我们导入相关的模块:

import numpy as np
import scipy.stats as stats  # 统计

统计部分

生成随机数

生成 n 个随机数可用 rv_continuous.rvs(size = n) 或者 rv_discrete.rvs(size = n) ,其中 rv_continuous 表示连续型的随机分布,比如均匀分布(uniform)、正太分布(norm)、贝塔分布(beta)等; rv_discrete 表示离散型的随机分布,比如伯努利分布(bernoulli)、几何分布(geom)、泊松分布(poisson)等。我们生成10个 [0, 1] 区间上的随机数和10个服从参数 a = 4, b = 2 的贝塔分布随机数:

rv_unif = stats.uniform.rvs(size = 10)
print rv_unif
rv_beta = stats.beta.rvs(size = 10, a = 4, b = 2)
print rv_beta
假设检验

好了,现在我们生成一组数据,并查看相关的统计量:

norm_dist = stats.norm(loc = 0.5, scale = 2)
n = 100
dat = norm_dist.rvs(size = n)
print 'mean of data is: ' + str(np.mean(dat))
print 'median of data is: ' + str(np.median(dat))
print 'standard deviation of data is: ' + str(np.std(dat))

猜你喜欢

转载自blog.csdn.net/coderpai/article/details/80441260