美文网首页统计学学习
实践-python简单实现概率分布

实践-python简单实现概率分布

作者: HenlyX | 来源:发表于2019-12-01 17:41 被阅读0次

作业链接:

https://mp.weixin.qq.com/s/YtAicIlJIvPT4DHayjc5dg

前言:

在代码动手练习前,先补充2个概念

概率质量函数:描述离散数据,由mass翻译过来的,可以理解为离散型数据是块状物体,物体是有质量,所以叫做概率质量函数。为离散型直方图缩写为PMF。

概率密度函数:描述连续性数据。就是落在某个区间内的概率多大。这个就像液体,液体是连续的。同等体积有些液体重有些液体轻,用密度这个词描述会更合适。缩写为PDF。

另外,在做伪造随机分布试验时,最好size参数设置大点,避免结果波动较大。

实现:

公共部分

import matplotlib.pyplotas plt

from pylabimport mpl

import numpyas np

from scipyimport stats

plt.rcParams['font.sans-serif'] = ['FangSong']#指定画图时编码,以免中文乱码

plt.rcParams['axes.unicode_minus'] =False

离散型变量

1.伯努利分布

#伯努利分布

x = [0,1]

p0 =0.5

p = [p0,1-p0]

plt.bar(x, p)

plt.xlabel("事件")

plt.ylabel("概率")

plt.title("伯努利分布概率分布")

plt.show()

2.二项分布

#二项分布

p =0.3

n =3

k = np.arange(0, n+1)

binomial = stats.binom.pmf(k, n, p)

plt.bar(k, binomial)

plt.xlabel("hit_times")

plt.ylabel("probability")

plt.title("二项分布概率分布")

plt.show()

3.泊松分布

lam=5

x = np.random.poisson(lam =lam,size =1000)

plt.hist(x,bins =100)

plt.title("泊松分布概率分布")

plt.show()

4.均匀分布

def func_p_avg(x):

return 1/(x.max() - x.min())

x = np.arange(1,10)

y = [func_p_avg(x)] *len(x)

plt.plot(x, y)

plt.title("均匀分布概率分布")

plt.show()

连续型变量

1.正态分布

mu =0.0

sigma =1.0

x = np.arange(-10,10,0.1)

y = stats.norm.pdf(x, mu, sigma)

plt.plot(x,y)

plt.title("正态分布概率分布")

plt.show()

2.BETA分布

a =0.5

b =0.5

x = np.arange(0,1,0.01)

y = stats.beta.pdf(x, a, b)

plt.plot(x, y)

plt.title("beta分布概率分布")

plt.show()

3.实验模拟二项分布与正态分布

伪造上面2000组实验数据

二项分布

X = stats.binom.rvs(n,p,size=2000)# 伪造符合二项分布的随机变量 (random variates)

plt.hist(X,normed=True)#作出上面满足二项分布随机变量的频率分布直方图 不指定参数时统计的为频数分布

plt.title("模拟二项分布概率分布")

plt.show()

正态分布

# 伪造符合正态分布的随机变量X

# 通过loc和scale参数可以指定随机变量的偏移和缩放参数。对于正态分布的随机变量来说,这两个参数相当于指定其期望值和标准差:

X = stats.norm.rvs(loc=1.0,scale=2.0,size=1000)

#⑨作出上面正态分布随机变量的频率分布直方图

plt.hist(X,normed=True,histtype='stepfilled',alpha=0.2)

plt.legend(loc='best',frameon=False)

plt.title("模拟正态分布概率分布")

plt.show()

相关文章

  • 实践-python简单实现概率分布

    作业链接: https://mp.weixin.qq.com/s/YtAicIlJIvPT4DHayjc5dg 前...

  • 统计学第五周——实践概率分布

    本周为实践周,主要学习任务为使用python实现概率分布,包括二项分布、伯努利分布、泊松分布、几何分布以及正态分布...

  • Python实现概率分布

    1、工具准备 安装python的科学计算包scipy 在python的科学计算包scipy的stats模块计算出常...

  • Python实现概率分布

    概率分布基础 概率分布,是概率论大的基本概念之一,主要用以表述随机变量取值的概率规律。为了使用的方便,根据随机变量...

  • 概率分布-python实现

    本文主要描述概率分布的python实现方法,包括二项分布、伯努利分布、泊松分布、几何分布、正态分布等。 一、二项分...

  • 145、Python实现概率分布

    一、概率分布概率分布,是概率论的基本概念之一,主要用以表述随机变量取值的概率规律。为了使用的方便,根据随机变量所属...

  • 用Python实现概率分布

    一、导入 import numpy as np import matplotlib.pyplot as plt f...

  • [转]数据科学中常见的6种概率分布(python实现)

    转载地址:jpld - 数据科学中的常见的6种概率分布(Python实现) https://www.cnblogs...

  • 常见概率分布的Python实现

    离散型概率分布 二项分布 二项试验 满足以下条件的试验成为二项试验: 试验由一系列相同的n个试验组成; 每次试验有...

  • 四、正态分布

    一、正态分布概率密度函数 二、不同均值和方差的正态分布 三、正态分布总结 四、python正态分布函数

网友评论

    本文标题:实践-python简单实现概率分布

    本文链接:https://www.haomeiwen.com/subject/xcgzwctx.html