python计算概率分布

目录

1、泊松分布

2、卡方分布

3、正态分布

4、t分布

5、F分布


1、泊松分布

泊松分布是一种离散概率分布,描述了在固定时间或空间范围内,某个事件发生的次数的概率分布。该分布以法国数学家西蒙·德尼·泊松的名字命名,他在19世纪早期对这种分布进行了研究。

泊松分布的概率函数为:

P(X=k) = e^(-λ) * λ^k / k!

其中,P(X=k)表示事件发生k次的概率,λ是单位时间或单位空间内事件发生的平均次数。

泊松分布在各种自然和社会科学领域中都有广泛的应用,例如:

物理学:放射性衰变、粒子碰撞等随机过程。

生物学:动植物繁殖、遗传学等。

社会科学:人口统计、选举结果等。

经济学:金融市场波动、风险评估等。

此外,泊松分布与二项分布、指数分布和正态分布等其他概率分布有一定的关系。在统计分析中,泊松分布在处理具有固定时长或空间范围内的事件发生次数的问题时非常有用。

例如,如果你想计算在给定时间段内发生特定事件的概率,可以使用泊松分布。假设你有一个平均每小时发生10次的事件,你想知道在一小时内发生5次的概率。你可以使用Python的NumPy库来计算这个概率:

from scipy.stats import poisson# 平均每小时发生的事件次数lambda_value = 10# 想要计算的概率值k_value = 5# 使用泊松分布计算概率probability = poisson.pmf(k_value, lambda_value)print("在1小时内发生 {} 次事件的概率为: {}".format(k_value, probability))

在1小时内发生 5 次事件的概率为: 0.03783327480207079

生成泊松分布随机数

import numpy as np# 设定λ值,即事件的平均发生次数lambda_value = 10# 生成一个泊松分布的随机数poisson_random = np.random.poisson(lambda_value, 10000)# 打印结果print(poisson_random)

[ 6  5  9 ...  8 10 20]

2、卡方分布

卡方分布是概率统计中的一种重要分布,尤其在统计学中具有重要意义。它是通过正态分布构造而成的一个新的分布,当自由度n很大时,卡方分布近似为正态分布。

卡方分布的定义涉及到了多个相互独立的随机变量,这些随机变量都服从标准正态分布。当这些随机变量的平方和构成一新的随机变量时,其分布规律就是卡方分布。卡方分布的参数称为自由度,记为或者 (其中 , 为限制条件数)。自由度指包含的独立变量的个数。

卡方分布在数理统计中具有广泛应用。分布在第一象限内,卡方值都是正值,呈正偏态(右偏态),随着参数的增大,分布趋近于正态分布。另外,分布的均值与方差也可以看出,随着自由度的增大,χ2分布向正无穷方向延伸(因为均值越来越大),分布曲线也越来越低阔(因为方差越来越大)。

卡方分布概率密度图像

import numpy as npimport matplotlib.pyplot as pltfrom scipy.stats import chi2# 设定自由度degrees_of_freedom = [2, 3, 4, 6, 9]# 设定x轴范围x = np.linspace(0, 20, 1000)# 对每一个自由度,计算卡方分布的概率密度函数for df in degrees_of_freedom:    y = chi2.pdf(x, df)    plt.plot(x, y, label=f'df={df}')# 设定图例、标题和轴标签plt.legend()plt.title('Chi-Squared Distribution')plt.xlabel('Value')plt.ylabel('Probability Density')# 显示图像plt.show()

计算卡方统计量和自由度,以及p值

import numpy as npfrom scipy import stats# 设定观察频数observed = np.array([[10, 10, 20], [20, 20, 20]])# 计算卡方统计量和自由度chi2, p, dof, expected = stats.chi2_contingency(observed)# 输出结果print("卡方统计量:", chi2)print("p值:", p)print("自由度:", dof)print("期望频数:", expected)

卡方统计量:2.7777777777777777

p值:0.2493522087772962

自由度:2

期望频数:[[12. 12. 16.]

 [18. 18. 24.]]

3、正态分布

正态分布(Normal Distribution)是一种在数学、统计学和许多其他领域中广泛应用的概率分布。它以德国数学家卡尔·高斯(Carl Friedrich Gauss)命名,以描述在重复实验中测量值的概率分布。

正态分布的基本特征是概率密度函数呈钟形曲线,平均值为零,标准差恒定。该分布描述了在给定范围内的随机变量取值的概率,以及其最大可能的值和最小可能的值。

import numpy as npimport scipy.stats as stats# 均值和标准差mu, sigma = 0, 0.1  # 可以根据需要更改这些值# 计算正态分布的PDF和CDFpdf = stats.norm.pdf(x=np.linspace(-3, 3, 100), loc=mu, scale=sigma)cdf = stats.norm.cdf(x=np.linspace(-3, 3, 100), loc=mu, scale=sigma)# 输出PDF和CDF图像import matplotlib.pyplot as pltplt.plot(np.linspace(-3, 3, 100), pdf)plt.plot(np.linspace(-3, 3, 100), 1 - cdf)plt.show()

4、t分布

t分布(又称为学生t分布)是统计学上常用的概率分布之一,其定义是在给定样本量较小(小于30)或总体标准差未知的情况下,用来估计总体均值的分布。它由自由度(df)参数所决定。

t分布与正态分布类似,但是相比于正态分布而言,它的曲线形态稍微宽一些,也更加平坦。它的形状由自由度来决定,当自由度越大时,t分布逐渐趋近于正态分布。

from scipy.stats import t# 设置自由度df = 10# 计算x的概率密度函数值x = 2.5pdf = t.pdf(x, df)print("概率密度函数值:", pdf)# 计算小于等于x的累积分布函数值cdf = t.cdf(x, df)print("累积分布函数值:", cdf)

概率密度函数值: 0.026938727628244466

累积分布函数值: 0.9842765778816956

from scipy.stats import timport numpy as np# 设置自由度和生成随机数个数df = 10num_samples = 1000# 生成t分布的随机数样本samples = t.rvs(df, size=num_samples)# 输出前10个样本print("前10个样本:", samples[:10])# 计算样本均值和样本标准差mean = np.mean(samples)std = np.std(samples)print("样本均值:", mean)print("样本标准差:", std)

前10个样本: [ 1.03770461  0.81247149 -1.6061988  -0.10953492 -0.25427303 -0.50561028

 -0.95062628  2.80638487 -0.29048675 -0.83396947]

样本均值: -0.013243567307352029

样本标准差: 1.104253454000021

5、F分布

F分布是统计学中常用的概率分布之一,用于比较两个样本方差的大小。它由两个自由度参数决定,分别称为分子自由度(df1)和分母自由度(df2)。

F分布的形状取决于分子自由度和分母自由度的值。当这两个自由度都大于1时,F分布呈现右偏斜的正态分布图形。F分布的区间在零点附近北向无限延伸,使得其概率密度函数的尾部比正态分布来得更长。F 分布总是非负的。

F 分布主要用于进行方差分析(ANOVA)和回归分析中的显著性检验。通过计算F 统计量,我们可以判断样本方差是否明显地不同,从而对比不同组之间的差异是否具有统计显著性。根据所得到的F值和相应的自由度,我们可以查找F分布表以计算p值来判断差异是否显著。

在Python中,你可以使用scipy.stats模块来计算 F 分布的概率密度函数(PDF)、累积分布函数(CDF),以及生成 F 分布的随机数样本。下面是一个示例代码:

from scipy.stats import f# 设置分子自由度和分母自由度df1 = 10df2 = 15# 计算x的概率密度函数值x = 2.5pdf = f.pdf(x, dfn=df1, dfd=df2)print("概率密度函数值:", pdf)# 计算小于等于x的累积分布函数值cdf = f.cdf(x, dfn=df1, dfd=df2)print("累积分布函数值:", cdf)# 生成F分布的随机数样本num_samples = 1000samples = f.rvs(dfn=df1, dfd=df2, size=num_samples)# 输出前10个样本print("前10个样本:", samples[:10])

概率密度函数值: 0.0742291142180768

累积分布函数值: 0.946860485660113

前10个样本: [0.92056996 1.87552153 0.75297048 2.69169927 0.31265751 0.63815811

 1.08650558 0.7568914  0.63633434 1.14716638]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解MySQL数据库管理与应用

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 当涉及MySQL数据库管理与应用时,深…

智慧工地管理系统加快推进工程建设项目全生命周期数字化

智慧工地管系统是一种利用人工智能和物联网技术来监测和管理建筑工地的系统。它可以通过感知设备、数据处理和分析、智能控制等技术手段,实现对工地施工、设备状态、人员安全等方面的实时监控和管理。 智慧工地以物联网、移动互联网技术为基础,充分应用大…

AIGC系列之:DDPM原理解读(简单易懂版)

目录 DDPM基本原理 DDPM中的Unet模块 Unet模块介绍 Unet流程示意图 DownBlock和UpBlock MiddleBlock 文生图模型的一般公式 总结 本文部分内容参考文章:https://juejin.cn/post/7251391372394053691,https://zhuanlan.zhihu.com/p/563661713&…

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为 data ne…

网络篇---第五篇

系列文章目录 文章目录 系列文章目录前言一、如何实现跨域?二、TCP 为什么要三次握手,两次不行吗?为什么?三、说一下 TCP 粘包是怎么产生的?怎么解决粘包问题的?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

【Cisco Packet Tracer】构造超网

​​🌈个人主页:Sarapines Programmer🔥 系列专栏:《Cisco Packet Tracer | 奇遇记》⏰寄 语:风翻云浪激,剑舞星河寂。 临风豪情壮志在,拨云见日昂首立。 目录 ⛳️1. Cisco Packet Trace…

猫头虎分享已解决Bug || Error: Minified React error #130

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

QT 界面切换

先新建一个Widget工程 ui界面设置如下 在添加一个QT设计师界面类 右键点击添加 第二个UI界面设置如下 代码 链接:https://pan.baidu.com/s/1ovDIG2pno9mJ7mMFh2tq3Q 提取码:6q3m –来自百度网盘超级会员V2的分享

E云管家开发个微自动添加好友

简要描述: 添加微信好友 请求URL: http://域名地址/addUser 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId…

【论文解读】基于生成式面部先验的真实世界盲脸修复

论文地址:https://arxiv.org/pdf/2101.04061.pdf 代码地址:https://github.com/TencentARC/GFPGAN 图片解释: 与最先进的面部修复方法的比较:HiFaceGAN [67]、DFDNet [44]、Wan 等人。[61] 和 PULSE [52] 在真实世界的低质量图像…

贪吃蛇小游戏基本简单布局

代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>Layui贪吃蛇小游戏</title> <link rel"stylesheet" href"https://cdn.bootcdn.net/ajax/libs/layui/2.5.7/css/layui.…

【Intel FPGA】D5005 使用笔记

项目总目标&#xff0c;在AFU中实现xx算法DDR 1.FPGA device &#xff1a;1SX280HN2F43E2VG 2 .硬件架构图 3.DDR信息 4.FIM &#xff08;FPAG Interface Manager&#xff09; The FIM contains the FPGA logic to support the accelerators, including the PCIe IP core, …

【解决视觉引导多个位置需要标定多个位置的问题】

** 以下只针对2D定位&#xff0c;就是只有X、Y、Rz三个自由度的情况。** 假设一种情况&#xff0c;当视觉给机器人做引导任务时&#xff0c;零件有多个&#xff0c;分布在料框里&#xff0c;视觉需要走多个位置去拍&#xff0c;那么只需要对第一个位置确定拍照位&#xff0c;确…

【Flutter】graphic图表的快速上手

简介 graphic是一个数据可视化语法和Flutter图表库。 官方github示例 网上可用资源很少,只有作者的几篇文章,并且没有特别详细的文档,使用的话还是需要一定的时间去调研,在此简单记录。 示例 以折线图为例(因为我只用到了折线图,但其他的图大差不差) 创建一个两个文…

运行时错误/缺陷到底是什么缺陷

运行时错误(Run-time Error)是一种跟程序运行状态相关的缺陷。这类缺陷不能通过直接禁用相关特性来屏蔽&#xff0c;而是需要通过分析变量的数值状态来发现可能的异常。简单来说&#xff0c;这些缺陷通常只有当程序执行起来以后&#xff0c;才能逐渐暴露出的缺陷&#xff0c;一…

Buzz库python代码示例

Buzz库来编写一个下载器程序。 php <?php require_once vendor/autoload.php; // 引入Buzz库 use Buzz\Browser; use Buzz\Message\Response; $browser new Browser(); // 设置 $browser->setHttpClient(new HttpClientProxy([ host > , port > , ])…

企业员工为什么不喜欢使用MES管理系统

随着科技的进步和数字化转型的趋势&#xff0c;越来越多的企业开始引入MES管理系统解决方案以提升生产效率和质量。然而&#xff0c;尽管MES管理系统的潜在优势众所周知&#xff0c;但其在企业内部的推广和应用却常常面临员工的抵触和反感。本文将从多个角度探讨企业员工为什么…

DBeaver连接MySQL提示“Public Key Retrieval is not allowed“问题解决方式

更新时间&#xff1a;2023年10月31日 11:37:53 作者&#xff1a;产品人小柒 dbeaver数据库连接工具,可以支持几乎所有的主流数据库.mysql,oracle.sqlserver,db2 等等,这篇文章主要给大家介绍了关于DBeaver连接MySQL提示"Public Key Retrieval is not allowed"问…

IDEA删除的文件怎么找回更新

一、 查找本地历史记录IDEA在进行代码版本管理时&#xff0c;会自动创建本地历史记录&#xff0c;如果我们误删了文件&#xff0c;可以通过查找本地历史记录来找回文件。 1.在项目中&#xff0c;选中被删文件的父级目录&#xff0c;“File”->“Local History”->“Show…

『VUE3后台—大事件管理系统』

项目地址&#xff1a;https://gitee.com/csheng-gitee/vue3-big-event-admin 技术栈&#xff1a;VUE3 Pinia Pnpm&#xff08;本项目暂不用 typescript&#xff09; 一、前期准备工作 1、创建项目 npm install -g pnpm pnpm create vue2、ESLint 配置 (1) 禁用 prettier 插…