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

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:15316if(Y_pre(i,1)>=0.5)Y_new(i,1)=1;elseY_new(i,1)=0;end
end
counts=0;
for i=1:15316if(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:15316if(Y_tree_pre(i,1)>0.5)Y_tree_pre(i,1)=1;elseY_tree_pre(i,1)=0;end
end
c1=0;
for i=1:15316if(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:15316y_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;elseY_final(i,1)=0;end
end
c=0;
for i=1:15316if(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] = 1else: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.mzph.cn/news/614665.shtml

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

相关文章

21道Java Spring MVC综合面试题详解含答案(值得珍藏)

1.概述 1.1 什么是Spring MVC?简单介绍下你对Spring MVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成…

CMake入门教程【高级篇】文件操作(file)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1.概述2.使用说明3.完整代码示例4.实际使用中的技巧1.概述 在 CMake 项目中,file 命令是一个多功能工具,用于执行各种文件操作,如读写文件、复制和重命名文…

Docker介绍安装及使用

目录 引言一、什么是Docker?二、Docker的优势三、Docker的架构四、Docker的安装五、Docker的基本使用六、Docker与传统虚拟化的比较七、Docker的应用场景八、总结 引言 在现代的软件开发和部署中,容器化技术已经成为了一种趋势。Docker作为容器化技术的领先者&…

N-137基于springboot,vue运动会报名管理系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueAvueElementUI 服务端技术:springbootmybatis 本项…

Elasticsearch聚合优化 | 聚合速度提升5倍!

1、聚合为什么慢? 大多数时候对单个字段的聚合查询还是非常快的, 但是当需要同时聚合多个字段时,就可能会产生大量的分组,最终结果就是占用 Elasticsearch大量内存,从而导致 OOM 的情况发生。 实践应用发现&#xff0…

Java电影购票小程序在线选座订票电影

Java电影购票小程序 功能:注册用户可已查看电影场次评价选座订票退票,影院管理员可以排片退款在线卖票和管理演播室等。超级管理员可管理电影排片电影院用户管理等。 演示视频 小程序: https://www.bilibili.com/video/BV11W4y1A7mK/?shar…

深度剖析缓存相关问题:雪崩、穿透、预热、更新、降级

目录 引言 1. 缓存雪崩 1.1 问题描述 1.2 解决方案 1.2.1 加锁防止并发重建缓存 2. 缓存穿透 2.1 问题描述 2.2 解决方案 2.2.1 布隆过滤器防止无效请求 3. 缓存预热 3.1 问题描述 3.2 分析与解决方案 3.2.1 定时任务预热缓存 4. 缓存更新 4.1 问题描述 4.2 分析…

华为端口安全常用3种方法配置案例

安全动态mac地址学习功能 [Huawei]int g0/0/01 interface GigabitEthernet0/0/1 port-security enable //开启安全 port-security max-mac-num 2 //最多为2个mac地址学习 port-security protect-action restrict //丢包带警告 port-security aging-time 1 //mac地址的老化时间…

C/C++ 堆排序

个人主页:仍有未知等待探索-CSDN博客 专题分栏:数据结构_仍有未知等待探索的博客-CSDN博客 欢迎大家来指教! 一、前言 今天要介绍的是堆排序。 首先什么是堆?简而言之,堆就是二叉树的数组形式,用数组来存…

css3边框与圆角

css3边框与圆角 前言边框的三要素边框的三要素小属性 四个方向的边框四个方向边框的三要素小属性 去掉边框利用边框制作三角形圆角 border-radius单独设置四个圆角小属性百分比为单位 盒子阴影阴影延展内阴影多阴影 结语 前言 在网页设计中,边框与圆角不仅仅是简单…

邂逅Node.JS的那一夜

邂逅Node.JS的那一夜🌃 本篇文章,学习记录于:尚硅谷🎢 本篇文章,并不完全适合小白,需要有一定的HTML、CSS、JS、HTTP、Web等知识及基础学习: 🆗,紧接上文,…

uⅤ打印-小理光上海RYPC后台运动系统

uⅤ打印-小理光上海RYPC后台运动系统

ISO 11519-2 开环低速 CAN 网络(10K~125Kbps)

ISO 11519-2 标准的物理框图如下图 可理解为一个低速开环 CAN 总线网络;CAN 开环总线网络允许总线最大长度为 1km;最高速度为 125Kbps;这里的两根线是独立的,每根线上串联一个 2.2kΩ 的电阻;节点就是不同的设备,连接到一个开环总…

【微服务】日志搜集es+kibana+filebeat+redis+logstash(单机)

日志搜集系统搭建 基于7.17.16版本 ps: 项目是toB的,日志量不大 前置准备 软件下载 7.17.16版本。8.x版本需要JDK11 elastic.co/downloads/past-releasesJDK java8 Linux elastic 软件不能以root用户启动,需要创建用户 sudo useradd elastic #给此…

解决:ModuleNotFoundError: No module named ‘pymysql’

解决:ModuleNotFoundError: No module named ‘pymysql’ 文章目录 解决:ModuleNotFoundError: No module named pymysql背景报错问题报错翻译报错位置代码报错原因解决方法方法一,直接安装方法二,手动下载安装方法三,…

云贝教育 |【技术文章】存储对象的LIBRARY CACHE LOCK/PIN实验(一)

注: 本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 实验环境 操作系统:Red Hat Enterprise Linux release 8.8 (Ootpa) 数据库:oracle Version 19.3.0.0.0 …

UE 引擎工具笔记

2023虚幻技术分享会视频 1.2023年虚幻引擎最新功能和技巧 [UFSH2023]2023年虚幻引擎最新功能和技巧 | Chris Murphy Epic Games_哔哩哔哩_bilibili 推荐细看下.总结了UE5的功能大概 2.调试技巧 [UFSH2023]总有一个你不知道的虚幻引擎调试技巧 | 陈拓 Epic Games_哔哩哔哩_…

深信服态势感知一体机SIP-1000 Y2100 3.0.1Y升级3.0.3Y步骤

当前版本:3.0.1Y 升级后版本:3.0.3Y PS:3.0.1Y不能直升3.0.3Y,需要先通过升级工具升级到3.0.2Y,再安装前置补丁从3.0.2Y升级到3.0.3Y;每一次升级时间为20-30分钟,设备升级会重启,需提…

计算机网络-VLAN间通信

之前复习了VLAN的概念以及几个接口类型。VLAN在二层可以实现广播域的划分,VLAN间可以实现二层通信,但是不能实现三层通信,需要借助其它方式。 一、概述 实际网络部署中一般会将不同IP地址段划分到不同的VLAN。同VLAN且同网段的PC之间可直接进…

2023 Gartner® 云数据库管理系统魔力象限发布 PingCAP 入选“荣誉提及”

近日,全球 IT 市场研究和咨询 公司 Gartner 发布最新报告《Magic Quadrant™ for Cloud Database Management Systems》(云数据库管理系统魔力象限), 企业级开源分布式数据库厂商 PingCAP 入选“荣誉提及” 。前不久,P…