Python均匀分布和三角形分布

news2024/9/20 16:27:18

文章目录

    • 均匀分布
    • 三角形分布
    • 均匀分布和三角形分布之间的关系

函数备注
triangular(left, mode, right)三角形分布
uniform([low, high])均匀分布

均匀分布

所谓均匀分布,就是在事件空间中,所有事件的概率都是相等的连续分布,其概率密度为

f ( x ) = 1 b − a , x ∈ ( a , b ) f(x)=\frac{1}{b-a}, x\in (a,b) f(x)=ba1,x(a,b)

易得其均值为 a + b 2 \frac{a+b}{2} 2a+b,方差为 ( b − a ) 2 12 \frac{(b-a)^2}{12} 12(ba)2

numpy.random中,uniform用于生成均匀分布的随机数,其输入参数分别为随机数下限和上限,示例如下面代码所示

import matplotlib.pyplot as plt
import numpy as np
from numpy.random import uniform

xs = uniform(1, 5, size=20000)
plt.hist(xs, 100)
plt.show()

其分布为

在这里插入图片描述

毫无疑问,均匀分布是最简单的分布函数,在 ( a , b ) (a,b) (a,b)区间内,所有点差不多构成了一个矩形,所以均匀分布也叫矩形分布。

和矩形分布相似,概率密度函数为三角形的分布,就是三角形分布。

三角形分布

对于下限为 a a a,上限为 b b b,众数为 c c c的三角分布,其概率密度函数为

f ( x ) = { 2 ( x − a ) ( b − a ) ( c − a ) a ⩽ x ⩽ c 2 ( b − x ) ( b − a ) ( b − c ) c < x ⩽ b f(x)=\left\{\begin{aligned} \frac{2(x-a)}{(b-a)(c-a)}\quad a\leqslant x\leqslant c\\ \frac{2(b-x)}{(b-a)(b-c)}\quad c<x\leqslant b \end{aligned}\right. f(x)=(ba)(ca)2(xa)axc(ba)(bc)2(bx)c<xb

numpy.random中,trangular用于生成三角形分布的随机数,其输入参数分别为随机数下限、众数和上限,示例如下面代码所示

from numpy.random import triangular

xs = triangular(1, 3, 5, size=20000)
plt.hist(xs, 100)
plt.show()

效果如图所示

在这里插入图片描述

均匀分布和三角形分布之间的关系

若两个随机变量 X 1 , X 2 X_1, X_2 X1,X2符合均匀分布,则 X 1 + X 2 X_1+X_2 X1+X2符合三角形分布。

x1 = uniform(1,5,size=20000)
x2 = uniform(3,6,size=20000)
plt.hist(x1+x2, bins=100)
plt.show()

在这里插入图片描述

其分布的形状果然变成了三角形。

记X1的下限与上限为 a 1 , b 1 a_1,b_1 a1,b1,X2的下限与上限分别为 a 2 , b 2 a_2,b_2 a2,b2,从这个三角形分布的特点可以看出,三角形分布的下限和上限分别是 a 1 + a 2 , b 1 + b 2 a_1+a_2, b_1+b_2 a1+a2,b1+b2,其众数为 a 1 + b 1 + a 2 + b 2 2 \frac{a_1+b_1+a_2+b_2}{2} 2a1+b1+a2+b2

而且两组均匀分布的随机变量相减,其结果也是三角形分布

x1 = uniform(1,5,size=20000)
x2 = uniform(3,6,size=20000)
plt.hist(x1-x2, bins=100)
plt.show()

二者的区别无非是差个正负号而已。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

麻省理工人工智能实验室新研究!有远见的机器学习方法:能预知未来行为的AI智能体

原创/文 BFT机器人 近日&#xff0c;麻省理工学院的研究人员开发出一种新技术&#xff0c;让AI智能体能够思考更远的未来&#xff0c;寻找更合适的合作与竞争长期解决方案。 想象一个游戏规则&#xff1a;两支足球队在球场上PK&#xff0c;玩家们可以选择相互合作合作来实现目…

[附源码]Python计算机毕业设计Django学生宿舍管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

web前端期末大作业:云南旅游网页主题网站设计——云南城市旅游5页HTML+CSS+JavaScript

&#x1f468;‍&#x1f393;静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计&#x1f469;‍&#x1f393;&#xff0c;一般的网页作业需要融入以下知识点&#xff1a;div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

c + linux + cmake + arm + MQTT

先给你们看个最终代码结构吧,因为我改过的代码会加密,所以我只能放一部分源码,另外一部分源码我会直接贴在博客,具体使用我会在博客里面说明! 1.MQTTPacket源码库(MQTTPacket源码地址) 2.MQTTClient.c /*********************************************************************…

Linux中线程池的制作

一.介绍 1.1概念 一种线程使用模式。线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用&#x…

如何从github上克隆库、跑库

第一步&#xff1a;在Github上找到想要的库&#xff0c;以YOLOv3项目为例。 第二步&#xff1a;拷贝这个库到自己的电脑上&#xff0c;下载到本地。 方法一&#xff1a;在GitHub上&#xff0c;Code -> Download ZIP&#xff08;有的时候会有一些问题&#xff0c;不建议&…

DBW*的trace文件过大的bug

问题描述&#xff1a; 近期某现场发现trace目录下的dbw*文件达到了大几G的大小导致/oracle目录占用率突增&#xff0c;删除这些trace文件&#xff0c;几天后又重新生成较大的dbw*的trace 11G Dec 4 10:38 rb_dbw0_2086848.trc 3.6G Dec 4 10:38 rb_dbw1_2086852.trc 4.4G De…

前端工程师常考手写面试题指南

实现 add(1)(2)(3) 函数柯里化概念&#xff1a; 柯里化&#xff08;Currying&#xff09;是把接受多个参数的函数转变为接受一个单一参数的函数&#xff0c;并且返回接受余下的参数且返回结果的新函数的技术。 1&#xff09;粗暴版 function add (a) { return function (b) …

码云线上误删主项目文件夹的恢复

码云线上误删主项目文件夹的恢复前言描述解决办法解决问题前言描述 本来某个项目即将上线&#xff0c;然后同事不知道怎么的&#xff0c;直接打开了自己的码云&#xff0c;在网站上把主项目目录删除了。。。。是的&#xff0c;删除了&#xff01;&#xff01;&#xff01;&…

职场生涯亮红灯要注意这些

很多时候&#xff0c;当事业变红的时候&#xff0c;很多年轻人还在傻傻地工作。他们做的事情越多&#xff0c;在不被领导看重的情况下&#xff0c;就越不会得到领导的重用。在关心下属的时候&#xff0c;会在无形中释放出一些不好的信号&#xff0c;这是一种被领导抛弃的行为。…

winform 处理tabcontrol控件,隐藏顶部的tab标签,及tabcontrol的边框线

处理tabcontrol控件&#xff0c;隐藏顶部的tab标签&#xff0c;及tabcontrol的边框线处理tabcontrol控件&#xff0c;隐藏顶部的tab标签&#xff0c;及tabcontrol的边框线隐藏顶部的tab标签隐藏边框线运行效果图处理tabcontrol控件&#xff0c;隐藏顶部的tab标签&#xff0c;及…

智能电销机器人《各版本机器人部署》

科技在进步&#xff0c;时代在发展&#xff0c;越来越多人工智能产品出现在我们的生活中&#xff0c;从各种工业机器人到智能家居产品&#xff0c;人工智能在越来越多的行业出现&#xff0c;代替人们做重复枯燥的工作。在企业中出现最多的是电销机器人&#xff0c;并逐渐被越来…

【面试宝典】Mysql面试题大全

mysql面试题大全1、数据库存储引擎2、InnoDB(B树)3、TokuDB( Fractal Tree-节点带数据)4、MyIASM5、Memory6、InnoDB与MyISAM的区别7、索引8、常见索引原则有9、数据库的三范式是什么10、第一范式(1st NF - 列都是不可再分)11、第二范式(2nd NF- 每个表只描述一件事情)12、第三…

MemoryAnalyzer分析线上OOM异常

本文档记录工作中发生的一次OOM异常分析 最近线上环境频繁出现OOM异常&#xff0c;导致应用服务器宕机&#xff0c;之前有观察过最近的程序更新&#xff0c;猜测定位到最近的一个接口上&#xff0c;之前发现问题都是打印堆栈信息排查&#xff0c;但是这次发现堆栈信息并不能有…

lc刷题总结(二叉树第一次)

前中后序的递归遍历 lc144 94 145 class Solution { public:void travel(TreeNode * cur,vector<int>& vec){if(curnullptr){return;}travel(cur->left, vec);travel(cur->right, vec);vec.push_back(cur->val);}vector<int> postorderTraversal(Tre…

视频点播小程序毕业设计,视频点播系统设计与实现,微信小程序毕业设计论文怎么写毕设源码开题报告需求分析怎么做

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序视频点播系统&#xff0c;前台用户使用小程序&#xff0c;后台管理使用基java&#xff08;springboot框架&#xff09;msyql8数据库的B/S架构&#xff1b;通过后台添加课程信息、视频信息等&a…

Spring Cloud(十五):微服务自动化部署 DevOps CI/CD、Maven打包、ELK日志采集

DevOps CI/CD Gitlab(免费版和收费版)Jenkins基于GitLabJenkins快速实现CI\CD 后端项目打包以及部署方式 spring-boot-maven-pluginmaven-dependency-pluginmaven 官网插件maven-jar-plugin上传jar包到maven私服 ELK 日志采集 使用FileBeatLogstashES实现分布式日志收集使用 ma…

使用握手信号实现跨时钟域数据传输(verilog)

大家好&#xff0c;最近汇总了2021年oppo哲库招聘手撕代码题目&#xff0c;本文章一共含有以下几个题目&#xff1a; 一&#xff0c;使用握手信号实现跨时钟域数据传输&#xff08;verilog&#xff09; 二&#xff0c;自动售卖机&#xff08;verilog&#xff09; 三&#xf…

Jenkins执行shell脚本报错:bash: kubectl: command not found

问题描述 搭建好Jenkins之后&#xff0c;通过shell脚本构建k8s应用&#xff0c;但是脚本报错&#xff1a; bash: kubectl: command not found网上找了很多解决办法都不正确&#xff0c;并不适用于我的问题。 先说明&#xff0c;我的Jenkins和k8s各自独立的&#xff0c;不在同…

如何实现自有App上的小程序第三方微信授权登陆?

对于微信小程序来说&#xff0c;有 OpenID 或 UnionID 作为唯一标识&#xff0c;微信授权登陆小程序账号是很容易实现的&#xff0c;但对于其他应用上的小程序来说&#xff08;如支付宝、百度等&#xff09;&#xff0c;打通该登陆方式是比较麻烦的。 之前在FinClip开发了小程…