scipy.stats模块包含了统计工具以及概率分析工具。

分布: 直方图和概率密度函数

给定随机过程的观测值,其直方图是随机过程的概率密度函数PDF的估计量:

示例

import numpy as np

samples = np.random.normal(size=1000)
bins = np.arange(-4, 5)
bins histogram = np.histogram(samples, bins=bins, normed=True)[0]
bins = 0.5*(bins[1:] + bins[:-1])
bins from scipy import stats
pdf = stats.norm.pdf(bins) # norm是一个分布对象 import matplotlib.pyplot as plt
plt.plot(bins, histogram)
plt.plot(bins, pdf) # plt.savefig('./st1-1.png') # 保存要显示的图片
plt.show()

输出

如果我们知道随机过程属于一个给定的随机过程家族,比如正态过程,我们就可以对观测值进行最大似然拟合来估计潜在分布的参数。这里我们将一个正态过程与观察到的数据进行拟合:

loc, std = stats.norm.fit(samples)
print(loc, std)

输出

0.0030534094701394794   1.0143664443890137

分布对象

scipy.stats.norm是一个分布对象: scipy.stats中的每个分布都表示为一个对象。例如:正态分布对象,还有PDF, CDF等等。

平均值、中位数和百分位数

均值是样本的平均值:

np.mean(samples)

中位数是样本的中间值:

np.mean(samples)

中位数也是百分位数50,因为50%的观察值低于它:

stats.scoreatpercentile(samples, 50)

同样,我们可以计算百分位数90:

stats.scoreatpercentile(samples, 90)

统计检验

统计检验是一种决策指标。例如,如果我们有两组观测值,假设是高斯过程产生的,我们可以用T检验来判断两组观测值的均值是否存在显著差异:

a = np.random.normal(0, 1, size=100)
b = np.random.normal(1, 1, size=10)
stats.ttest_ind(a, b)

输出

Ttest_indResult(statistic=-1.497229887954618, pvalue=0.1372503797899352)

产生的输出包括:

  • T统计值/statistic: 是一个数字,其符号与两个随机过程的差值成正比,其大小与该差值的显著性有关。
  • p值/pvalue: 两个过程相同的概率。如果它接近1,这两个过程几乎肯定是相同的。越接近于零,这些过程就越有可能有不同均值。

SciPy 统计的更多相关文章

  1. SciPy 信号处理

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  2. SciPy 线性代数

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  3. SciPy 图像处理

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  4. SciPy 优化

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  5. SciPy 积分

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  6. SciPy 插值

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  7. SciPy 输入输出

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  8. SciPy 常量

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  9. SciPy fftpack(傅里叶变换)

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

随机推荐

  1. Update(Stage4):sparksql:第3节 Dataset (DataFrame) 的基础操作 & 第4节 SparkSQL_聚合操作_连接操作

    8. Dataset (DataFrame) 的基础操作 8.1. 有类型操作 8.2. 无类型转换 8.5. Column 对象 9. 缺失值处理 10. 聚合 11. 连接 8. Dataset ...

  2. 二十二、mysql 执行计划与存储引擎

    1.explain(执行计划)中涉及的各字段理解1.1) select_type列的取值及含义:    SIMPLE                 :简单的SELECT语句(不包括UNION操作或子 ...

  3. 「JSOI2014」打兔子

    「JSOI2014」打兔子 传送门 首先要特判 \(k \ge \lceil \frac{n}{2} \rceil\) 的情况,因为此时显然可以消灭所有的兔子,也就是再环上隔一个点打一枪. 但是我们又 ...

  4. 包装类和toString和static关键字

    包装类 针对八种基本数据类型定义的引用类型. 有类的特点,可以调用类中的方法. 基本数据类型 包装类 boolean Boolean byte Byte short Short int Integer ...

  5. SpringBoot与Mybatis整合,插件生成dao、mapper、pojo

    一.创建SpringBoot项目,引入相关依赖包 <?xml version="1.0" encoding="UTF-8"?> <projec ...

  6. pymongo 用户密码连接

    # db mongodbdb_mongo_attr = { 'host': '*', 'port': 27, 'database':'tease', 'username':'*v', 'passwor ...

  7. mapreduce程序执行过程

    1.客户端程序,设置作业相关的配置和计算输入分片信息,向RM获取一个JOBID,提交作业信息(分片)到以作业ID为目录下,通知APP——MASTER 2.APP——MASTER,读取指定目录下的作业信 ...

  8. 4 Action的3种编写方式,pojo,实现和继承(推荐)

    Action的访问: 1 Action类是pojo(Plain Ordinary Java Object):简单Java对象,无接口,无继承.例如上篇文章中只创建了public String exec ...

  9. Linux系统在IT行业处于什么位置

    相信每一位程序员对于linux都不陌生,不管是新入行的小白,还是有着十几年编程经验的大佬,都知道Linux在IT行业中的位置吧! 我是一名Web   JAVA开发的小白,对于初入IT行业的小白来说,工 ...

  10. lib文件和dll文件

    一. 简介 1.1 C++两种库文件 lib包含了函数所在的dll文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的dll提供,称为动态链接库dynamic link library. ...