返回顶部
首页 > 资讯 > 后端开发 > Python >概率算法_二项分布和泊松分布
  • 528
分享到

概率算法_二项分布和泊松分布

概率算法 2023-01-30 22:01:00 528人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本次函数有 1、阶乘 2、计算组合数C(n,x) 3、二项概率分布 4、泊松分布   以下是历史函数 create_rand_list() #创建一个含有指定数量元素的listsum_fun() #累加len_fun() #统计个数mul

本次函数有

1、阶乘

2、计算组合数C(n,x)

3、二项概率分布

4、泊松分布

 

以下是历史函数

create_rand_list() #创建一个含有指定数量元素的list
sum_fun() #累加
len_fun() #统计个数
multiply_fun() #累乘
sum_mean_fun() #算数平均数
sum_mean_rate() #算数平均数计算回报
median_fun() #中位数
modes_fun() #众数
ext_minus_fun() #极差
geom_mean_fun() #几何平均数
geom_mean_rate() #几何平均回报

var_fun() #方差-样本S^2
covar_fun() #协方差(标准差)-样本S
trans_coef_fun() #变异系数CV
pearson_fun() #相关系数-样本r

 

unite_rate_fun #联合概率
condition_rate_fun #条件概率
e_x #随机变量期望值
var_rand_fun #随机变量方差
covar_rand_fun #随机变量协方差
covar_rand_xy_fun #联合协方差
e_p #组合期望回报
var_p_fun #投资组合风险
bayes #贝叶斯

---------------以上是旧的------------------------------------------------------------------------
---------------以下是新的------------------------------------------------------------------------

继续概率,本次是二项分布和泊松分布,这个两个还是挺好玩的,可以作为预测函数用,因为函数比较少,本次就不给例子了,但是会对函数做逐一说明

1、阶乘n!
就是每次-1乘,直到*1,例如5! = 5 * 4 * 3 * 2 * 1 = 120,这个是正常的,但是在写函数的时候这样算法效率会低些,因此直接反过来,1*2*3...这种,那么函数就是

 

def fact_fun(n):
  if n == 0:
    return 1
  n += 1
  fact_list = [i for i in range(1,n)]
  fact_num = multiply_fun(fact_list)
  return fact_num

2、计算组合数C(n,x)
C(n,x) = n! / (x! * (n - x)!)
表示从n个样本中抽取x个样本单元,可能出现结果的组合数,例如从5个物品中抽取3个物品,这三个物品的组合数就是10种

def c_n_x(case_count,real_count):
  fact_n = fact_fun(case_count)
  fact_x = fact_fun(real_count)
  fact_n_x = fact_fun(case_count - real_count)
  c_n_x_num = fact_n / (fact_x * fact_n_x)
  return c_n_x_num

3、二项概率分布
执行n次伯努利试验,伯努利试验就是执行一次只有两种可能且两种可能互斥的事件,比如丢硬币实验,执行n次,成功k次的概率
P(ξ=K) = C(n,k) * p^k * (1-p)^(n-k)
n=5 k=3 P(ξ>=K) = p(K = 3) + p(K = 4) + p(K = 5)
p表示一个事件的成功概率,失败则是1 - p

def binomial_fun(case_count,real_count,p):
  c_n_k_num = c_n_x(case_count,real_count)
  pi = (p ** real_count) * ((1 - p) ** (case_count - real_count))
  binomial_num = c_n_k_num * pi
  return binomial_num

4、泊松分布
给定的一个机会域中,机会域可以是一个范围,也可以是一段时间,在这个机会域中可能发生某个统计事件的概率,举个例子,比有个商店,每小时平均有10位顾客光顾,那么一个小时有13位顾客光顾的概率,就是泊松分布,13位顾客光顾就是统计事件
P(X) = (e^-λ*λ^X)/X! = (2.7182818^-10*10^13)/13! = 0.0729
这里的λ是指平均值,可以使用算数平均数得到,e是自然常数~=2.7182818,有函数

def poisson_fun(chance_x, case_list = [0],mean_num = 0):
  chance_x_fact = fact_fun(chance_x)
  e = 2.7182818
  if len_fun(case_list) == 1 and case_list[0] == 0:
    poisson_num = ((e ** (0-mean_num)) * mean_num ** chance_x) / chance_x_fact
  else:
    mean_num = sum_mean_fun(case_list)
    poisson_num = ((e ** (0-mean_num)) * mean_num ** chance_x) / chance_x_fact
  return poisson_num

这个函数需要说明下,实际需要的是两个参数,一个平均值另一个是期望统计量,之所以指定了3个函数是因为可能输入的不一定是一个数字,也可能是个list,那么会有两种计算方式,这个已在if中体现,引用方法有两种,例如

if __name__ == '__main__':
  # 第一种
  poisson_rate = poisson_fun(mean_num = 10,chance_x = 13)
  print poisson_rate 
  # 第二种
  case_list = [8,9,10,11,12]
  poisson_rate = poisson_fun(case_list = case_list ,chance_x = 13)
  print poisson_rate 

 

--结束END--

本文标题: 概率算法_二项分布和泊松分布

本文链接: https://lsjlt.com/news/179325.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 概率算法_二项分布和泊松分布
    本次函数有 1、阶乘 2、计算组合数C(n,x) 3、二项概率分布 4、泊松分布   以下是历史函数 create_rand_list() #创建一个含有指定数量元素的listsum_fun() #累加len_fun() #统计个数mul...
    99+
    2023-01-30
    概率 算法
  • python3-泊松分布
    在实际事例中,当一个随机事件,例如某电话交换台收到的呼叫、来到某公共汽车站的乘客、某放射性物质发射出的粒子、显微镜下某区域中的白血球等等,以固定的平均瞬时速率λ(或称密度)随机且独立地出现时,那么这个事件在单位时间(面积或体积)内出现的次数...
    99+
    2023-01-31
  • 泊松分布详解
    泊松分布 泊松分布(Poisson distribution): 泊松分布是用来描述在一指定时间范围内或在指定的面积或体积之内某一事件出现的次数的分布。常用的泊松分布例子包括: 在某企业中每月发生的事故的次数。 单位时间内到达某一服务柜...
    99+
    2023-10-19
    机器学习 概率论 python
  • python中什么是泊松分布
    这篇文章将为大家详细讲解有关python中什么是泊松分布,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python有哪些常用库python常用的库:1.requesuts;2.scrapy;...
    99+
    2023-06-14
  • R语言泊松(Poisson)分布实例详解
    目录前言The Poisson DistributionDescriptionUsageArguments1.泊松(Poisson)分布中抽样函数rpois 2.泊松分布概...
    99+
    2022-11-13
    R语言 泊松分布 r语言泊松分布函数 r语言poisson分布
  • Python随机采样及概率分布(二)
    目录1. 二项(binomial)/伯努利(Bernoulli)分布1.1 概率质量函数(pmf)1.2 函数原型1.3 使用样例2. 多项(multinomial)分布2.1 概率...
    99+
    2024-04-02
  • 【概率论】正态分布的叠加性和正态分布的标准化
    目录 1 引言2 什么是正态分布2 正态分布的叠加性3 正态分布的标准化4 参考文献 1 引言   正态分布又称为高斯分布,它在机器学习和深度学习中非常常用。如正态分布的叠加性和正态分布的...
    99+
    2023-09-01
    概率论 python
  • python中有哪些概率分布类型
    本篇文章为大家展示了python中有哪些概率分布类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代...
    99+
    2023-06-14
  • 浅析Python中的随机采样和概率分布
    目录1. random.choice2. random.choices(有放回)3. numpy.sample(无放回)4.rng.choices 和 rng.sample5. nu...
    99+
    2024-04-02
  • Python中如何实现随机采样和概率分布
    这篇文章主要介绍了Python中如何实现随机采样和概率分布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Python(包括其包Numpy)中包含了了许多概率算法,...
    99+
    2023-06-21
  • Python怎么绘制概率分布直方图
    小编给大家分享一下Python怎么绘制概率分布直方图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并...
    99+
    2023-06-22
  • 如何用matlab画出概率密度分布图
    要使用MATLAB绘制概率密度分布图,需要先确定要绘制的概率密度函数的数学表达式或数据。以下是一种常见的绘制概率密度分布图的方法:1...
    99+
    2023-09-12
    matlab
  • Python怎么实现8个概率分布公式
    这篇“Python怎么实现8个概率分布公式”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现8个概率分布公式...
    99+
    2023-06-30
  • Python实现从概率分布中随机采样
    目录1. 二项(binomial)/伯努利(Bernoulli)分布2. 多项(multinomial)分布3.均匀(uniform)分布4. 狄利克雷(Dirichlet)分布参考...
    99+
    2024-04-02
  • Python实现8个概率分布公式的方法详解
    目录前言1.均匀分布2.高斯分布3.对数正态分布4.泊松分布5.指数分布6.二项分布7.学生 t 分布8.卡方分布前言 在本文中,我们将介绍一些常见的分布并通过Python 代码进行...
    99+
    2024-04-02
  • 分布式实时计算中如何应用Java和NumPy的数学分布算法?
    随着计算机技术的发展,分布式实时计算变得越来越重要。Java和NumPy是两种常用的语言和工具,它们有着强大的数学分布算法,可以在分布式实时计算中发挥重要作用。本文将介绍如何使用Java和NumPy的数学分布算法在分布式实时计算中进行计算...
    99+
    2023-10-17
    numy 分布式 实时
  • 怎么理解python中的二项分布
    这篇文章将为大家详细讲解有关怎么理解python中的二项分布,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;...
    99+
    2023-06-14
  • Python+Scipy实现自定义任意的概率分布
    目录连续变量分布离散变量分布二项分布Binomial Distribution几何分布Geometric Distribution泊松分布Poisson DistributionSc...
    99+
    2024-04-02
  • Python如何实现随机采样及概率分布
    这篇文章主要介绍了Python如何实现随机采样及概率分布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 二项(binomial)/伯努利(Bernoulli)分布1.1 ...
    99+
    2023-06-22
  • Python如何绘制概率分布直方图浅析
    目录前言一、代码二、运行效果总结前言 直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱。大家平时可能见到最多就是 matplotlib,seaborn...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作