智能化用户分群模型的研究与实现
2018-11-01陈蕾夷
陈蕾夷
摘要:用户分群是精准营销的重要方法和基础工作之一,该文在对用户分群相关算法进行深入研究的基础上,研究实现了可以自动识别分群数目和变量权重的智能化用户分群模型,降低了对业务人员经验水平的依赖。以虚拟运营商的用户数据作为数据源进行了实验验证,证明了算法模型的可行性和优越性。
关键词:智能化用戶分群模型;聚类分析;随机森林算法;精准营销
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)19-0001-03
1 引言
对于虚拟运营行业而言,用户分群的主要应用目的是为了通过识别不同群体的特征来实现精准营销。国内外关于用户分群方法的研究主要集中在业务方法和应用方面,在技术方面主要利用K-means聚类算法来实现用户分群。但是,K-means算法本身具有很多局限性,从数据特点来说,K-means算法不能处理带有非数值属性的混合属性变量;从业务功能来说,K-means算法需要预先设定聚类数目K值,对业务人员的经验依赖很大,并且K-means算法对所有聚类指标的权重均相同,这也不太符合实际业务要求。针对以上问题,本文在对用户分群相关算法进行研究的基础上,基于K-prototypes算法和随机森林算法融合实现了可以自动识别分群数量和分群变量权重的智能化用户分群模型,并通过实验项目验证了其可行性。
2 用户分群算法研究
2.1 用户分群的方法
用户分群有多种方法可以实现,包括RFM分析法、聚类分析、决策树、预测(响应)模型、假设检验方法等,每种方法针对的数据特点和应用场景都不同,在方法的选择上应结合业务数据特点、应用场景和业务功能等方面综合考虑。对于业务运营经验尚浅的虚拟运营行业而言,其数据特点是属性多样、维数众多、规模较大;在应用场景方面,行业还处于初期阶段,需全面了解用户的具体特征,并没有明确的分群变量,且变量在分群过程中需要被赋予不同的权重;在业务功能方面,因行业从业人员经验尚浅,需要尽量降低对业务人员的依赖,实现智能化分群,自动识别分群数量和变量权重,无需人工参与判断。RFM分析法只对三个固定变量进行分析;决策树的贪心算法容易得到局部最优解或出现变量过拟合问题,更多被应用于预测模型相关场景;预测(响应)模型适用于目标变量明确的场景,属于有监督的学习方法;假设检验方法通过对核心变量的筛选来区别不同群体特征,对业务人员经验水平要求较高。聚类算法对于变量的类型或数量无特殊要求,可处理数据规模庞大且维数众多的大数据集,也不需要明确的目标变量和分类要求,因此本次研究选定聚类算法这种比较成熟可靠的算法。
2.2 聚类算法
用户分群是聚类算法的典型应用场景之一,针对大规模数据集所采用的聚类算法主要是K-Means算法,但当数据涉及混合属性变量的聚类时,则采用可处理混合属性变量的K-prototypes算法。聚类技术应用成熟,算法可靠,且聚类结果更容易被业务方理解和应用,但是在应用过程中也要注意做好数据预处理,控制参与聚类的变量,与未参与聚类的变量相结合来对业务进行更全面细致的分析。
2.3 研究问题的提出
与K-means算法相同,K-prototypes算法目的是将数据集X按照差异度最小原则划分到K个簇中,以聚类评价指标对聚类结果进行评价,其中K值需提前指定。在K-prototypes算法的求解过程中,每个变量的权重都是相同的,而在实际应用当中,运营商数据不仅包含的属性变量多种多样,而且每个属性对于聚类结果的贡献度也是有所差异的,实现分群变量的非平权聚类更符合实际业务情况。
综上所述,针对大规模数据集,本着降低对业务人员经验水平依赖性的原则,本文需改进解决的关键技术有以下两点:
1)算法可以自动实现对最佳聚类数目K值的判定;
2) 算法可以实现对聚类指标的非平权处理并自动判断不同聚类指标的权重值。
3 智能化用户分群模型的实现
3.1 最佳聚类数判定的算法优化
当前主流的算法是将一个给定的数据集X,以[kmin=2],[kmax=Int(n)]对所有K值完成聚类,用内部聚类评价指标对所有聚类结果进行计算,聚类评价指标最优值所对应的K值即为最佳聚类数目[1]。但是,算法要对K=[[kmin],[kmax]]的值穷举聚类,对于大数据集来说会导致计算量很大,因此可定义间距[dis],[dis∈[kmin,kmax]]。先对一部分K值进行评价以便缩小K的取值范围,然后再对[K0]=[[k0min],[k0max]]的值穷举聚类,即可提升算法效率,如图1所示。
3.2 自动识别聚类指标权重的LU-K-prototypes算法
关于变量加权的K-prototypes算法,当前主流的方法是将未知集合[Wm]引入K-prototypes算法的距离代价函数,作为聚类变量的加权集合,然后通过多次随机赋值取最佳来对聚类变量赋予权重[2]。但是,随机取值的方法缺乏客观和严谨性,本文采用随机森林算法输出的变量贡献度[3]作为聚类指标权重[Wm],实现了可处理混合属性数据的自动识别聚类指标权重的LU-K-prototypes算法,算法流程如图2所示:
3.3 智能化用户分群算法的实现
本文基于LU-K-prototypes算法和最佳聚类数判定的算法优化相结合,实现了可以自动识别分群数量和分群变量权重的A-LU-K-prototypes算法,算法流程见图3,算法步骤归纳如下:
4 实验验证
4.1 实验环境
算法验证的实验运行环境见表1:
4.2 实验设计
本实验使用某虚拟运营商流量营销项目已处理好的数据集X,在对变量的线性相关性完成验证的前提下,从中选择4个变量作为聚类指标:流量、二充金额、停机时长、用户状态,共选取33841个用户样本,经过数据标准化等数据转换操作,形成了33841*4的数据矩阵。实验设计为对比实验,对数据集X分别运行K-prototypes算法和A-LU-K-prototypes算法,比较聚类结果。为保证实验结果的稳定性和客观性,将两种算法分别运行10次。
4.3 实验结果
(1) K-prototypes算法结果
对数据集X采用K-prototypes算法进行聚类,利用最佳聚类数识别的优化算法通过CH值进行评价来获得最佳聚类数,CH值评价结果如图4所示。
即使用K-prototypes算法的最佳聚类数为[kk]=5类,用户群聚类指标均值或变量某类别数值如表2所示。
(2) A-LU-K-prototypes算法结果
先根据k-prototypes算法的聚类结果,基于随机森林算法的[Gini]系数计算各聚类指标的贡献度,结果如图5所示。
将指标贡献度作为加权聚类的K-prototypes算法的权重[w],对数据集采用A-LU-K-prototypes算法进行聚类,可以得到CH值评价结果,选取CH最大的一段k值区间,如图6所示。即A-LU-K-prototypes算法的最佳聚类数为[kk]=7,各指标权重值如图7所示。
A-LU-K-prototypes算法得到的各群聚类指标均值或变量某类别数值见表3,与K-prototypes算法相比, A-LU-K-prototypes算法的分群数量更多,对分群变量划分出更大的取值区间,说明其分群结果更加精准细致;指标贡献度排序基本无变化,且A-LU-K-prototypes算法可以将指标贡献做出更大的区分,符合业务逻辑认知。
5 研究结论
实验证明,运用A-LU-K-prototypes算法的智能化用户分群模型可实现自动识别分群数量和分群变量权重的功能,可处理属性多样的数据,并通过任意变量对用户群体进行划分,业务实现过程降低了对业务人员经验的依赖。通过与传统的K-prototypes算法的比较可看出基于A-LU-K-prototypes算法的智能化用户分群模型的分群结果具有更加精准细致的优越性,同时具备更好的业务解读性。
参考文献:
[1] 周世兵.聚类分析中的最佳聚类数确定方法研究及应用[D].无锡:江南大学,2011.
[2] 李曉明.k-means类型变量加权聚类算法的研究与实现[D].哈尔滨:哈尔滨工业大学,2006.
[3] 朱丽琴.基于随机森林算法的学生成绩评价研究[D].马鞍山:安徽工业大学,2017.