SciPy 统计
章节
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 统计的更多相关文章
- SciPy 信号处理
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 线性代数
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 图像处理
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 优化
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 积分
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 插值
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 输入输出
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy 常量
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- SciPy fftpack(傅里叶变换)
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
随机推荐
- ES-9200端口与9300端口
(1)Elasticsearch是基于lucene的全文检索服务器 (1)9300:ES节点之间的通讯使用 (2)9200:ES节点和外部通讯使用
- 【PAT甲级】1060 Are They Equal (25 分)(需注意细节的模拟)
题意: 输入一个正整数N(<=100),接着输入两个浮点数(可能包含前导零,对于PAT已经习惯以string输入了,这点未知),在保留N位有效数字的同时判断两个数是否相等,并以科学计数法输出. ...
- 【PAT甲级】1051 Pop Sequence (25 分)(栈的模拟)
题意: 输入三个正整数M,N,K(<=1000),分别代表栈的容量,序列长度和输入序列的组数.接着输入K组出栈序列,输出是否可能以该序列的顺序出栈.数字1~N按照顺序随机入栈(入栈时机随机,未知 ...
- Python笔记⑤爬虫
爬虫的前奏 # 爬虫前奏 # 明确目的 # 找到数据对应的网页 # 分析网页的结果找到数据所在的标签位置 # 模拟HTTP请求,向服务器发送这个请求,获取到服务器返回给我们的HTML # 用正则表达式 ...
- html js中的引号
content = "<a class='btn' href='javascript:void(0)' onclick='change('orders/orderTail.do?ode ...
- GO判断输入
判断用户密码输入: package main import"fmt" func main(){ var a int var b int fmt.Printf("请输入密码 ...
- spring boot中的底层配置文件application.yam(application.property)的装配原理初探
*在spring boot中有一个基础的配置文件application.yam(application.property)用于对spring boot的默认设置做一些改动. *在spring boot ...
- 如何批量删除.svn文件
参考资料:https://www.cnblogs.com/kisf/articles/4760367.html 当项目不需要SVN标志的时候,我们一般怎么办哪??可能很多人设置Windows显示隐藏文 ...
- HashMap源码__resize
final Node<K,V>[] resize() { //创建一个Node数组用于存放table中的元素, Node<K,V>[] oldTab = table; //获取 ...
- Java 模拟斗地主
模拟斗地主 public class M1 { public static void main(String args[]) { DouDiZhu02(); } private static void ...