scipy 生成随机分布

from scipy import stats
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import random

mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False

fig, ax = plt.subplots(1, 1)

正态分布(高斯分布)

stats.norm()
stats.norm().cdf(0) #分位函数
stats.norm().ppf(3 / 4) #分位函数

珀松分布

stats.poisson()

均匀分布

stats.randint()

指数分布

stats.expon()

n = 100
p = 0.5

平均值, 方差, 偏度, 峰度

mean, var, skew, kurt = binom.stats(n, p, moments='mvsk')
print(mean, var, skew, kurt)

ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。

x = np.arange(binom.ppf(0.01, n, p), binom.ppf(0.99, n, p))
ax.plot(x, binom.pmf(x, n, p), 'o')
plt.title(u'二项分布概率质量函数')
plt.show()

posted @ 2021-12-30 16:15  小康要好好学习  阅读(70)  评论(0编辑  收藏  举报