python数学小实验(5)——掷硬币出现连续正面的概率

通过Python模拟实验,探讨连续抛掷100次硬币中出现连续正面超过设定次数的概率,例如当设定次数为5时,概率约为97.27%。同时,展示如何获取连续出现次数的概率分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python数学小实验(5)——掷硬币出现连续正面的概率

连续扔100次硬币,出现连续正面或连续反面大于n次的概率,例如n=5时,有多大的概率?

import numpy as np 

NUM_EXER = 10000
count_max = 0

for i in range(NUM_EXER):  
    L = []
    for i in range(100):   #throw coins
        if np.random.rand() > 0.5:
            L.append(1)
        else:
            L.append(0)

    C = []
    count = 1
    L.append(-1)    #sentinel node
    for i in range(len(L)-1):
        if L[i+1] == L[i]:
            count +=1
        else:
            if count>1:
                C.append(count)
            count = 1
    if np.max(C) >= 5:
        count_max +=1

print(count_max/NUM_EXER)

输出:0.9727

进一步地,可以获得连续出现次数的概率分布情况。

### 似然度的定义及其在统计学中的概念 #### 什么是似然度? 似然度(Likelihood)是一个用于描述模型参数与观察数据之间关系的重要工具。它并不直接表示事件发生的概率,而是衡量某一组特定参数使已知观测数据出现的可能性大小[^1]。 #### 数学表达形式 设有一组独立同分布的样本 \(x_1, x_2, \ldots, x_n\) 来自某总体分布,并假设该分布由未知参数 \(\theta\) 描述,则似然函数可以写成如下形式: 对于 **离散型随机变量**, \[ L(\theta | x_1, x_2, \ldots, x_n) = P(x_1|\theta)P(x_2|\theta)\cdots P(x_n|\theta), \] 即为各单个样本发生概率的乘积[^2]。 而对于 **连续型随机变量**,由于单一取值的概率通常为零,因此我们采用的是对应于每一点处的概率密度函数 (PDF),此时有: \[ L(\theta | x_1, x_2, \ldots, x_n) = f_{X}(x_1;\theta)f_X(x_2;\theta)\cdots f_X(x_n;\theta). \] 这里需要注意区分概率和似然这两个术语的意义——虽然它们都涉及到了可能性这一主题,但前者关注的是固定条件下不同结果的发生几率;后者则是在既定的结果下来评估不同的条件设置哪一种更有可能引发这样的结果。 #### 应用场景举例说明 考虑投一枚硬币的情况作为例子来进一步解释上述理论框架的应用方式。如果我们的目标是要判断这枚硬币是否公平(正面朝上与反面朝上的机会均等),那么就可以通过收集多实验得到的一系列正反两方面记录构建相应的似然方程并求解最优解从而得出结论。 ```python import numpy as np from scipy.optimize import minimize_scalar def likelihood(theta, data): p_heads = theta n_heads = sum(data) n_tails = len(data)-n_heads return -(np.log(p_heads)*n_heads + np.log(1-p_heads)*n_tails) data = [0,1,0,1,1] # Example dataset where '1' represents heads and '0' tails. result = minimize_scalar(lambda t: likelihood(t,data)) print(f"The estimated probability of getting a head is {round(result.x,4)}") ``` 此脚本演示了如何利用极大化似然估计法去估算二项式试验的成功率\(p\)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值