文章目录
statis模块概述
模块包括了大量的概率分布,可以根据分为数量分为单变量与单变量。单变量又可根据变量类型分为:连续概率分布和离散概率分布。
具体包括了如下几大类统计方法:
模块名 | |
---|---|
Continuous distributions | 连续概率分布 |
Multivariate distributions | 多变量概率分布 |
Discrete distributions | 离散概率分布 |
Summary statistics | 概括统计 |
Frequency statistics | 频率统计 |
Correlation functions | 相关性分析 |
Statistical tests | 统计测试(假设检验) |
Transformations | 变换 |
Statistical distances | 距离统计 |
Contingency table functions | 列联表 |
Plot-tests | 图示测试 |
连续概率分布
在连续概率分布中存在两个影响分布特性的关键参数:loc, scale。对输出y = (x - loc) / scale
loc: 平移系数; scale: 缩放系数
在stats模块中,连续随机变量通常有如下方法:
方法 | 功能 |
---|---|
rvs(loc=0, scale=1, size=1, random_state=None) | 对变量进行随机取值,通过size指定输出数组尺寸 |
pdf(x, loc=0, scale=1) | 概率密度函数 |
logpdf(x, loc=0, scale=1) | log形式概率密度函数 |
cdf(x, loc=0, scale=1) | 累计概率分布 |
logcdf(x, loc=0, scale=1) | log形式累计概率分布 |
sf(x, loc=0, scale=1) | 生存函数,等于1-cdf |
ppf(q, loc=0, scale=1) | 累计概率分布的反函数Percent point function |
isf(q, loc=0, scale=1) | 生存函数的反函数 |
stats(loc=0, scale=1, moments=’mv’) | 状态统计返回Mean(‘m’), variance(‘v’), skew(‘s’), and/or kurtosis(‘k’). |
fit(data) | 对一组参数进行拟合,找出估计的概率密度系数 |
median/mean/var/std(loc=0, scale=1) | 中值/均值/方差/标准差/ |
expect(func, args=(), loc=0, scale=1, lb=None, ub=None, conditional=False, **kwds) | 关于分布的其他参数, 比如lb下边界,up上边界 |
我们以正态分布为例简单说明一下如何调用和使用一个概率分布
正态分布(norm)
简单的函数调用,统计参数输出,采样,拟合
from scipy.stats import norm
import numpy as np
# 生一个均值为1,方差为2的正态分布
distribution