APP下载

XGBoost算法应用于车辆保险购买预测的研究

2023-06-25王超强

现代信息科技 2023年6期

摘  要:车辆保险的购买意向预测是一个二分类预测问题,可分为有意向购买和无意向购买,使用XGBoost算法和Logistic Regression算法对车辆保险数据集进行模型构建和分类预测。该研究首先对原始数据集进行数据预处理,然后使用网格搜索法,采取五折交叉验证来对模型进行超参数优化并构建预测模型,最后选择ROC曲线和AUC值作为预测模型的评价指标对模型的泛化能力进行性能评估,结果表明XGBoost算法具有最好的预测效果。

关键词:XGBoost算法;数据预处理;网格搜索;模型評估;ROC曲线

中图分类号:TP391    文献标识码:A    文章编号:2096-4706(2023)06-0031-04

Research on Application of XGBoost Algorithm in Vehicle Insurance Purchase Prediction

WANG Chaoqiang

(School of Information Engineering, North China University of Water Resources and Electric Power, Zhengzhou  450046, China)

Abstract: The purchase intention prediction of vehicle insurance is a binary prediction problem, which can be divided into intentional purchase and unintentional purchase. This paper uses the XGBoost algorithm and Logistic Regression algorithm to carry out model construction and classification prediction of the vehicle insurance data set. The research firstly performs data preprocessing on the original dataset. Then, the grid search method and five-fold cross-validation are used to optimize the hyperparameters of the model and construct a prediction model. Finally, the ROC curve and AUC value are selected as the evaluation indicators of the prediction model to evaluate the generalization ability of the model. The results show that the XGBoost algorithm has a very good prediction effect.

Keywords: XGBoost algorithm; data preprocessing; grid search; model evaluation; ROC curve

0  引  言

在如今新能源汽车快速发展的情况下,车辆保险行业的机遇和挑战也同时到来,学术界的很多专家和学者也将机器学习方法应用到了车辆保险相关研究中。刘璐[1]等人依据影响车辆保险需求的相关要素,运用了多元线性回归方法建立模型,为发掘车辆保险市场的需求潜力提出了有关建议。朱南军[2]等人在车辆保险的营销中心信息不对称问题上,运用了两种不同参数检验方法,不相关概率单位回归模型,进行信息不对称检验,为探索减少车辆保险信息的不对称提供了新的思路。郭念国[3]在车辆保险领域,索赔风险分类问题上运用了朴素贝叶斯算法,并在该问题上与常用的广义线性模型进行了比较分析,结果表明了朴素贝叶斯算法在该问题上的可行性。Cheng[4]等人在汽车保险直销市场的机器学习应用中,使用朴素贝叶斯、决策树和神经网络方法建立了精度较高的预测模型,为保险业定位车辆保险市场的潜在客户提供了有用信息。

该研究通过对数据集进行数据预处理,调整模型超参数来构建XGBoost预测模型,并对模型的进行泛化能力进行评估,最终得到一个分类预测能力很好的XGBoost预测模型,可以协助车险行业在购买预测方向的研究,具有十分重要的研究意义。

1  理论基础

1.1  XGBoost算法

XGBoost算法是一种boosting算法,相较于传统的GBDT算法,XGBoost算法可以并行化处理,效率比GBDT高,效果也比GBDT好[5]。它是由k个基模型组成的一个加法运算式:

(1)

其中fk为第k个基模型, 为第i个样本的预测值。为了防止过拟合,单个基模型的正则项是:

(2)

其中T代表树的叶节点,X落到了某个叶节点上的输出值是ω,γ和λ是非负系数,ωj是第j个节点的输出值。由此XGBoost损失函数定义为:

(3)

利用泰勒二阶展开式得到损失函数的极小值,然后,采用精确或近似方法贪心搜索出得分最高的切分点,进行下一步切分并扩展叶节点[6]。

1.2  Logistic Regression算法

Logistic Regression模型中的因变量只有1-0(如“是”和“否”“发生”和“不发生”)两种取值[7]。假设在p个独立自变量x1, x2,…, xp的作用下,记y取1的概率是p=

P(y=1|x),取0的概率是1-p,取1和取0的概率之比为 ,成为事件的优势比(odds),对odds取自然对数即得Logistic变换 。

令 ,则 ,即为Logistic函数,最后用逻辑函数把线性回归的结果从(-∞,∞)映射到(0,1)。

2  实验分析

2.1  数据背景

数据集来自数据科学竞赛网站https://www.kaggle.com,共有381 109条数据记录,包含十二个特征字段,该研究将所有字段都定义为变量,其中Response字段为因变量,其余字段为自变量,各个字段变量的含义如表1所示。

2.2  数据预处理

数据集中的海量原始数据存在大量缺失值、数据类型不一致、冗余值、异常值等,不进行处理则会影响模型的学习效果。另外,在用各种模型算法时也要牢记监督学习的假设,即正负样本要平衡且训练集和测试集样本是独立同分布的。而且,在模型训练时,数据规范化的操作可以让梯度下降算法收敛得更快,也就是更快地找到最优超参数。

该研究将根据车险数据集的实际情况对数据集的数据预处理为异常值的检测和处理、数据类型转换、数据不平衡处理和数据规范化。

2.2.1  异常值处理

异常值又称离群点,即数据集中存在的明显偏离了其他值的值,箱型图检测法作为常用的异常值检测方法可以很直观地将异常值表现出来,箱型图有六个数据节点,分别是上四分位数(Q1)、中位数(Q2)、下四分位数(Q3)、四分位距(IQR,IQR=Q3-Q1)、上限(最大值区域:Q3+1.5IQR)、下限(最小值区域:Q1-1.5IQR)、异常值(即被定义为小于Q1-1.5IQR或大于Q3+1.5IQR),该研究使用箱型图检测法,利用异常值的定义来编辑代码筛选出异常值,因原始数据集中的异常值占比较少,所以直接将异常值数据删除,如图1所示。

2.2.2  数据类型转换

原始数据集中的Gender、Vehicle_Age和Vehicle_Damage均属于字符型特征的数据,这对于多数机器学习算法来说并不能直接作为输入进行模型训练,必须把字符型特征转换为数值型的数据才能正常工作。数据集中的ID列仅代表客户的唯一标识,在实际建模时无用,故将ID列作删除处理;利用序号编码的方法将Gender列中的“Male”和“Female”替换为0和1,Vehicle_Age列中“< 1 Year”,“1-2 Year”以及“> 2 Year”替换为0、1和2,Vehicle_Damage列中的“Yes”和“No”替換为0和1;将Region_Code列和Policy Sales Channel列中的数据由浮点型转换为整型。

2.2.3  数据不平衡处理

该研究的数据集中的Response标签列感兴趣和不感兴趣的比例约为1:7,属于极度不平衡的数据,而主流的分类算法都是基于数据平衡的,因此必须对数据进行不平衡处理。不平衡数据主要有三种处理方法,分别为欠采样、过采样、混合采样[8]。该研究采用混合采样进行数据不平衡处理,如图2所示。

2.2.4  数据规范化

对数值类型的数据进行归一化处理之后,便可以将所有的输入特征缩放到一个大致的数值区间之内,使得不同列不同范围的数据之间具有可比性。数据归一化的常用方法有两种,分别是线性函数归一化和零均值归一化方法。线性归一化是通过线性函数对原始数据进行线性变换,将变换后的结果映射到[0,1]区间内,实现对原始数据的特征缩放,线性函数归一化的函数公式为:

(4)

零均值归一化将数据集中的各列数据映射到一个均值为0、标准差为1的分布上,即假设某列特征的均值为μ、标准差为σ,则可得出零均值归一化公式:

(5)

该研究采用线性函数归一化方法将不同字段特征的数据进行归一化处理。

2.3  XGBoost预测模型的构建和评估

本研究在JupyterLab实验平台利用Python中的机器学习模块包sklearn中的XGBoost算法和Logistic Regression算法进行车辆保险购买意向预测模型的构建。通过网格搜索法对超参数使用五折交叉验证进行超参数的优化,选择一组在训练集上得分最高的超参数值对XGBoost算法和Logistic Regression算法的预测模型进行构建。在预测模型构建完成之后选择模型评价指标对XGBoost算法和Logistic Regression算法预测模型的泛化能力进行评估。XGBoost模型的混淆矩阵如表3所示。

准确率如式(6)所示:

(6)

其中,TP表示预测为1,预测正确,即实际也为1;TN表示预测为0,预测正确,即实际也为0;FP表示预测为1,预测错误,即实际是0;FN表示预测为0且预测错误,即实际是1。由式(6)可得XGBoost模型的准确率为88.27%。

如表4所示是Logistic Regression模型的混淆矩阵,而在该研究中使用Logistic Regression算法进行建模得到的预测模型的准确率为77.19%,表明XGBoost算法模型具有很好的分类预测能力。

该研究的原始数据集正负样本的比例约为7:1,属于极度不平衡的样本,故引入不受样本数据不平衡影响的ROC曲线(受试者工作特性曲线)和AUC值(ROC曲线下的面积)评价指标更直观地体现预测模型的性能度量[9]。

ROC曲线的横坐标是假阳性率(FPR),即:

(7)

纵坐标叫真阳性率(TPR),即:

(8)

如图3所示,可以明显地看出算法预测模型的ROC曲线十分靠近左上角,Logistic Regression模型的ROC曲线则在XGBoost模型的ROC曲线的下方,ROC曲线越靠近左上角越说明模型的泛化能力越好,XGBoost模型的AUC值为0.953 6,而Logistic Regression模型的AUC值为0.845 0,表明XGBoost算法预测模型具有非常好的泛化能力。

如表5所示,通过XGBoost算法预测模型和Logistic Regression算法预测模型的对比研究发现,XGBoost算法预测模型在准确率、ROC曲线、AUC值等模型评估指标均高于Logistic Regression算法预测模型,该实验结果表明XGBoost算法预测模型的二分类预测效果比Logistic Regression算法预测模型的二分类预测效果要好得多。

3  结  论

机器学习中的XGBoost算法在各个数据竞赛平台都有不俗的表现,而近年来关于如何将该算法更好地应用于车辆保险行业,也是学界和业界的研究热点,该研究将XGBoost算法创新性地应用到车辆保险购买意向的预测中,对原始数据集进行数据变换、数据规范化和数据不平衡处理,利用网格搜索法调整模型超参数,进而构造出预测模型,XGBoost模型准确率为88.27%,表明该模型具有非常好的分类预测效果,AUC值为0.953 6,而相比其他模型XGBoost模型具有更强的模型泛化能力。因此,XGBoost算法在车辆保险购买预测领域的应用研究中具有很高的研究价值。

参考文献:

[1] 刘璐,张博江.我国机动车辆保险市场发展的需求拉动因素研究 [J].保险研究,2012(8):83-88.

[2] 朱南军,王敬瑜.我国车辆保险市场信息不对称问题分析 [J].保险研究,2016(9):16-27.

[3] 郭念国.朴素贝叶斯算法与车辆风险分类 [J].河南城建学院学报,2020,29(3):87-92.

[4] CHENG X T. Machine Learning Application in Car Insurance Direct Marketing [J].International Journal of Data Science and Advanced Analytics,2020,2(2):18-25.

[5] LIANG W Z,LUO S-Z,ZHAO G Y,et al. Predicting Hard Rock Pillar Stability Using GBDT,XGBoost,and LightGBM Algorithms [J].Mathematics,2020,8(5):765.

[6] PESANTEZ-NARVAEZ J,GUILLEN M,ALCA?IZ M. Predicting Motor Insurance Claims Using Telematics Data—XGBoost versus Logistic Regression [J].Risks,2019,7(2):70.

[7] 宋玉萍,朱家明,張雅娴,等.基于Logistic回归对影响汽车保险续保因素的分析 [J].哈尔滨师范大学自然科学学报,2020,36(4):16-23.

[8] HANAFY M,MING R X. Improving Imbalanced Data Classification in Auto Insurance by the Data Level Approaches [J].International Journal of Advanced Computer Science and Applications,2021,12(6):493-499.

[9] CARRINGTON A M,MANUEL D G,FIEGUTH P W,et al. Deep ROC Analysis and AUC as Balanced Average Accuracy to Improve Model Selection,Understanding and Interpretation [J/OL].arXiv:2103.11357 [stat.ME].(2021-03-21).https://arxiv.org/abs/2103.11357.

作者简介:王超强(1995—),男,汉族,河南周口人,硕士研究生在读,研究方向:大数据与云计算。

收稿日期:2022-11-01