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]

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

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

相关文章

2023_Spark_实验二十一:Zookeeper单机安装与配置

zookeeper单机安装与配置一、zookeeper的安装 1.上传zookeeper-3.4.5.tar.gz到/tools目录下 2.解压安装zookeeper到/training中 tar -zvcf zookeeper-3.4.5.tar.gz -C /opt/soft_installed/zookeeper-3.4.53.配置环境变量 vim /home/lh/.bashrc# 添加内容如下 export ZK_HOME…

六、Lua 运算符

文章目录 一、Lua 运算符(一)算术运算符(二)关系运算符(三)逻辑运算符(四)其他运算符 二、运算符优先级 一、Lua 运算符 运算符是一个特殊的符号,用于告诉解释器执行特定…

小航助学题库蓝桥杯题库stem选拔赛(21年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSD…

Ant Design布局:Flex, Grid, Layout

文章目录 FlexGridLayout React初步antd初步 任何UI工具,布局都是设计过程中必不可少的一环,前端更是如此。但网页和桌面应用还有区别,正常的网页,无论在手机还是PC上,基本都是自上而下排布的信息流,这种浏…

【JavaScript】封装自己的JavaScript公共工具函数,并上传到npm中 进行下载

js公共方法封装方式都有哪些 全局函数 function greet(name) {console.log("Hello, " name "!"); }greet("Alice"); // 调用全局函数对象字面量 var utils {add: function(a, b) {return a b;},subtract: function(a, b) {return a - b;}…

python爬虫进阶篇(异步)

学习完前面的基础知识后,我们会发现这些爬虫的效率实在是太低了。那么我们需要学习一些新的爬虫方式来进行信息的获取。 异步 使用python3.7后的版本中的异步进行爬取,多线程虽然快,但是异步才是爬虫真爱。 基本概念讲解 1.什么是异步&…

智能优化算法应用:基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.郊狼算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

第13周 预习、实验与作业:Java网络编程

目录 1 课前问题列表 1.编写一个网络程序,为了与其他网络程序通信,至少要知道对方的什么信息? 2.TCP与UDP协议有什么不同的呢?什么时候该选择哪种协议?HTTP使用的是TCP还是UDP?不重要的短信息传送之类的功能…

销售漏斗是什么?

销售漏斗是一个重要的销售管理工具,它可以帮助销售人员更好地管理和跟踪潜在客户。销售漏斗模型通常被广泛应用于B2B销售中,它可以将销售过程细分为多个阶段,例如潜在客户、初步沟通、方案报价、谈判和签约等。 销售漏斗有以下作用&#xff…

java继承和多态之接口

Java 中的继承和多态是非常重要的概念,它们是 Java 面向对象编程的核心特性。在 Java 中,继承是指一个类(子类)可以继承另一个类(父类)的属性和方法。多态是指一个接口或类的多种实现方式,它允许…

静态方法和属性的经典使用-单例设计模式

单例设计模式 一、设计模式二、单例模式1、饿汉式2、懒汉式3、区别 单例设计模式是静态方法和属性的经典使用。 一、设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局&…

基于C#实现梳排序

为什么取名为梳,可能每个梳都有自己的 gap 吧,大梳子 gap 大一点,小梳子 gap 小一点。上一篇我们看到鸡尾酒排序是在冒泡排序上做了一些优化,将单向的比较变成了双向,同样这里的梳排序也是在冒泡排序上做了一些优化。 …

基于注解配置的AOP

注解方式AOP基本使用 Spring的AOP也提供了注解方式配置&#xff0c;使用相应的注解代替之前的xml配置。 xml配置&#xff1a; <aop:config> <!-- 配置切入点 目的是指定哪些方法增强--><aop:pointcut id"myPointCut1" expression"execu…

[Linux] 正则表达式及grep和awk

一、正则表达式 1.1 什么是正则表达式 正则表达式是一种用于匹配和操作文本的强大工具&#xff0c;它是由一系列字符和特殊字符组成的模式&#xff0c;用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 正则表达式和通配符的区别 正则…

Docker 概述与安装

文章目录 1. Docker简介2. 传统虚拟机和容器3. Docker运行速度快的原因4. Docker软件4.1 Docker镜像4.2 Docker容器4.3 Docker仓库 5. Docker架构6. CentOS安装Docker6.1 卸载旧版本6.2 配置yum资源库6.3 安装Docker引擎6.4 启动docker引擎6.5 设置开机自启 7. 卸载Docker8. 运…

OpenCV完结篇——计算机视觉(人脸识别 || 车牌识别)

文章目录 Haar人脸识别方法Haar识别眼鼻口HaarTesseract进行车牌识别深度学习基础知识dnn实现图像分类 Haar人脸识别方法 scaleFactor调整哈尔级联器的人脸选框使其能框住人脸 官方教程指路 每个特征都是通过从黑色矩形下的像素总和减去白色矩形下的像素总和获得的单个值 级…

代理IP可以用于哪些实际场景?遇到问题如何解决

随着互联网的普及和网络应用的广泛使用&#xff0c;代理IP已成为许多人工作和生活中不可或缺的一部分。代理IP可以用于多种实际场景&#xff0c;并在遇到问题时提供有效的解决方案。下面将详细介绍代理IP的实际应用场景及遇到问题时的解决方法。 一、代理IP的实际应用场景 1. 网…

开源运维监控系统-Nightingale(-夜莺)应用实践(未完)

一、前言 某业务系统因OS改造,原先的Zabbix监控系统推倒后未重建,本来计划用外部企业内其他监控系统接入,后又通知需要自建才能对接,考虑之前zabbix的一些不便,本次计划采用一个类Prometheus的监控系统,镜调研后发现Nightingale兼容Prometheus,又有一些其他功能增强,又…

Docker Compose;docker-compose;docker compose

(一) Docker Compose | 菜鸟教程 --> --> --> -->

ESP32-Web-Server编程-建立第一个网页

ESP32-Web-Server编程-建立第一个网页 HTTP 简述 可能你每天都要刷几个短视频&#xff0c;打开几个网页来娱乐一番。当你打开一个网络上的视频或者图片时&#xff0c;其实际发生了下面的流程&#xff1a; 其中客户端就是你的浏览器啦&#xff0c;服务器就是远程一个存放视频或…