在学习生活中,我们经常性的发现有很多事物背后都有某种规律,而且,这种规律可能符合某种随机分布,比如:正态分布、对数正态分布、beta分布等等。

所以,了解某种分布对一些事物有更加深入的理解并能清楚的阐释事物的规律性。现在,用python产生一组随机数据,来演示这些分布:

import random

import matplotlib

import matplotlib.pyplot as plt

SAMPLE_SIZE = 1000

buckets = 100

fig = plt.figure()

matplotlib.rcParams.update({"font.size": 7})

#第一个图形是在[0,1)之间分布的随机变量(normal distributed random variable)。

ax = fig.add_subplot(5,2,1)

ax.set_xlabel("random.random")

res = [random.random() for _ in xrange(1, SAMPLE_SIZE)]

ax.hist(res, buckets)

#第二个图形是一个均匀分布的随机变量(uniformly distributed random variable)。

ax_2 = fig.add_subplot(5,2,2)

ax_2.set_xlabel("random.uniform")

a = 1

b = SAMPLE_SIZE

res_2 = [random.uniform(a, b) for _ in xrange(1, SAMPLE_SIZE)]

ax_2.hist(res_2, buckets)

#第三个图形是一个三角形分布(triangular distribution)。

ax_3 = fig.add_subplot(5,2,3)

ax_3.set_xlabel("random.triangular")

low = 1

high = SAMPLE_SIZE

res_3 = [random.uniform(low, high) for _ in xrange(1, SAMPLE_SIZE)]

ax_3.hist(res_3, buckets)

#第四个图形是一个beta分布(beta distribution)。参数的条件是alpha 和 beta 都要大于0, 返回值在0~1之间。

plt.subplot(5,2,4)

plt.xlabel("random.betavariate")

alpha = 1

beta = 10

res_4 = [random.betavariate(alpha, beta) for _ in xrange(1, SAMPLE_SIZE)]

plt.hist(res_4, buckets)

#第五个图形是一个指数分布(exponential distribution)。 lambd 的值是 1.0 除以期望的中值,是一个不为零的数(参数应该叫做lambda没但它是python的一个保留字)。如果lambd是整数,返回值的范围是零到正无穷大;如果lambd为负,返回值的范围是负无穷大到零。

plt.subplot(5,2,5)

plt.xlabel("random.expovariate")

lambd = 1.0/ ((SAMPLE_SIZE + 1) / 2.)

res_5 = [random.expovariate(lambd) for _ in xrange(1, SAMPLE_SIZE)]

plt.hist(res_5, buckets)

#第六个图形是gamma分布(gamma distribution), 要求参数alpha 和beta都大于零。

plt.subplot(5,2,6)

plt.xlabel("random.gammavariate")

alpha = 1

beta = 10

res_6 = [random.gammavariate(alpha, beta) for _ in xrange(1, SAMPLE_SIZE)]

plt.hist(res_6, buckets)

#第七个图形是对数正态分布(Log normal distribution)。如果取这个分布的自然对数,会得到一个中值为mu,标准差为sigma的正态分布。mu可以取任何值,sigma必须大于零。

plt.subplot(5,2,7)

plt.xlabel("random.lognormalvariate")

mu = 1

sigma = 0.5

res_7 = [random.lognormvariate(mu, sigma) for _ in xrange(1, SAMPLE_SIZE)]

plt.hist(res_7, buckets)

#第八个图形是正态分布(normal distribution)。

plt.subplot(5,2,8)

plt.xlabel("random.normalvariate")

mu = 1

sigma = 0.5

res_8 = [random.normalvariate(mu, sigma) for _ in xrange(1, SAMPLE_SIZE)]

plt.hist(res_8, buckets)

#最后一个图形是帕累托分布(Pareto distribution), alpha 是形状参数。

plt.subplot(5,2,9)

plt.xlabel("random.normalvariate")

alpha = 1

res_9 = [random.paretovariate(alpha) for _ in xrange(1, SAMPLE_SIZE)]

plt.hist(res_9, buckets)

plt.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python 求 gamma 分布_python如何生成各种随机分布图相关推荐

  1. python 求 gamma 分布_Python stats.gamma方法代码示例

    本文整理汇总了Python中scipy.stats.gamma方法的典型用法代码示例.如果您正苦于以下问题:Python stats.gamma方法的具体用法?Python stats.gamma怎么 ...

  2. python 求 gamma 分布_用(python)Scipy拟合gamma分布

    我对ss.gamma.rvs函数不满意,因为它可以生成负数,这是gamma分布不应该有的.所以我通过期望值=平均值(data)和方差=var(data)对样本进行了拟合(详见维基百科),并编写了一个函 ...

  3. python求度分布的程序

    使用python求度分布的程序 # -*- coding: utf-8 -*- """ Created on Sun Jun 16 20:13:42 2019@autho ...

  4. MATLAB求Gamma分布的置信区间

    求Gamma分布的置信区间,置信水平95% 已知伽马分布的α值和β值. % 95%置信水平 x1 = gaminv(0.975,1,11); % 置信上限 x2 = gaminv(0.025,1,11 ...

  5. python求众数程序_python求众数问题实例

    本文实例讲述了python求众数问题的方法,是一个比较典型的应用.分享给大家供大家参考.具体如下: 问题描述: 多重集中重数最大的元素称为众数...就是一个可以有重复元素的集合,在这个集合中重复的次数 ...

  6. 【Python】Gamma分布详解

    文章目录 初步介绍 形状特征 初步介绍 在学习Gamma分布之前,有必要复习一下Poisson分布:泊松分布 Poisson分布指的是,单个事件在某一刻发生的概率.Gamma分布更进一步,指的是某个事 ...

  7. python求交点坐标_Python求两个圆的交点坐标或三个圆的交点坐标方法

    计算两个圆的交点 代码如下: # -*- coding: utf-8 -*- import math import numpy as np def insec(p1,r1,p2,r2): x = p1 ...

  8. python求不规则图形面积_python 微积分之---黎曼和

    黎曼求和 这里有一块形状不规则的土地,要测量它的面积,怎么办呢?一个叫黎曼的德国数学家(Bernhard Riemann, 1826-1866),他想了个办法:将这不规则图形切成一条条的小长条儿,然后 ...

  9. python求数字平均值_python 求10个数的平均数实例

    python 求10个数的平均数实例 更新时间:2019年12月16日 18:00:02 作者:qq_20076527 今天小编就为大家分享一篇python 求10个数的平均数实例,具有很好的参考价值 ...

最新文章

  1. 单片机怎么用回调函数在不同文件之间传递数据
  2. python--迭代器的实现
  3. boost::math模块查找正态(高斯)尺度(标准差)的示例的测试程序
  4. 表达式求值负数乘负数_为什么现在很多期权的时间价值都为负数?
  5. sublime txt常用插件推荐
  6. 如何root安卓手机_安卓Root+卡开机画面救砖教程丨以一加手机为例
  7. 有道翻译接口问题(续)
  8. c语言字符串文库总结,C语言程序设计入门:字符串函数
  9. 【MATLAB】MATLAB应用手册(1):高等数学的MATLAB应用
  10. Oracle数据库备份与恢复
  11. 硬盘属不属于计算机主机组成,电脑主机是由哪些硬件组成
  12. gpio_set_value 函数
  13. 微型计算机外部设备接口,第五章 微型计算机输入输出接口
  14. 逆袭增长1300万播放,UP主仅靠20万粉登顶B站!
  15. 成长为 iOS 大 V 的秘密
  16. 网络推广和网络营销的区别
  17. 这应该是我见过最好的机房监控解决方案了!
  18. winfomlabel 从右边_炒菜时,用左边的燃气灶还是右边的燃气灶?燃气师傅提醒,别弄错...
  19. 智力大冲浪 【贪心】
  20. HTML5 网络拓扑图整合 OpenLayers 实现 GIS 地图应用

热门文章

  1. 4.数据库的连接(编目)-远程连接
  2. GridView 中的事件
  3. FAQ from CSDN
  4. RabbitMQ的基础知识与使用
  5. SpringBoot + Redis + Shiro 实现权限管理
  6. bzoj2818: Gcd
  7. 公司冷备服务器1.100切换到1.99
  8. Mac OS X安装 ffmpeg
  9. Akka边学边写(3)-- ByteString介绍
  10. Android-JNI编程-图文解析