精华内容
下载资源
问答
  • 概率计算圆周率

    2019-09-24 16:53:46
    这里是转换为几何图形,利用点的分布计算出圆周率,画的不好看,明白怎么回事就行 以正方形的变长为1,圆形的半径为1,那么我知道知道第一象限圆的面积为π/4,然后正方形的面积为1,那么我们可以通过落入圆形中的...

    这里是转换为几何图形,利用点的分布计算出圆周率,画的不好看,明白怎么回事就行

    以正方形的变长为1,圆形的半径为1,那么我知道知道第一象限圆的面积为π/4,然后正方形的面积为1,那么我们可以通过落入圆形中的点数占的比例来估计π的值,顺便提一句,这个算法也叫蒙特卡洛概率算法

    以正方形的边长为1,圆形的半径为1,就知道第一象限圆的面积为π/4,然后正方形的面积为1,那么我们可以通过落入圆形中的点数占的比例来估计π的值,这个算法也叫蒙特卡洛概率算法

    public class Test1 {
        public static void main(String[] args) {
            System.out.println("请输入取点数");
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
            //调用方法进行计算
            double pi = getPI(n);
            System.out.println(pi);
        }
        public static double getPI(int n){
            double pi = 0.0;
            double x , y;
            int res = 0;
            for(int i = 0; i < n; i++){
                x = Math.random();
                y = Math.random();
                //这里根据勾股定理进行计算,根据点到原点的距离判断该点是否在圆内,如果距离小于1,这说明在圆圈内,结果加1
                if((x * x + y * y) < 1){
                    res++;
                }
            }
            //这里必须写4.0     或者把4定义为double类型      否则4默认是int型   会发生数据类型转换
            pi = 4.0 * res / n;
            return pi;
        }
    }

     

    展开全文
  • 面对这样一个复杂的概率密度函数,我们不禁要问,Γ(a+b)Γ(a)Γ(b) 是怎么来的,还有既然是一种分布,是否符合归一化的要求,即: ∫10Beta(μ|a,b)dμ=1 通过后续的求解我们将发现,这两者其实是同一个问题,即...

    1. Γ(a+b)Γ(a)Γ(b):归一化系数

    Beta(μ|a,b)=Γ(a+b)Γ(a)Γ(b)μa1(1μ)b1

    面对这样一个复杂的概率密度函数,我们不禁要问,Γ(a+b)Γ(a)Γ(b) 是怎么来的,还有既然是一种分布,是否符合归一化的要求,即:

    10Beta(μ|a,b)dμ=1

    通过后续的求解我们将发现,这两者其实是同一个问题,即正是为了使得 Beta 分布符合归一化的要求,才在前面加了 Γ(a+b)Γ(a)Γ(b),这样复杂的归一化系数。

    为了证明:

    10Beta(μ|a,b)=110Γ(a+b)Γ(a)Γ(b)μa1(1μ)b1dμ10μa1(1μ)b1dμ=Γ(a)Γ(b)Γ(a+b)

    进一步,根据 Γ(x)=0ettx1dt 的定义,我们首先来计算(令 t=x+y):

    Γ(a)Γ(b)======0exxa1dx0eyyb1dy0xa1{xet(tx)b1dt}dxtx0et{t0xa1(tx)b1dx}dtx=tμ0et{10(tμ)a1(ttμ)b1tdμ}dt0etta+b1dt10μa1(1μ)b1dμΓ(a+b)10μa1(1μ)b1dμ

    因此:

    10μa1(1μ)b1dμ=Γ(a)Γ(b)Γ(a+b)

    2. 期望与方差的计算

    首先来看期望:

    E(μ)====10μΓ(a+b)Γ(a)Γ(b)μa1(1μ)b1dμΓ(a+b)Γ(a)Γ(b)10μa+11(1μ)b1dμΓ(a+b)Γ(a)Γ(b)Γ(a+1)Γ(b)Γ(a+1+b)aa+b

    计算方差之前,首先计算二阶矩:

    E(μ2)=Γ(a+b)Γ(a)Γ(b)Γ(a+2)Γ(b)Γ(a+2+b)=a(a+1)(a+b)(a+b+1)

    因此方差:

    var[μ]=E(μ2)E2(μ)=ab(a+b)2(a+b+1)

    转载于:https://www.cnblogs.com/mtcnn/p/9421299.html

    展开全文
  • 泊松分布

    千次阅读 2021-01-17 09:24:57
    要做到这一点,你需要先计算这一令人兴奋的成就发生的概率,但你不知道怎么做。 在世界上有许多场景,其中存在某个随机事件的已知概率,企业希望发现该事件在未来发生的概率大于或小于这个概率。例如,已经知道自己...

    一个故事:你已经做了10年的自由职业者了。到目前为止,你的平均年收入约为8万美元。今年,你觉得自己陷入了困境,决定要达到6位数。要做到这一点,你需要先计算这一令人兴奋的成就发生的概率,但你不知道怎么做。

    在世界上有许多场景,其中存在某个随机事件的已知概率,企业希望发现该事件在未来发生的概率大于或小于这个概率。例如,已经知道自己平均销售额的零售商所有者会试图猜测他们在黑色星期五或双十一等特殊日子能多赚多少钱。这将帮助他们储存更多的产品,并相应地管理他们的员工。

    在这篇文章中,我们将讨论用于模拟上述情况的泊松分布背后的理论,如何理解和使用它的公式,以及如何使用Python代码来模拟它。

    离散型概率分布

    这篇文章假设你对概率有一个基本的了解。在我们开始真正的文章之前,我们将建立一些对离散概率分布的理解。

    首先,让我们定义离散的含义。在描述统计学中,离散数据是通过计数记录或收集的任何数据,即整数。例如考试分数、停车场里的汽车数量、医院里的分娩数量等。

    然后,有一些随机实验会产生离散的结果。例如,抛硬币有两种结果:正面和反面(1和0),掷骰子有6种离散结果,以此类推。如果用一个随机变量X来存储离散实验的可能结果,那么它将具有离散概率分布。

    概率分布记录了随机实验的所有可能结果。

    作为一个简单的例子,让我们来构建一次抛硬币的分布:

    这很容易。如果我们想以编程的方式记录这个分布,它应该是Python列表或Numpy数组的形式:

    然而,你可以想象,对于有许多可能结果的大型实验,用这种方法建立分布并找到概率是不可能的。值得庆幸的是,每个概率分布都有自己的公式来计算任何结果的概率。对于离散概率分布,这些函数称为概率质量函数(PMF)。

    泊松分布

    我们将通过一个案例来开始理解泊松分布。假如你真的很喜欢在医院里看新生儿。根据你的观察和报告,你知道医院平均每小时出生6个新生儿。

    你发现你明天要出差,所以在去机场之前,你想最后一次去医院。因为你要离开好几个月,你想看到尽可能多的新生儿,所以你想知道在起飞前一小时是否有机会见到10个或更多的婴儿。

    如果我们把观察新生儿作为一个随机实验,结果将遵循经典的泊松分布。原因是它满足泊松分布的所有条件:

    有一个已知的事件速率:平均每小时有6个新生儿

    事件是独立发生的:1婴儿的出生并不影响下一个婴儿的出生时间

    已知的出生率随时间是不变的:平均每小时婴儿的数量不随时间变化

    两件事不会在同一时刻发生(每个结果都是离散的)

    泊松分布具有许多重要的业务含义。企业通常使用他来预测某一天的销售额或客户数量,因为他们知道每天的平均价格。做出这样的预测有助于企业在生产、调度或人员配备方面做出更好的决策。例如,库存过多意味着销售活动减少,或者没有足够的商品意味着失去商机。

    简而言之,泊松分布有助于发现事件在固定时间间隔内发生的概率大于或小于已经记录的速率(通常表示为λ(lambda))。

    其概率质量函数为:

    这个公式的字母含义如下:

    1. k是成功的次数(期望发生的次数)
    2. λ是给定的速率
    3. e为欧拉数,e = 2.71828…
    4. k !是k的阶乘吗

    使用这个公式,我们可以求出看到10个新生儿知道平均出生率为6的概率:

    不幸的是,只有大约4%的几率能看到10个孩子。

    我们不会详细讲解这个公式是如何推导出来的,但如果你感兴趣,请观看可汗学院的视频。

    还有一些要点你必须记住。即使有一个已知的速率,它只是一个平均值,所以事件的时间可能是完全随机的。例如,你可以观察两个背靠背出生的婴儿,或者你可能会为下一个婴儿等待半个小时。

    而且,在实践中,λ的速率可能不总是恒定的。这甚至适用于我们的新生儿实验。即使这个条件不成立,我们仍然可以认为分布是泊松分布,因为泊松分布足够接近,可以模拟情况的行为。

    模拟泊松分布

    利用numpy从泊松分布中模拟或抽取样本非常容易。我们首先导入它,并使用它的随机模块进行模拟:

    import numpy as np
    

    从泊松分布中提取样本,我们只需要速率参数λ。我们把它插入np,随机的。泊松函数,并指定样本个数:

    poisson = np.random.poisson(lam=10, size=10000)
    

    这里,我们模拟了一个速率为10的分布,有10k个数据点。为了看到这个分布,我们将绘制其PMF的结果。虽然我们可以手工完成,但已经有一个非常好的包叫empiricaldist,由艾伦·b·唐尼(Allen B. Downey)撰写,他是《ThinkPython》(ThinkPython)和《ThinkStats》(ThinkStats)等著名著作的作者。我们将安装并导入其Pmf函数到我们的环境中:

    from empiricaldist import Pmf  # pip install empiricaldist
    

    Pmf有一个名为from_seq的函数,它接受任何分布并计算Pmf:

    poisson = np.random.poisson(lam=10, size=10000)
    pmf_poisson = Pmf.from_seq(poisson)
    pmf_poisson
    

    回想一下,PMF显示了每个唯一结果的概率,所以在上面的结果中,结果被作为指数和概率下的概率给出。让我们使用matplotlib来绘制它:

    # Create figure and axes objects
    fig, ax = plt.subplots(figsize=(20, 10))
    
    # Plot the PMF
    ax.plot(pmf_poisson, marker='.')  # label each data point with a dot
    
    # Labelling
    ax.set(title='Probability Mass Function of Poisson Distribution',
           ylabel='P (X = x)', xlabel='Number of events')
    
    plt.show();
    

    正如预期的那样,最高的概率是均值(速率参数,λ)。

    现在,让我们假设我们忘记了泊松分布的PMF公式。如果我们做观察新生儿的实验,我们如何求出看到10个新生儿而比率为6的概率呢?

    首先,我们用给定的速率作为参数来模拟完美泊松分布。同时,为了获得更好的精度,我们会绘制大量的样本:

    child_births = np.random.poisson(lam=6, size=1000000)
    

    我们对一个速率为6,长度为100万的分布进行抽样。接下来,我们看看他们中有多少人有10个孩子:

    births_10 = np.sum(child_births == 10)
    
    >>> births_10
    41114
    

    所以,我们在41114个试验中观察了10个婴儿(每个小时可以考虑有一个试验)。然后,我们用这个数除以样本总数:

    >>> births_10 / 1e6
    
    0.041114
    

    如果您回想一下,使用PMF公式,结果是0.0413,我们可以看到我们手工编写的解决方案非常接近。

    结论

    关于泊松分布仍有许多值得探讨的地方。我们讨论了这个词的基本用法及其在商业世界中的含义。泊松分布还有一些有趣的地方比如它和二项分布的关系。

    作者:Bex T.

    https://towardsdatascience.com/how-to-use-poisson-distribution-like-you-know-what-you-are-doing-c095c1e477c1

    界中的含义。泊松分布还有一些有趣的地方比如它和二项分布的关系。

    作者:Bex T.

    deephub翻译组

    展开全文
  • hyperloglog基数统计原理分析 从LogLog说起,其算法...hyperloglog将需要被存储的内容计算得到随机分布的hash编码(随机分布128位的hash编码可模拟伯努利过程),那么相同的内容计算的哈希编码相同,这么就实现了去...

    hyperloglog基数统计原理分析

    从LogLog说起,其算法完整的基数计算公式如下:
    在这里插入图片描述
    那么hyperloglog与loglog不同的是采取调和平均数,计算公式:
    在这里插入图片描述

    问题1:hyperloglog怎么去重,而避免重复计数?

    hyperloglog将需要被存储的内容计算得到随机分布的hash编码(随机分布128位的hash编码可模拟伯努利过程),那么相同的内容计算的哈希编码相同,这么就实现了去重。

    问题2:伯努利过程是通过大量的实验策略,hyperloglog小数据量存储精确度误如何保证低?

    Hyperloglog调和平均数,调和平均数保证了,平均值会总体向小值偏近。
    举个例子:有4个桶,每个桶有2个bit位。那么有字符串计算hash值后有4位:10001,取低二位被分配到第1个桶,取高3位第一次出现1的位置为第3位。
    那么,当content=1,此时根据loglog,平均数计算: 2^((3+0+0+0)/4)=1.7,DVLL=141.7=7个计数。
    根据hyperloglog,调和平均数计算:
    4/(1/20+1/20+1/20+1/23)=4/3.2=1.3,DVHLL=4*1.3=5个计数。
    即使这样,那么显然精度也不好。其实,数据量是有一个阈值规则,使用LinerCount计数:
    if DV < (5 / 2) * m:
    DV = m * log(m/V)

    v代表的是空桶数量,m为桶数。小数据量必然造成大量空桶。

    此时,(5/2)4=10,显然,计数值 < 10,这时会改为根据LinerCount算法计数,那么修正后:
    DDHLL=4
    ln(4/3)=4*0.12=1.1,四舍五入计数为1。

    问题3:hyperloglog海量数据计算?

    在伯努利过程实验中,其概率分布为0-1分布。伯努利过程的0-1分布事件发生与不发生的概率都为1/2。使用随机分布特征表现良好的MurmurHash算法计算得出二进制编码模拟伯努利过程。次数足够多实验后(超出数据量阈值),最大似然估计可以的得出伯努利过程次数n=2^k_max (k_max最大一次的重试数值)

    优质文章参考:
    http://www.rainybowe.com/blog/2017/07/13/%E7%A5%9E%E5%A5%87%E7%9A%84HyperLogLog%E7%AE%97%E6%B3%95/index.html
    https://www.jianshu.com/p/55defda6dcd2

    展开全文
  • 定义:n个独立的是/非试验中成功次数k的离散概率分布,每次实验成功的概率为p,记作B(n,p,k)。 概率公式:P(ξ=K)= C(n,k) * p^k * (1-p)^(n-k) 其中C(n, k) = (n-k) !/(k! * (n-k)!),记作ξ~B(n,p),期望:Eξ=np
  • 文章目录怎么计算P值单尾与双尾的P值抽样分布单一分布中抽样两个独立分布中抽样 怎么计算P值 抛两次硬币,计算两次都为正(H)的概率 计算的P值由三个部分组成: 在观察到,在随机事件中发生的概率 与之概率相等的...
  • 计算对一个数组,放回随机抽取n次,输出n次抽取的和的所有可能,已经统计所有和的出现次数与概率。 举个小例子,我们对从0,1,2中抽取两次,来统计前后两次和的所有可能已经结果,下面我们画一个图。我们可以看到两次...
  • 最近的工作中有一个需求就是,给我一批历史的数据,需要我基于统计分布模型来去拟合一下原始的数据,挖掘出来数据最有可能的统计分布怎么样的,为后面的参数区间计算或者是概率计算提供一个指导。 下面是我手...
  • #计算摇臂选择的概率分布 def probability(self,index): self.a = 0 for i in range(bandit.size): self.a += np.e ** (self.values[i] / self.temperature) return (np.e ** (self.values[index] / self...
  • 怎么用matlab剔除数据的异常值(3σ准则)

    万次阅读 热门讨论 2020-06-25 10:15:05
    3σ准则又称为拉依达准则,它是先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间, 认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以...
  • (5.3.1)两种离散概率分布 (5.3.2)计算分布之间的交叉熵 (5.3.3)计算分布与自身之间的交叉熵 (5.3.4)使用KL散度计算交叉熵 (5.4)交叉熵作为损失函数 (5.4.1)计算类别标签的熵 (5.4.2)计算类标签
  •  AM模型需要解决的问题:输入句子单词注意力分配概率分布怎么计算?如(句子:Tom chase Jerry,翻译Tom时的概率分布值为:(Tom,0.6)、(chase,0.2)、(Jerry,0.2))。  使用decoder输出i−1i-1i−1时刻...
  • 神经网络原理

    2021-06-16 10:12:52
    神经网络原理 神经网络的主要用途在于分类,...如果将分类问题中“一个样例属于某一个类别”看成一个概率事件,那么训练数据的正确答案就符合一个概率分布。如何将神经网络前向传播得到的结果也变成概率分布呢?Softma
  • 2.3可视化三、数据的集中度四、数据的离散度五、数据的相关性5.1案例5.2散点图5.3计算相关系数六、总结【概率与概率分布】一、描述性统计的局限性二、两种主要的数据类型三、概率四、应用4.1从分类型数据来看概率的...
  • 随机抽奖

    2020-01-16 20:03:23
    /** * 经常要从多个选项中... * 实现的基本思路是,使用概率中的累计概率分布。 * * 以上面的例子来说,计算每个选项的累计概率值, * 首先计算总的权重,这里正好是100,每个选项的概率是70%、20%和10%,累计...
  • Mathematica12 学习笔记五学习课程学习笔记截图 学习课程 讲师:Douglas J.Tobias 课程内容:学习运用Mathematica...学习了统计学的一些基础知识,怎么处理数据:直方图、概率分布、概率密度分布、均值、方差、标...
  • 3 ,怎么样得到 : 将计算公式,带入到误差公式 4 ,参数解释 : exp :e ,自然对数 θ : 参数矩阵 sigma : 标准差 理论知识 : 思考结论 : 2 ,似然函数,意义 : 当前样本的概率 真实值函数 : 个体概率 ...
  • 直方图均衡化理解直方图均衡化引入怎么实现直方图均衡化几个基础概念名词 ...将分布在0-255之间的灰度值的个数类比为概率论中的概率密度相关内容进行计算。并且先将考虑连续的概率密度方式进行计算,然后再推导离散的概
  • 分位数和箱线图

    千次阅读 2019-05-30 21:10:20
    简单说就是指将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。 Q1-数据中有25%个数据都比它小,第一分位数 Q2-中位数 Q3-数据中有75%个数据都比它小,第三...
  • 交叉熵代表的是不同概率分布的相似情况,他的计算方法如下所示:其中y代表的是每种类比出现的概率 cross\_entropy = -\sum y * log(y) 对于深度学习中的分类问题来说,当分类越准确的时候,上述值就越小。 但是对于...
  • 粒子滤波

    2018-01-02 20:55:54
    假设我们能从一个目标概率分布p(x)中采样到一系列的样本(粒子),(至于怎么生成服从p(x)分布的样本,这个问题先放一放),那么就能利用这些样本去估计这个分布的某些函数的期望值。譬如:     上面的式...
  • 假设我们能从一个目标概率分布p(x)中采样到一系列的样本(粒子),(至于怎么生成服从p(x)分布的样本,这个问题先放一放),那么就能利用这些样本去估计这个分布的某些函数的期望值。譬如:     上面的式子其实...
  • 假设我们能从一个目标概率分布p(x)中采样到一系列的样本(粒子),(至于怎么生成服从p(x)分布的样本,这个问题先放一放),那么就能利用这些样本去估计这个分布的某些函数的期望值。譬如:     上面的式...
  • 贝叶斯算法

    2018-10-10 17:28:35
    问题来了,如果不知道学校总人数U,怎么处理,贝叶斯公式就是说了概率计算与总人数U值无关,分子分母均有,被约掉 由上可以推导出贝叶斯公式: 实例一:单词纠错,纠正为那个单词的问题 .....
  • 大概了解交叉熵

    2018-12-16 21:43:53
    交叉熵(Cross Entropy)是Shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。 公式为:-(y*Ln(a)+(1-y)Ln(1-a)),其中y为期待值,a为逻辑回归的计算值 我们用一组数...
  • 看看这个怎么计算百万年薪的概率 参见知乎:https://www.zhihu.com/people/matongxue/activities 二.中心极限定理 在给定任意分布的数据中随机抽取n个抽样,共抽取m组,m组的均值呈现正态分布,...
  • hashmap小结

    2021-03-03 09:59:02
    问题: 1.hashmap底层实现原理?... 计算key的hashcode(hash值计算采用的是高16位和hah与或^操作,为了让高16位也参与hash算法,目的是为了让node分布均匀,减少hash冲突的概率), 1.计算key在tabl...
  • 对于给定数据集,首先会根据特征条件独立的假设计算输入输出联合概率分布,然后基于此模型,对给定的输入,利用贝叶斯定理求出后验概率最大化输出。这里需要说明的是,朴素贝叶斯算法的前提条件是特征之间条件独立,...
  • 信息矩阵在图优化slam里面的作用

    千次阅读 2019-09-24 00:02:36
    因为信息矩阵在计算条件概率分布明显比协方差矩阵要方便,显然,协方差矩阵要求逆矩阵,所以时间复杂度是O(n^3). 之后我们可以在图优化slam中可以看到,因为图优化优化后的解是无穷多个的,比如说x...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

概率分布怎么计算