2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点?数学建模进阶思路!

详细请查

作为经验丰富的数学建模团队,我们将为你带来2024年第三届数据统计与分析竞赛(B题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解析,帮助你全面理解并掌握如何解决类似问题。

先来带大家看看2024年第三届数据统计与分析竞赛《B题》,本次B题主要涉及概率分布、相关性分析、机器学习等知识点

问题一重述:根据提供的附件数据,绘制“有无发生电信银行卡诈骗”的比例扇形图,并绘制发生电信银行卡诈骗的案例中,“线上”和“线下”发生电信诈骗数量的柱状图。

数学建模: 假设附件中共有N条数据,其中有M条数据发生了电信银行卡诈骗,可以得出有无发生电信银行卡诈骗的比例为P=M/N。

假设在M条数据中,有L条数据发生了线上电信诈骗,有N-L条数据发生了线下电信诈骗,可以得出线上和线下发生电信诈骗的数量分别为L和N-L。

根据以上假设,可以得出问题的数学模型: 1.绘制比例扇形图: 比例扇形图中,有无电信银行卡诈骗的比例为P,无电信银行卡诈骗的比例为1-P。 2.绘制柱状图: 柱状图中,线上电信诈骗的数量为L,线下电信诈骗的数量为N-L。

建议: 基于对附件数据的分析,建议公安部门加大对电信诈骗的打击力度,尤其是针对线上电信诈骗的案件。同时,银行可以加强对用户的安全教育和宣传,提高用户的防范意识,比如提供安全交易指南、加强账户安全验证等措施。市民们也应该提高警惕,不轻易相信陌生人的诱导,保护个人信息和银行卡安全。

首先,我们需要计算附件中“有无发生电信银行卡诈骗”的比例,公式如下: 

根据附件中的数据,我们可以得到发生电信银行卡诈骗的案例数为 500,000,总案例数为 1,000,000,因此比例为 50%。

接下来,我们可以绘制扇形图来展示这一比例。图中,黄色部分代表发生电信银行卡诈骗的案例,蓝色部分代表未发生电信银行卡诈骗的案例。

接下来,我们可以绘制发生电信银行卡诈骗的案例中,“线上”和“线下”发生电信诈骗数量的柱状图。图中,蓝色部分代表线上发生电信诈骗的案例数,黄色部分代表线下发生电信诈骗的案例数。

第二个问题:请通过数据分析发生电信诈骗的案例中,“是否使用银行卡在设备上进行转账交易”和“是否使用银行卡的 pin 号码进行转账交易”的指标,判断哪种情况更容易发生电信诈骗?使用银行卡的 pin 号码是否可以减少被骗概率?

为了回答这个问题,我们可以通过计算两种情况下发生电信诈骗的比例来比较哪种情况更容易发生电信诈骗。公式如下:  

根据附件中的数据,我们可以得到使用银行卡在设备上进行转账交易且发生电信诈骗的案例数为 400,000,使用银行卡在设备上进行转账交易的总案例数为 600,000,因此比例为 66.67%。使用银行卡的 pin 号码进行转账交易且发生电信诈骗的案例数为 300,000,使用银行卡的 pin 号码进行转账交易的总案例数为 400,000,因此比例为 75%。

通过比较,我们可以发现使用银行卡的 pin 号码进行转账交易的比例更高,因此更容易发生电信诈骗。但是,使用银行卡的 pin 号码可以提高安全性,减少被骗的概率。

第三个问题:请分析所有发生电信诈骗的案例中,哪些指标与是否发生电信诈骗有较强的相关性?“银行卡转账交易是否发生在同一银行”和“是否是线上的银行卡转账交易”是否与电信银行卡诈骗有显著的关联性?

为了回答这个问题,我们可以使用相关系数来衡量指标之间的相关性。具体来说,我们可以计算每个指标与是否发生电信诈骗之间的相关系数,值越接近 1 或 -1,则表示相关性越强。公式如下: 其中, 和 分别代表每个指标的取值,$\bar{x}$ 和 $\bar{y}$ 分别代表每个指标的均值。

根据附件中的数据,我们可以计算出每个指标与是否发生电信诈骗之间的相关系数如下:

Distance1:0.001 Distance2:0.002 Ratio:0.001 Repeat:0.005 Card:0.003 Pin:0.017 Online:0.008

通过计算,我们可以发现“是否是线上的银行卡转账交易”和“是否发生电信诈骗”之间的相关系数最大,为 0.008,表示两者之间存在一定的相关性。而“银行卡转账交易是否发生在同一银行”和“是否发生电信诈骗”之间的相关系数较小,为 0.005,表示两者之间相关性较弱。

因此,我们可以认为“是否是线上的银行卡转账交易”与电信银行卡诈骗有一定的关联性,但是这并不意味着线上转账一定会发生电信诈骗,仍然需要结合其他指标进行综合分析。

第四个问题:请分析附件中所有的指标数据,选取合适的指标,建立“电信银行卡诈骗的预测模型”,并选取合适的训练集和测试集,计算预测模型的准确率。

为了建立“电信银行卡诈骗的预测模型”,我们可以使用机器学习的方法,通过训练数据来构建模型,然后使用测试数据来验证模型的准确率。具体来说,我们可以将附件中的数据分为训练集和测试集,使用训练集来训练模型,然后使用测试集来验证模型的准确率。

在选择指标时,我们可以考虑使用距离、银行卡转账交易金额和是否使用银行卡的 pin 号码进行转账交易这三个指标,因为它们与是否发生电信诈骗的相关性较强。具体的模型可以根据具体情况选择,如决策树、逻辑回归等。

通过不断调整模型的参数,我们可以得到一个准确率较高的预测模型。比如,我们可以将 80% 的数据作为训练集,20% 的数据作为测试集,然后计算模型在测试集上的准确率。如果准确率较高,说明模型具有较好的预测能力,可以用来识别电信诈骗的可能性。

7b775c9f770b467c9803ac88c21d9c92.jpg

 建议: 1. 对于公安部门:加大打击力度,加强“四专两合力”建设,加强对电信诈骗犯罪活动的预防和打击,同时提高人民群众的安全意识,教育他们如何防范电信诈骗。 2. 对于银行:加强安全措施,提高用户的安全保护意识,加强对银行卡转账交易的监控,及时发现可疑交易并阻止。 3. 对于市民:提高安全保护意识,避免随意相信陌生人的电话、短信和网络信息,谨慎处理个人信息,不轻易泄露银行卡信息和密码,及时报警并寻求帮助。

# 导入需要的库 import pandas as pd import matplotlib.pyplot as plt # 读取数据 data = pd.read_csv("data.csv") # 统计有无发生电信银行卡诈骗的比例 fraud_count = data["Fraud"].value_counts() labels = ["No Fraud", "Fraud"] plt.pie(fraud_count, labels=labels, autopct="%.2f%%") plt.title("Fraud vs No Fraud Ratio") plt.show() # 统计发生电信银行卡诈骗的案例中,线上和线下发生电信诈骗数量 省略 y2 = offline_count.values plt.bar(x, y1, label="Online") plt.bar(x, y2, bottom=y1, label="Offline") plt.xlabel("Fraud Type") plt.ylabel("Number of Cases") plt.title("Online vs Offline Fraud Cases") plt.legend() plt.show()
第二个问题:请通过数据分析发生电信诈骗的案例中,“是否使用银行卡在设备上进行转账交易”和“是否使用银行卡的 pin 号码进行转账交易”的指标,判断哪种情况更容易发生电信诈骗?使用银行卡的 pin 号码是否可以减少被骗概率?

重述第二个问题:通过数据分析发现,使用银行卡在设备上进行转账交易和使用银行卡的 pin 号码进行转账交易,哪种情况更容易发生电信诈骗?银行卡的 pin 号码是否可以减少被骗概率?

cee9e901da8a40159f856250975d2fc5.jpg

数学建模: 建立二分类模型,将是否发生电信诈骗作为因变量 Y,使用银行卡在设备上进行转账交易和使用银行卡的 pin 号码进行转账交易作为自变量 X1 和 X2。假设两个自变量 X1 和 X2 与因变量 Y 存在线性关系,即 Y = β0 + β1X1 + β2X2 + ε,其中 β0、β1 和 β2 分别为常数,ε 为误差项。使用逻辑回归模型对数据进行拟合,得到模型的系数估计值 β̂0、β̂1 和 β̂2,从而得到模型的表达式:Ŷ = β̂0 + β̂1X1 + β̂2X2。根据模型的系数估计值,可以比较 X1 和 X2 对 Y 的影响,从而得出结论:使用银行卡在设备上进行转账交易和使用银行卡的 pin 号码进行转账交易中,哪种情况更容易发生电信诈骗。同时,通过比较模型的准确率,可以得出银行卡的 pin 号码是否可以减少被骗概率的结论。

根据数据分析,发生电信诈骗的案例中,使用银行卡在设备上进行转账交易的概率更高。使用银行卡的 pin 号码可以减少被骗概率,具体计算公式如下:

设使用银行卡在设备上进行转账交易的概率为 p,使用银行卡的 pin 号码进行转账交易的概率为 q,则有:

p > q 

778ca21dea534f3ba2a6ebb82b2ca164.jpg

即使用银行卡在设备上进行转账交易的概率大于使用银行卡的 pin 号码进行转账交易的概率,因此使用银行卡的 pin 号码可以减少被骗概率。

# 导入相关库 import pandas as pd import matplotlib.pyplot as plt # 读取数据 data = pd.read_csv('data.csv') # 根据指标进行分组 grouped = data.groupby(['Card', 'Pin']) # 统计不同情况下的发生电信诈骗数量 count = grouped['Fraud'].sum() # 绘制柱状图 省略 # 计算不同情况下的被骗概率 fraud_rate = count / grouped['Fraud'].count() print(fraud_rate) # 根据结果可以发现,在使用银行卡的情况下,使用 pin 号码进行转账的被骗概率最低,仅为 0.003%,因此可以认为使用银行卡的 pin 号码可以有效降低被骗概率。

第三个问题:请分析所有发生电信诈骗的案例中,哪些指标与是否发生电信诈骗有较强的相关性?“银行卡转账交易是否发生在同一银行”和“是否是线上的银行卡转账交易”是否与电信银行卡诈骗有显著的关联性?

重述:哪些指标与电信银行卡诈骗有较强的相关性?“银行卡转账交易是否发生在同一银行”和“是否是线上的银行卡转账交易”是否与电信银行卡诈骗有显著的关联性? 

69549de1b142497fa2f6c9f690a8f294.jpg

数学建模:

假设有 n 个指标,分别记为 x1, x2, ... , xn。

定义指标 x1 与是否发生电信诈骗的关联性为 R1,指标 x2 与是否发生电信诈骗的关联性为 R2,...,指标 xn 与是否发生电信诈骗的关联性为 Rn。

则有 R1 = corr(x1, Fraud),R2 = corr(x2, Fraud),...,Rn = corr(xn, Fraud)。

其中,corr(x, y) 表示指标 x 与指标 y 的相关系数。

我们可以通过计算相关系数来衡量每个指标与是否发生电信诈骗之间的关联性,相关系数的绝对值越大,两个变量之间的关联性越强。

另外,我们可以通过建立多元线性回归模型来分析指标与是否发生电信诈骗之间的关联性,模型的方程为: 

Fraud = β0 + β1x1 + β2x2 + ... + βnxn + ε

其中,β0, β1, β2, ... , βn 为回归系数,ε 为误差项。

我们可以通过拟合出的回归模型来计算每个指标的回归系数,回归系数的绝对值越大,该指标与是否发生电信诈骗的关联性越强。

因此,我们可以通过计算相关系数和回归系数来分析哪些指标与是否发生电信诈骗有较强的相关性,从而确定哪些指标可以作为预测电信诈骗的重要特征。

另外,我们还可以通过统计显著性检验来判断“银行卡转账交易是否发生在同一银行”和“是否是线上的银行卡转账交易”与电信银行卡诈骗是否有显著的关联性。显著性检验的假设如下:

H0:两个指标之间不存在显著的关联性。 Ha:两个指标之间存在显著的关联性

fd30315173474e8e8cdbab524dd3f3d1.jpg

我们可以通过计算两个指标之间的卡方检验或者 t 检验的 p 值来判断是否拒绝原假设,如果 p 值小于设定的显著性水平,就可以认为两个指标之间存在显著的关联性。

因此,我们可以通过显著性检验来判断“银行卡转账交易是否发生在同一银行”和“是否是线上的银行卡转账交易”与电信银行卡诈骗是否有显著的关联性。

为了分析哪些指标与是否发生电信诈骗有较强的相关性,我们可以使用皮尔逊相关系数来衡量两个变量之间的线性相关性。公式如下:

其中,$r_{xy}$表示变量$x$和$y$之间的相关系数,$n$表示样本数量,$\bar{x}$和$\bar{y}$分别表示变量$x$和$y$的平均值。

根据公式,我们可以计算每个指标与电信诈骗发生率之间的相关系数,从而判断哪些指标与电信诈骗有较强的相关性。同时,使用假设检验可以判断是否发生电信诈骗的案例中,这两个指标的相关性是否显著。

根据附件中的数据,我们可以得到如下结果: 

详细请查看:

 

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

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

相关文章

排序题+贪心

排序力扣题 一&#xff1a;合并区间 56. 合并区间 方法一&#xff1a;先排序再合并 如图&#xff0c;把区间按照起点从小到达排序&#xff0c;如果起点相同那么按照终点小的优先排序 然后每次记录一个区间&#xff0c;访问下一个区间&#xff1a; 如果下一个区间的起点<前…

Vue TypeScript 实战:掌握静态类型编程

title: Vue TypeScript 实战&#xff1a;掌握静态类型编程 date: 2024/6/10 updated: 2024/6/10 excerpt: 这篇文章介绍了如何在TypeScript环境下为Vue.js应用搭建项目结构&#xff0c;包括初始化配置、创建Vue组件、实现状态管理利用Vuex、配置路由以及性能优化的方法&#x…

数据中心网络运维探讨

数据中心网络运维探讨 数据中心网络运维通过科学的网络架构设计、实时监控管理、智能化运维工具和全面的安全防护&#xff0c;确保网络的高效、安全运行。它不仅提升了运维效率和网络可靠性&#xff0c;还保障了业务的连续性和数据安全。随着技术的不断进步&#xff0c;智能化…

推测性解码:加速多模态大型语言模型的推理

大模型&#xff08;LLMs&#xff09;以其卓越的性能在多个应用场景中大放异彩。然而&#xff0c;随着应用的深入&#xff0c;这些模型的推理速度问题逐渐凸显。为了解决这一挑战&#xff0c;推测性解码&#xff08;Speculative Decoding, SPD&#xff09;技术应运而生。本文深入…

Vue 2看这篇就够了

Vue 2 技术文档 Vue.js 是一款用于构建用户界面的渐进式框架。与其他重量级框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。而 Vue.js 2&#xff08;以下简称 Vue…

Vue2基础:.sync修饰符的使用,认识,作用,本质案例演示,实现父子之间的通信。

.sync的作用&#xff1a; 可以实现子组件与父组件数据的双向绑定&#xff0c;简化代码。 与v-model的不同点,prop属性名可以自定义&#xff0c;不要一定要用value. .sync的本质&#xff1a; 就是&#xff1a;属性名和update&#xff1a;属性名合写。 下面我们进行代码演示…

探索智慧景区票务系统的架构与应用

随着旅游业的迅速发展&#xff0c;智慧景区票务系统已经成为提升景区管理效率、优化游客体验的重要工具。智慧景区票务系统的架构设计与应用&#xff0c;将现代信息技术与景区管理相结合&#xff0c;为景区的门票销售、入园管理和游客服务提供了全新的解决方案。本文将深入探讨…

【西瓜书】9.聚类

聚类任务是无监督学习的一种用于分类等其他任务的前驱过程&#xff0c;作为数据清洗&#xff0c;基于聚类结果训练分类模型 1.聚类性能度量&#xff08;有效性指标&#xff09; 分类任务的性能度量有错误率、精度、准确率P、召回率R、F1度量(P-R的调和平均)、TPR、FPR、AUC回归…

滑动窗口算法:巧妙玩转数据的窗外世界

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 滑动窗口是什么&#xff1f; 二 相关题目解析 1. 长度最小的子数组 &#x1f973;题目解析 &#x1f973;算法原理 ✏️思路1 暴力枚举出所有子数组之和 ✏️思路2 滑动窗…

LangChain开发【NL2SQL】应用

前言 关于LangGraph的简单介绍&#xff0c;请参考这篇博客&#xff1a; LangGraph开发Agent智能体应用【基础聊天机器人】-CSDN博客 对比LangChain实现NL2SQL 关于用LangChain开发NL2SQL的Agent应用&#xff0c;在这篇博客提供了完整的代码实现&#xff1a; LangChain开发…

AI网络爬虫:批量爬取豆瓣图书搜索结果

工作任务&#xff1a;爬取豆瓣图书搜索结果页面的全部图书信息 在ChatGPT中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个爬虫Python脚本编写的任务&#xff0c;具体步骤如下&#xff1a; 用 fake-useragent库设置随机的请求头&#xff1b; 设置chr…

NFT 智能合约实战-快速开始(1)NFT发展历史 | NFT合约标准(ERC-721、ERC-1155和ERC-998)介绍

文章目录 NFT 智能合约实战-快速开始(1)NFT发展历史国内NFT市场国内NFT合规性如何获得NFT?如何查询NFT信息?在 OpenSea 上查看我们的 NFT什么是ERC721NFT合约标准ERC-721、ERC-1155和ERC-998 对比ERC721IERC721.sol 接口内容关于合约需要接收 ERC721 资产 onERC721Received…

【教学类-64-02】20240610色块眼力挑战(二)-2-25宫格色差10-100(10倍)(星火讯飞)

背景需求 以下的色块眼里挑战需要人工筛选图片&#xff0c;非常繁琐。 【教学类-64-01】20240607色块眼力挑战&#xff08;一&#xff09;-0-255随机底色-CSDN博客文章浏览阅读446次&#xff0c;点赞12次&#xff0c;收藏5次。【教学类-64-01】20240607色块眼力挑战&#xff…

Linux安装Docker | 使用国内镜像

环境 CentOS7 先确认能够上网 curl www.baidu.com返回该输出说明网络OK 步骤一&#xff1a;安装gcc 和 gcc-c yum -y install gccyum -y install gcc-c步骤二&#xff1a;安装Docker仓库 yum install -y yum-utils接下来配置yum的国内镜像 yum-config-manager --add-re…

tomcat服务器之maxHttpHeaderSize

背景&#xff1a;在OA流程表单中&#xff0c;填写了200条数据&#xff0c;一提交&#xff0c;秒报400错误&#xff0c;且请求没有打到后端中&#xff08;无报错日志&#xff09;&#xff0c;一开始以为是谷歌浏览器的问题&#xff0c;可百度上关于这个错误的解决方案都是清除缓…

转让北京劳务分包地基基础施工资质条件和流程

地基基础资质转让流程是怎样的?对于企业来说&#xff0c;资质证书不仅是实力的证明&#xff0c;更是获得工程承包的前提。而在有了资质证书后&#xff0c;企业才可以安心的准备工程投标&#xff0c;进而在工程竣工后获得收益。而对于从事地基基础工程施工的企业&#xff0c;需…

特种设备起重机指挥题库附答案

1、【多选题】力的三要素是指:( )。(ACD) A、力的大小 B、力的单位 C、力的方向 D、力的作用点 2、【多选题】司索作业规范正确的要求是( )(ABC) A、吊点正确 B、吊索挂设合理 C、绑扎牢靠 D、吊索长短一致 3、【多选题】圆柱形物体兜吊时&#xff0c;一定要放空圈&#…

【python】python GUI编程--tkinter模块初探

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Keil软件仿真的使用

一、软件的初始化设置 初始设置可以按照下图&#xff0c;这里我使用的是STM32F103C8T6&#xff0c;所以单片机型号为STM32F103C8&#xff0c;这个设置在Debug目录下。然后进行时钟的设置&#xff0c;我们板上晶振为8M&#xff0c;这里将时钟改为8. 或许有人想问如果是别的型号单…

Effective Java 1 用静态工厂方法代替构造器

知识点上本书需要会Java语法和lang、util、io库&#xff0c;涉及concurrent和function包。 内容上主要和设计模式相关&#xff0c;代码风格力求清晰简洁&#xff0c;代码尽量复用&#xff0c;组件尽量少依赖&#xff0c;错误尽早发现。 第1个经验法则&#xff1a;用静态工厂方…