Python威布尔分布

news2024/9/23 19:26:04

文章目录

    • 威布尔分布及其性质
    • 在Python中生成威布尔分布的随机数
    • 指数分布和拉普拉斯分布的对比

威布尔分布及其性质

威布尔分布,即Weibull distribution,又被译为韦伯分布、韦布尔分布等,是仅分布在正半轴的连续分布。

numpy.random中,提供了按照威布尔分布生成的随机数生成器,并且提供了与威布尔分布关系密切的瑞利分布、指数分布以及拉普拉斯分布,列表如下

函数概率密度表达式
weibull(a[,scale])威布尔分布 p ( x ) = a λ ( x λ ) a − 1 e − ( x / λ ) a p(x)=\frac{a}{\lambda}(\frac{x}{\lambda})^{a-1}e^{-(x/\lambda)^a} p(x)=λa(λx)a1e(x/λ)a
rayleigh([scale])瑞利分布 p ( x ) = x λ 2 exp ⁡ [ − x 2 2 λ 2 ] p(x)=\frac{x}{\lambda^2}\exp[\frac{-x^2}{2\lambda^2}] p(x)=λ2xexp[2λ2x2]
exponential([scale])指数分布 f ( x ) = 1 λ exp ⁡ − x λ f(x)=\frac{1}{\lambda}\exp{-\frac{x}{\lambda}} f(x)=λ1expλx
laplace([loc, scale])拉普拉斯分布 f ( x ) = 1 2 λ exp ⁡ [ − ∣ x − μ ∣ λ ] f(x)=\frac{1}{2\lambda}\exp[-\frac{\vert x-\mu\vert}{\lambda}] f(x)=2λ1exp[λxμ]

上表中,概率密度表达式中的 λ \lambda λ即为函数中的scale μ \mu μ对应函数参数中的loc

根据概率密度表达式,可以发现,当 a = 2 a=2 a=2时,威布尔分布变为瑞利分布;当 a = 1 a=1 a=1时,变为指数分布。

若将指数分布的中心移动到 μ \mu μ,同时延展到整个坐标轴,那么就会变成Laplace分布。

威布尔分布具有如下性质:

其均值为

E = λ Γ ( 1 + 1 a ) E=\lambda\Gamma(1+\frac{1}{a}) E=λΓ(1+a1)

方差为

S 2 = λ 2 [ Γ ( 1 + 2 a ) − Γ ( 1 + 1 a ) 2 ] S^2=\lambda^2[\Gamma(1+\frac{2}{a})-\Gamma(1+\frac{1}{a})^2] S2=λ2[Γ(1+a2)Γ(1+a1)2]

偏度为

2 Γ ( 1 + 1 a ) 3 − 3 Γ ( 1 + 2 a ) Γ ( 1 + 1 a ) + Γ ( 1 + 3 a i = ) [ Γ ( 1 + 2 a ) − Γ ( 1 + 1 a ) 2 ] 3 / 2 \frac{2\Gamma(1+\frac{1}{a})^3-3\Gamma(1+\frac{2}{a})\Gamma(1+\frac{1}{a})+\Gamma(1+\frac{3}{ai=})}{[\Gamma(1+\frac{2}{a})-\Gamma(1+\frac{1}{a})^2]^{3/2}} [Γ(1+a2)Γ(1+a1)2]3/22Γ(1+a1)33Γ(1+a2)Γ(1+a1)+Γ(1+ai=3)

峰度为

− 3 Γ ( 1 + 1 a ) 4 + 6 Γ ( 1 + 2 a ) Γ ( 1 + 1 a ) 2 − 4 Γ ( 1 + 3 a ) Γ ( 1 + 1 a ) + Γ ( 1 + 4 a ) [ Γ ( 1 + 2 a ) − Γ ( 1 + 1 a ) 2 ] 2 \frac{-3\Gamma(1+\frac{1}{a})^4+6\Gamma(1+\frac{2}{a})\Gamma(1+\frac{1}{a})^2-4\Gamma(1+\frac{3}{a})\Gamma(1+\frac{1}{a})+\Gamma(1+\frac{4}{a})}{[\Gamma(1+\frac{2}{a})-\Gamma(1+\frac{1}{a})^2]^2} [Γ(1+a2)Γ(1+a1)2]23Γ(1+a1)4+6Γ(1+a2)Γ(1+a1)24Γ(1+a3)Γ(1+a1)+Γ(1+a4)

在Python中生成威布尔分布的随机数

接下来生成不同a值时的威布尔分布,

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure("Weibull Distribution")
for i in range(1,5):
    ax = fig.add_subplot(2,2,i)
    xs = np.random.weibull(i,size=1000)
    ax.set_title(f"a={i}")
    plt.hist(xs,100)

plt.show()

在这里插入图片描述

可以看到,随着 a a a不断变大,威布尔分布逐渐向右移动。

指数分布和拉普拉斯分布的对比

接下来对比一下指数分布和拉普拉斯分布

fig = plt.figure()

xs1 = np.random.exponential(1, size=1000)
xs2 = np.random.laplace(0, 1, size=1000)
ax1 = fig.add_subplot(1,2,1)
ax1.hist(xs1, 100)
ax1.set_title("exponential")

ax2 = fig.add_subplot(1,2,2)
ax2.hist(xs2, 100)
ax2.set_title("laplace")
plt.show()

效果为

在这里插入图片描述

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

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

相关文章

python中urllib库的使用

1. 获取目标页面的源码 以获取百度页面源码为例 #使用urllib获取百度首页的源码 import urllib.request#1 定义一个url 作为需要访问的网址 url http://www.baidu.com#2 模拟浏览器向服务器发送请求 response响应 response urllib.request.urlopen(url)#3 获取响应中的页面…

Monkey测试

一、什么是 Monkey 测试 Monkey 测试是通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序客户端的稳定性测试;通俗来说,Monkey 测试即“猴子测试”,是指像猴子一样&a…

JVM垃圾回收算法整理

JVM垃圾回收算法整理前言关键概念了解标记–清除算法复制算法标记–整理算法分代收集算法仰天大笑出门去,我辈岂是蓬蒿人前言 大概内容: jvm垃圾回收算法: 1、“标记–清除”算法;首先标记出所有需要被回收的对象,然…

搭建自己的SSR

Vue SSR介绍 是什么 官方文档:https://ssr.vuejs.org/Vue SSR(Vue.js Server-Side Rendering) 是 Vue.js 官方提供的一个服务端渲染(同构应用)解 决方案使用它可以构建同构应用还是基于原有的 Vue.js 技术栈 官方文档…

XXL-JOB逻辑自测及执行参数配置踩坑

概述 关于XXL-JOB的使用遇到的问题记录。对XXL-JOB不熟的,可以先参考分布式任务调度平台XXL-JOB深度实战 实战 业务DTO定义如下: Data public class AdAccountDTO {private String accountId;/*** yyyy-MM-dd HH:mm:ss*/private String startCreateT…

ThingBoard源码解析-缓存

配置 TB支持两种缓存:Caffeine和Redis,通过配置cache.type来指定使用哪种缓存。 位于 org.thingsboard.server.cache Caffeine 配置类:CaffeineCacheConfiguration Configuration ConditionalOnProperty(prefix "cache", value "t…

HTML CSS 个人网页设计 WEB前端大作业代码

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

【计算机毕业设计】7.线上花店系统maven源码

一、系统截图(需要演示视频可以私聊) 摘 要 随着互联网突飞猛进的发展及其对人们的生活产生至关重要的影响,线上购花,送货到家的购物方式受到了越来越多顾客的接受与喜爱。线上花卉小铺的设计与实现不仅可以带来更广泛的选择与实…

餐饮业如何现业绩突破性增长?

疫情反复无常,餐饮人每天都面临着极大的挑战:无法预测的关店通知、突如其来的禁止堂食命令......餐饮店客流减少,业绩下滑成为不可避免的趋势。 在这种情形下,不少餐饮老板拒绝“躺平”,上演“花式自救”:…

cpu设计和实现(数据预取)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面说过了一条指令经过cpu处理的时候需要经历几个阶段。通过实验,我们发现,哪怕是再简单的ori指令也要经历取指、译码、执…

MyBatis是什么?使用方式?

目录 前言: 一、概念讲述 1.什么是MyBatis? 2.官网网址 二、使用方式 1.pom.xml里面添加依赖包 2.新建统一配置文件(俗称数据库连接文件) 3.新建立映射文件 (俗称数据库表对应xml) 4.建立数据库表…

ArcMap中之提取影像数据边界

1、前言 手里有一些经过裁剪的不规则多边形影像数据(如图例所示),希望能批量获取该类影像的边界信息,即影像对应的面信息,边界线信息。这里我们提供一种利用镶嵌数据集Footprint图层的方法来获取,面&#…

基于Python机器学习及深度学习在空间模拟与时间预测应用

了解机器学习的发展历史、计算原理、基本定义,熟悉机器学习方法的分类,常用机器学习方法,以及模型的评估与选择;熟悉数据预处理的流程,掌握python程序包的使用;理解机器学习在生态水文中的应用,…

超实用的图片处理技巧,一分钟轻松完成图片编辑

图片想必大家都很熟悉,无论是我们平时在聊天的时候使用的表情包或者是在工作中插入的插图都属于图片,在使用图片的时候大家会遇到各种各样的问题,比如上传的图片格式不对、使用的图片尺寸太大等等,都会导致图片无法正常使用&#…

[附源码]java毕业设计医院就诊流程管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

c++旅行商问题 (暴力解)

目录一、旅行商问题简介旅行商问题问题概述问题由来二、枚举所有方案1、思路2、代码3、复杂度分析三、深度优先搜索1、思路2、代码3、复杂度分析一、旅行商问题简介 旅行商问题 TSP,即旅行商问题,又称TSP问题(Traveling Salesman Problem&am…

白盒测试与黑盒测试

白盒测试技术 白盒测试技术也称结构性测试,是一种设计测试用例的方法,一般用于分析程序的内部结构,使用该方法测试程序时测试者可以看到被测试程序,并分析其内部结构。 按照被测试测试时是否需要执行测试程序可以分为静态和动态…

RK3399平台开发系列讲解(中断篇)中断控制器驱动初始化

🚀返回专栏总目录 文章目录 一、设备树源文件1.1、gic控制器节点1.2、timer节点二、中断控制器匹配表三、中断控制器初始化3.1、函数of_irq_init3.2、函数gicv3_of_init3.3、函数gic_init_bases沉淀、分享、成长,让自己和他人都能有所收获!😄 一、设备树源文件 ARM64架构…

web前端网页制作课作业:甜甜圈蛋糕店(HTML+CSS+JavaScript)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

用DIV+CSS技术设计的水果介绍网站(web前端网页制作课作业)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…