2019年认证杯SPSSPRO杯数学建模C题(第一阶段)保险业的数字化变革全过程文档及程序

news2024/11/17 7:21:48

2019年认证杯SPSSPRO杯数学建模

基于 CART 决策树和 SVR 的客户续保概率预测

C题 保险业的数字化变革

原题再现:

  车险,即机动车辆保险。保险自身是一种分散风险、消化损失的经济补偿制度,车险即为分散机动车辆在行驶过程中可能发作的未知风险和损失的一种保障机制。
  目前国际车险分为国家强制的交强险和商业险,商业险中的根本险种有第三者责任事故险和车辆损失险。除此之外还有玻璃独自破碎险、车上人员责任险、全车盗抢险、自燃损失险和不计免赔特约条款等附加险种。
  近年来,国际保险行业稳步开展,机动车辆保险在我国的财险保费中所占比重最大,以千亿元计。并且,由于我国汽车保有辆的继续增加和相关车险的政策出台,投保率也呈继续上升趋向。
  车险一般可占财险公司业务的 70% 到 80%,所以车险市场历来是财险公司的兵家必争之地。以往,财险公司为了赢得市场,往往采取低价、折扣来争抢客户。但是激烈的市场竞争也带来了利润率的下降,甚至有些企业在亏本经营。大多数车企为了提高利润率开始重视承保车辆的质量。重投保车辆质量的做法,其实是险企科学发展的重要体现,是市场竞争下的企业合理行为。
  中国目前的车险费率制度,大多数符合“从车主义”。即车险保费多少,主要取决于这辆车本身的各项情况,如车的购置价、座位数、排量、购车年限等,根据这些数据计算出一个基本的车险保费价格,再根据这辆车的上年理赔次数来打不同的折扣。这就导致了中国的车险定价模式非常的单调,相似情况的车型,保费也都差不多。
  可以预见未来车险行业的几大发展趋势:
  1. 车险价格与驾驶行为密切相关
  未来的车险定价将逐渐转变为“从人主义”。车险的定价因素将直接与驾驶人的驾驶习惯与行驶里程挂钩,通过驾驶行为来判定车险价格,可能会使车险由原来的一年买一次变成可以一个月买一次。一个具有良好驾驶习惯的车主,可能只需要支付原本保费的 30% 左右,而驾驶习惯不佳的车主,则会在原本保费的基础上继续上涨。
  2. 同价位车型车险价格完全不同
  国内传统的汽车保险定价,通常是以车型和其购置价为主要依据。未来中国车险业,同样的一款车,不同的人开,保费价格会完全不同。这个不同可能是取决于投保人本身的驾驶行为,还可能会以投保人本身的年龄、职业、家庭状况等信息为标准。
  信息时代的到来,为车险企业提供了一个更加有力的武器,可以通过数字化技术来更加精准地了解客户,制定营销和服务方案。
  第一阶段问题:
  1. 请建立合理的数学模型,对附件一中提供的客户进行精准画像,给出客户的续保概率。
  2. 请针对不同的客户设计不同的优惠和福利方案,以提高续保概率。

整体求解过程概述(摘要)

  中国未来车险行业的发展趋势为车险价格与驾驶行为密切相关以及同价位车型车险价格完全不同。在这种情况下,如何对客户进行精准画像十分重要。本文针对题中所给数据信息进行数据挖掘,设计了一套较为科学的预测客户续保概率的模型,并且对提高客户续保概率提出了合理建议。
  针对问题一,我们首先对附件中所给数据作初步处理,包括数据清洗和数据预处理两步,剔除部分错误和缺失数据,并利用卡方检验分析各属性与客户是否续保的相关性,得到相关性最强的前 11 个属性组成属性集。然后,将数据按 3:1 划分为训练集和测试集,先利用基于基尼指数的 CART决策树模型进行分析,得到了每个客户的续保概率,并以 0.5 作为阈值对结果进行划分,在测试集上的准确率为 81.41%;再利用支持向量回归(SVR)模型,同样得到了每个客户的续保概率,取同样的阈值,在测试集上的准确率为 81.88%。最后,利用多项式回归和决策树模型分别对两个弱分类器的结果做模型融合,得到测试集的准确率分别为 82.00%和 86.18%,多项式回归对多个模型的融合效果不佳,但决策树模型使结果有了较大的提升,测试集共 15316 行数据,预测正确的有 13282 行,准确率提升了 5%左右,基本上认为预测的结果符合实际情况。
  针对问题二,我们利用问题一中卡方检验计算出来的属性相关性,得到对客户续保概率影响最大的几个属性,针对这几个影响较大的属性,我们对保险公司提出了探索车友俱乐部、拓宽销售渠道、对未出险客户提供更加优质的服务等合理建议。

问题分析:

  问题一的分析
  问题一需要我们建立数学模型,分析客户的续保概率与客户的各个属性间的关系。
  首先,我们对数据进行处理,包括数据的清洗、预处理以及相关性分析。数据的清洗包括删除不一致的数据以及删除某个属性中存在的极少数的缺失值;数据的预处理包括属性规约和数量规约,属性规约是删除对后续结果影响不大客户的属性以及缺失值存在过多的属性,数量规约包括相似数据的简并、数据类型的转换以及连续属性离散化。在对数据进行处理之后,我们运行卡方检验对每个属性和客户是否续保进行相关性分析,选取得分前 11 名的属性组成因变量集,并以该属性集中各因素为,作为后续模型建立的基础。
  在对数据处理完成之后,我们首先构建了 CART 回归决策树模型,我们从数据中随机选取了 75%的数据作为训练集,25%的数据作为测试集,得到了每个客户的续保概率;为了了解各模型的准确率,我们再次构建了支持向量回归(SVR)的模型,同样将 75%的数据作为训练集,25%的数据作为测试集,得到了每个客户的续保概率,经过对比后发现相较于 CART 决策树,SVR 的对于预测客户续保概率有更高的准确率;
  为了保证预测的客户续保概率的精度,继续提高预测的准确率,我们采取经典的模型融合方法。为了保证模型融合的有效性(即单模型的高精度与模型之间的差异性),我们对以上两种不同模型进行模型融合,得到每个客户的续保概率,准确率相较于 CART决策树以及 SVR 都有了提升。
  问题二的分析
  问题二需要我们针对不同的客户设计不同的优惠和福利方案,以提高续保概率。
  首先,我们利用问题一中利用卡方检验计算出来的属性相关性,得到对客户续保概率影响最大的因素,针对这些影响因素,我们对如何提高不同客户的续保概率提出了合理的建议。

模型假设:

  1. 假设数据的来源是准确可靠的。
  2. 不考虑保险公司伪造数据、客户篡改数据的情况。
  3. 假设影响客户是否续保的因素只考虑附件中的数据所给出的因素。

论文缩略图:

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

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

%% 决策树回归
% 读取数据 61266 划分为 45950/15316 为训练集和测试集
X_train = all(1:45950,1:11);
Y_train = all(1:45950,12);
rtree = fitrtree(X_train,Y_train);
X_test = all(45951:61266,1:11);
Y_test = all(45951:61266,12);

Y_pre = predict(rtree,X_test);
Y_new = zeros([15316,1]);
for i=1:15316
 if(Y_pre(i,1)>=0.5)
 Y_new(i,1)=1;
 else
 Y_new(i,1)=0;
 end
end
counts=0;
for i=1:15316
 if(Y_new(i,1)==Y_test(i,1))
 counts=counts+1;
 end
end
pre_accu = counts/15316;
%% 多模型融合
% 决策树融合
X = [Y_pre,ypre];
Y = Y_test;
new_tree = fitrtree(X,Y);
Y_tree_pre = predict(new_tree,X);
for i=1:15316
 if(Y_tree_pre(i,1)>0.5)
 Y_tree_pre(i,1)=1;
 else
 Y_tree_pre(i,1)=0;
 end
end
c1=0;
for i=1:15316
 if(Y_tree_pre(i,1)==Y_test(i,1))
 c1=c1+1;
 end
end
middle_accu = c1/15316;
% 利用工具箱/多项式拟合
cftool
y_final = zeros([15316,1]);
Y_final = zeros([15316,1]);
for i=1:15316
 y_final(i,1) = -0.04314+0.9949*Y_pre(i,1)+0.3132*ypre(i,1)-0.5478*Y_pre(i,1)...
 *Y_pre(i,1)-0.124*Y_pre(i,1)*ypre(i,1)+0.4964*ypre(i,1)*ypre(i,1);
 if(y_final(i,1)>0.5)
 Y_final(i,1)=1;
 else
 Y_final(i,1)=0;
 end
end
c=0;
for i=1:15316
 if(Y_test(i,1)==Y_final(i,1))
 c=c+1;
 end
end
final_accu = c/15316;
%python
# 库函数
import xlrd
import numpy as np
from sklearn.svm import SVR
from sklearn.externals import joblib
# from sklearn.feature_selection import SelectKBest
# from sklearn.feature_selection import chi2
# 读取数据 61266 划分为 45950/15316 为训练集和测试集
docs = open('y_pre.txt', 'w')
data = xlrd.open_workbook('C:/Users/Administrator/Desktop/认证杯/附件一_数据清洗+预
处理 2.xlsx')
sheet = data.sheet_by_name('数据表')
X_train = np.zeros([45950, 19], dtype=float)
Y_train = np.zeros([45950, 1], dtype=float)
X_test = np.zeros([15316, 19], dtype=float)
Y_test = np.zeros([15316, 1], dtype=float)
for i in range(45950):
 X_train[i] = sheet.row_values(i+1, 1, -1)
Y_train = sheet.col_values(20, 1, 45951)
for i in range(15316):
 X_test[i] = sheet.row_values(i+45951, 1, -1)
Y_test = sheet.col_values(20, 45951, 61267)
'''
# 卡方检验
X = np.zeros([61266, 19], dtype=float)
Y = np.zeros([61266, 1], dtype=float)
for i in range(61266):
 X = sheet.row_values(i+1, 1, -1)
Y = sheet.col_values(20, 1, 61267)
model1 = SelectKBest(chi2, k=10) # 选择 k 个最佳特征
print(model1.fit_transform(X, Y)) # X 是特征数据,Y 是标签数据,该函数可以选择出 k 
个特征
print(model1.scores_)
print(model1.pvalues_)
'''
# 训练模型并预测
clf = SVR(gamma='scale', C=1.0, epsilon=0.2)
clf.fit(X_train, Y_train)
Y_pre = clf.predict(X_test)
# 保存模型
joblib.dump(clf, 'clf.pkl')
# 读取模型
# clf = joblib.load('clf.pkl')
# 结果分析
for i in range(15316):
 print(Y_pre[i], file=docs)
 if Y_pre[i] >= 0.5:
 Y_pre[i] = 1
 else:
 Y_pre[i] = 0
counts = 0
for i in range(15316):
 if Y_pre[i] == Y_test[i]:
 counts = counts + 1
print(counts)
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

SpringBoot多环境配置Maven Profile组

Maven profile组 注意切换配置时 mvn clean下 或者 clean 加install 或者compile 编译 clean之后 install下 或者compile 编译 nohup java -Xms256m -Xmx512m -Dfile.encodingUTF-8 -jar demo.jar --spring.profiles.activeprod > system.log 2>&1 &

2024年A特种设备相关管理(电梯)证考试题库及A特种设备相关管理(电梯)试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年A特种设备相关管理(电梯)证考试题库及A特种设备相关管理(电梯)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲…

Word不同部分(分节)设置页眉和页码的使用指南——附案例操作

Word页眉和页码分节设置的使用指南 目录 Word页眉和页码分节设置的使用指南摘要1. 插入分节符2. 设置不同的页眉3. 设置不同的页码4. 调整页码的起始值5. 删除或更改分节6. 预览和调整 摘要 在撰写word文档时,我们经常需要在不同的部分应用不同的页眉和页码格式。在…

靶机实战(10):OSCP备考之VulnHub Tre 1

靶机官网:Tre: 1[1] 实战思路: 一、主机发现二、端口发现(服务、组件、版本)三、漏洞发现(获取权限) 8082端口/HTTP服务 组件漏洞URL漏洞(目录、文件)80端口/HTTP服务 组件漏洞URL漏…

基于JAVA+ssm开发的在线报名系统设计与实现【附源码】

基于JAVAssm开发的在线报名系统设计与实现【附源码】 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 …

前端页面优化做的工作

1.分析模块占用空间 new (require(webpack-bundle-analyzer).BundleAnalyzerPlugin)() 2.使用谷歌浏览器中的layers,看下有没有影响性能的模块,或者应该销毁没销毁的 3.由于我们页面中含有很大的序列帧动画,所以会导致页面性能低&#xff0…

JavaScript系列——Promise

文章目录 概要Promise三种状态状态改变Promise链式调用Promise处理并发promise.all()promise.allSettled()Promise.any()promise.race() 小结 概要 Promise中文翻译过来就是承诺、预示、有可能的意思。 在JavaScript里面,Promise 是一个对象…

九州金榜|为什么本科生“回炉”读职校?

近年来,“本科学历+技能证书”成为不少大学毕业生求职时的配置,本科毕业生“回炉”职业院校学习技能的现象引发社会关注。 为什么会引发这种现象发生呢?现在学校教育学的是理论知识,而“回炉”确实学习的实操&#xff…

Mac robotframework+pycharm运行suite报错情况:ImportError: No module named request

报错实例: 当前Preferences–>Tool–>External Tools Suite配置,显示使用的python为2.7版本,robotframework安装在当前版本的python中: 但是我pycharm现在的环境配置的python为3.11,当前使用的RF与当前使用的py…

钥匙翻转了一个面,该怎么识别匹配?

工业自动化中,我们经常遇到这样的问题,两面一样,上料时,翻转了,没人知道,该怎么匹配到?让机器人能抓取上? 两面相似,翻转了,该怎么识别匹配,来料…

GPT Store开业大吉:一场AI技术与创新的盛宴

就在1.11 日,ChatGPT 正式上线 GPT Store ! OpenAI CEO 山姆奥特曼第一时间确认了这个消息: 自从GPTs的概念提出以来,短短两个月内,全球用户已经创造了超过300万个GPTs。 点击 GPT Store 或者进入ChatGpt页面&am…

Arrow:在项目中进行时间处理的强大工具

目录 一、Arrow简介 二、安装与配置 三、基础功能与使用 1. 日期和时间格式转换 2. 时区处理 3. 时间序列分析 四、进阶应用与案例分析 五、性能与优化 六、最佳实践与经验分享 七、总结与展望 在处理日期和时间时,我们经常需要一个精确、可靠的库来帮助我…

vue前端开发自学练习,Props数据传递-类型校验,默认值的设置!

vue前端开发自学练习,Props数据传递-类型校验,默认值的设置! 实际上,vue开发框架的时候,充分考虑到了前端开发人员可能会遇到的各种各样的情况,比如大家经常遇到的,数据类型的校验,再比如,默认…

多端多用户万能DIY商城系统源码:自营+多商户入驻商城系统 独立部署 带完整的安装代码包以及搭建教程

电子商务行业日新月异,许多企业希望能够通过线上商城拓展业务。但是,传统商城系统往往无法满足多样化、个性化的需求,而且开发周期长、成本高。罗峰就来给大家分享一款多端多用户万能DIY商城系统源码,搭建简单。 以下是部分代码示…

TypeScript进阶(四)声明文件

✨ 专栏介绍 TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,意味着任何有效的JavaScript代码都是有效的TypeScript代码。TypeScript通过添加静态类型和其他特性来增强JavaScript,使其更适合大型项目和团队开发。 在TypeS…

2024最新适用于 Windows 、Mac 的最佳屏幕录制软件

屏幕录制软件可以帮助我们录制 PC 和MacBook的实时屏幕视频。如果您想为 优酷录制视频,或者您正在为您的公司制作基于视频的项目,并且需要捕获屏幕的实时视频录制,那么我们在此列出了 一 款适合您的 Windows 、Mac的 2024 年最佳屏幕录制软件…

Redis相关报错信息:Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。

报错信息: Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。 报错原因: 访问不到Redis服务 解决方案: 将Redis服务打开! 使用cmd命令行打开本机服务管理: services…

Python算法例35 丑数Ⅰ

1. 问题描述 丑数的定义是,只包含质因子2、3、5的正整数,例如6、8就是丑数,但14不是丑数,因为它包含了质因子7,本例将检测一个整数是不是丑数。 2. 问题示例 给出num8,返回True;给出num14&am…

thinkphp美容SPA管理系统源码带文字安装教程

thinkphp美容SPA管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 基于thinkphp3.23B-JUI1.2开发,权限运用了Auth类认证,权限可以细分到每个功能, 增删改查功能一应俱全,整合了…