python计算概率分布

news2024/12/23 22:26:35

目录

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]

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

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

相关文章

北京劲松HPV诊疗中心专家解读:感染HPV18危害大吗?

小李,一个普通的中国女性,今年32岁,平日里忙碌于工作与家庭之间,生活充实而有序。然而,一年前的一次健康检查,却让她的生活陷入了一场无声的风暴。 去年,小李在公司的年度体检中,意…

AI - Crowd Simulation(集群模拟)

类似鱼群,鸟群这种群体运动模拟。 是Microscopic Models 微观模型,定义每一个个体的行为,然后合在一起。 主要是根据一定范围内族群其他对象的运动状态决定自己的运动状态 Cohesion 保证个体不会脱离群体 求物体一定半径范围内的其他临近物…

API协作管理工具:Apipost

在当今快速发展的数字化时代,API已成为企业与开发者实现数据互通、应用集成的重要桥梁。然而,随着API数量的不断增加,API开发、调试、测试、文档等工作也变得越来越复杂。为了解决这一痛点,一款名为Apipost的API协同研发工具应运而…

C_6微机原理

一、单项选择题(本大题共 15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。 n1 位有符号数 的补码表示范围为() A. -2n&l…

【libGDX】加载G3DJ模型

1 前言 libGDX 提供了自己的 3D 格式模型文件,称为 G3D,包含 g3dj(Json 格式)和 g3db(Binary 格式)文件,官方介绍见 → importing-blender-models-in-libgdx。 对于 fbx 文件,libGDX…

pinia从入门到使用

pinia: 比vuex更适合vue3的状态管理工具,只保留了vuex 原有的 state, getters,actions 作用等同于 data computed methods,可以有多个 state 1.安装创建导入 安装:npm install pinia 或 yarn add pinia 创建stores/index.js inde…

0基础学习VR全景平台篇第123篇:VR视频航拍补天 - PR软件教程

上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 嗨,大家好,今天我们来介绍【航拍VR视频补天】。之前已经教给了大家如何处理航拍图片的补天,肯定有很多小伙伴也在好奇,航拍的VR视频…

2023年亚太杯APMCM数学建模大赛B题玻璃温室小气候调控

2023年亚太杯APMCM数学建模大赛 B题 玻璃温室小气候调控 原题再现 温室作物的产量受各种气候因素的影响,包括温度、湿度和风速[1]。其中,适宜的温度和风速对植物生长至关重要[2]。为了调节玻璃温室内的温度、风速等气候因素,在温室设计中常…

C语言:求二维数组鞍点 。鞍点就是指二维数组中在该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。

分析: 在主函数 main 中,程序首先定义一个二维数组 a[5][5] 和五个整型变量 i、j、max、maxj 和 k,并用于寻找鞍点。然后使用 printf 函数输出提示信息。 接下来,程序使用两个 for 循环结构,从键盘输入一个 5x5 的二…

Linux 栈回溯

目录 前言一、什么是栈回溯?二、栈回溯的实现原理三、参考阅读 前言 日常工作中,我们在开发软件程序时,经常会遇到程序奔溃的问题,导致程序奔溃的原因有很多,我们一般都是定位到相关代码,再去查询具体原因。…

vue3中shallowReactive与shallowRef

shallowReactive与shallowRef shallowReactive: 只处理了对象内最外层属性的响应式(也就是浅响应式) shallowRef: 只处理了value的响应式, 不进行对象的reactive处理 总结: reactive与ref实现的是深度响应式, 而shallowReactive与shallowRef是浅响应式。 什么时候用浅响应…

JVM——垃圾回收器(Serial,SerialOld,ParNew,CMS,Parallel Scavenge,Parallel Old)

目录 1.垃圾回收器的组合关系1.年轻代-Serial垃圾回收器2.老年代-SerialOld垃圾回收器3.年轻代-ParNew垃圾回收器4.老年代- CMS(Concurrent Mark Sweep)垃圾回收器CMS执行步骤:CMS垃圾回收器存在的问题缺点:CMS垃圾回收器存在的问题 – 线程资源争抢问题…

【计算机网络笔记】ARP协议

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

论文解读:《数据增强:通过强化学习引导的条件生成进行文本数据扩充》

Title:<Data Boost: Text Data Augmentation Through Reinforcement Learning Guided Conditional Generation> 期刊&#xff1a;EMNLP &#xff08;顶级国际会议&#xff09; 作者 Ruibo Liu; Guangxuan Xu; Chenyan Jia; Weicheng Ma; Lili Wang; et al 出版日期 20…

利用STM32和蓝牙模块构建智能物联网设备的开发指南

智能物联网设备在现代生活中扮演着重要的角色&#xff0c;而STM32微控制器和蓝牙模块则为实现智能物联网设备提供了基础支持。本文将介绍如何使用STM32微控制器和蓝牙模块构建智能物联网设备的开发指南&#xff0c;包括硬件设计、蓝牙模块配置、传感器数据采集和云平台连接等关…

最新版小权云黑系统 骗子添加查询源码

小权云黑系统添加骗子&#xff0c;查询骗子&#xff0c;可添加团队后台方便审核用&#xff0c;在线反馈留言系统&#xff0c;前台提交骗子&#xff0c;后台需要审核才能过&#xff0c;后台使用光年UI界面&#xff0c;新增导航列表&#xff0c;可给网站添加导航友链&#xff0c;…

使用opencv将8位图像raw数据转成bmp文件的方法

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 这里说的图像raw数据是只包含图像数据的缓存。主要使用了cv::imencode接口将 cv::Mat转化为图像缓存。 #include <opencv2/opencv.hpp>/* 生成一幅…

excel对号怎么打

对号无论是老师批改作业&#xff0c;还是在标注某些数据的时候都会用到&#xff0c;但这个符号在键盘上是没有的&#xff0c;那么excel对号怎么打出来呢&#xff0c;其实只要使用插入符号功能就可以了。 excel对号怎么打&#xff1a; 第一步&#xff0c;选中想要打出对号的单…

基于51单片机的超声波测距系统【程序+proteus仿真+参考论文+原理图+PCB等16个文件夹资料】

一、项目功能简介 整个设计系统由STC89C52单片机LCD1602显示模块声光报警模块存储模块超声波模块按键模块组成。 具体功能&#xff1a; 1、超声波测量距离&#xff0c;显示在LCD1602。 2、存储模块可以存储超声波报警值。 3、通过按键可设置报警值大小。 4、超声波报警距…

金蝶云星空表单插件传递参数到服务插件

文章目录 金蝶云星空表单插件传递参数到服务插件业务需求开发实现传递参数接收参数 金蝶云星空表单插件传递参数到服务插件 业务需求 操作售后单行反关闭时将当前选中行的序号传递到服务端&#xff0c;然后在服务端接收序列号&#xff0c;根据序列号处理相关逻辑。 开发实现…