当前位置: 首页 > article >正文

【2024高教社杯全国大学生数学建模竞赛】B题完整解析(含论文、代码分享)

目录

  • 1问题重述
    • 1.1问题背景
    • 1.2研究意义
    • 1.3具体问题
  • 2 总体分析
  • 3 模型假设
  • 4 符号说明
  • 5 模型的建立与求解
  • 5.1问题一模型的建立与求解
    • 5.1.1问题的具体分析
      • 5.1.2模型的准备
      • **5.1.3模型的建立与求解**
  • 代码
    • 第一问
  • 完整论文&代码

1问题重述

1.1问题背景

1.2研究意义

1.3具体问题

2 总体分析

3 模型假设

4 符号说明

5 模型的建立与求解

5.1问题一模型的建立与求解

5.1.1问题的具体分析

问题一要求制定一个抽样检测计划,以决定是否接受一批零配件,基于供应商所声称的次品率。关键在于如何确定适当的样本量和决策标准,以最小化检测成本,同时确保决策的高可靠性。

在具体分析中,企业面临的主要挑战是在95%的置信水平下拒收次品率超过标称值的零配件,在90%的置信水平下接受次品率不超过标称值的零配件。这涉及到统计假设检验,特别是需要控制第一类错误(错误地拒绝良品)和第二类错误(错误地接受次品)的概率。
次品率的抽样检测通常采用二项分布进行建模,每个零配件要么合格,要么不合格,完全符合二项分布的特性。基于供应商提供的次品率标称值,可以设定零假设(次品率小于等于标称值)和备择假设(次品率大于标称值),并采用z检验或t检验等统计方法来决定是否拒收整批零配件。

在模型构建方面,首先需要定义这些假设,然后是确定样本量,这一步骤至关重要,以确保检验的功效,即最小化第一类和第二类错误的概率。这可以通过设定错误的容忍界限(例如α=5%,β=10%)和进行功效分析来实现。接着,需要设定决策规则,即根据样本次品率与临界值的比较结果来接受或拒绝零假设。

求解模型时,会计算在给定置信水平下的临界值,如果样本次品率大于此临界值,则拒绝零假设,否则接受。可以通过模拟抽样过程,计算样本次品率,并根据这些数据与临界值比较来确定是否接受或拒绝。这种方法可以为企业提供一个科学且经济有效的抽样检测方案,帮助企业在保证产品质量的同时控制相关成本。

5.1.2模型的准备

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.1.3模型的建立与求解

在这里插入图片描述

代码

第一问

from scipy.stats import binom
import matplotlib.pyplot as plt
from matplotlib import rcParams

rcParams['font.sans-serif'] = ['SimHei']
rcParams['axes.unicode_minus'] = False

def calculate_sample_size_and_visualize(p0, beta_accept, beta_reject):
    # 估计样本量的合理初始范围
    n_start = 30  # 假设样本量从30开始
    n_max = 500  # 最大样本量限制为500

    sample_sizes = []
    reject_probabilities = []
    accept_probabilities = []
    sample_size_found = None

    for n in range(n_start, n_max, 10):  # 每次增加10个样本
        # 计算在p0条件下的拒收和接收概率
        p_reject = binom.cdf(int(n * p0), n, p0)
        p_accept = 1 - binom.cdf(int(n * p0), n, p0)

        # 存储每个样本量的结果,用于可视化
        sample_sizes.append(n)
        reject_probabilities.append(p_reject)
        accept_probabilities.append(p_accept)

        # 判断是否满足条件
        if p_reject <= beta_reject and p_accept >= beta_accept and sample_size_found is None:
            sample_size_found = n  # 记录找到的最小样本量

    # 如果没有找到符合条件的样本量,返回最大样本量
    if sample_size_found is None:
        sample_size_found = n_max

    # 返回结果及用于可视化的数据
    return sample_size_found, sample_sizes, reject_probabilities, accept_probabilities


# 参数设置
p0 = 0.10  # 标称次品率
beta_accept = 0.90  # 90%接收概率
beta_reject = 0.05  # 5%拒收概率

# 计算最小样本量并获取可视化数据
sample_size, sample_sizes, reject_probs, accept_probs = calculate_sample_size_and_visualize(p0, beta_accept,
                                                                                            beta_reject)



# 可视化输出
plt.figure(figsize=(10, 6))

# 拒收概率曲线
plt.plot(sample_sizes, reject_probs, label="拒收概率", color='red', marker='o')
# 接收概率曲线
plt.plot(sample_sizes, accept_probs, label="接收概率", color='blue', marker='x')

# 标注最小抽样量
plt.axvline(x=sample_size, color='green', linestyle='--', label=f"最小抽样量 = {sample_size}")

# 图表标题和标签
plt.title('样本量与拒收/接收概率的关系')
plt.xlabel('样本量')
plt.ylabel('概率')
plt.legend()

# 显示网格
plt.grid(True)

# 显示图表
plt.show()

完整论文&代码

在这里插入图片描述
在这里插入图片描述

22页,18822字,完整论文与代码请看下方!


http://www.kler.cn/a/294249.html

相关文章:

  • 微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践
  • 树莓派(Raspberry Pi)Pico 2 C_C++开发环境配置(Docker+SDK)
  • Zotero 6.0 安装包及安装教程
  • C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
  • 【HarmonyOS NEXT】一次开发多端部署(以轮播图、Tab栏、列表为例,配合栅格布局与媒体查询,进行 UI 的一多开发)
  • MySQL系列之如何在Linux只安装客户端
  • 7个 C# 高阶用法详解:从基础到实战
  • 微信小程序实践案例
  • Kafka Broker处于高负载状态(例如消息处理量大或系统资源不足),无法及时响应消费者的请求
  • 智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1
  • 机械学习—零基础学习日志(概率论总笔记4)
  • JAVA基础:JVM中方法的执行过程和方法的重载,递归,可变参数的含义
  • MySQL——视图(一)视图概述
  • 59.以太网数据回环实验(2)硬件资源梳理及系统框图
  • 桶排序【算法 14】
  • OpenCV结构分析与形状描述符(8)点集凸包计算函数convexHull()的使用
  • java设计模式day02--(创建型模式:工厂模式、原型模式、建造者模式)
  • 【python】python指南(三):使用正则表达式re提取文本中的http链接
  • 【Netty】netty中都是用了哪些设计模式
  • BIO、NIO、AIO 有什么区别?
  • 进程间通信-进程池
  • 《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 09部署OSPF
  • 前向代理和反向代理的区别是什么?
  • JWT详解:一种轻量级的身份验证和授权机制
  • 2024年AI芯片峰会——边缘端侧AI芯片专场
  • 力扣172.阶乘后的0