﻿ 基于交叉验证网格寻优支持向量机的产品销售预测
 计算机系统应用  2019, Vol. 28 Issue (5): 1-9 PDF

1. 上海理工大学 能源与动力工程学院, 上海 200093;
2. 上海交通大学 机械与动力工程学院, 上海 200240

Product Sale Forecast Based on Support Vector Machine Optimized by Cross Validation and Grid Search
ZHANG Wen-Ya1, FAN Yu-Qiang1, HAN Hua1, ZHANG Bin2, CUI Xiao-Yu1
1. School of Energy and Power Engineering, University of Shanghai for Science & Technology, Shanghai 200093, China;
2. School of Mechanical Engineering, Shanghai Jiao Tong University, Shanghai 200240, China
Foundation item: National Natural Science Foundation of China (51506125)
Abstract: Considering various factors affecting automobile sales, the penalty coefficient and kernel function parameters of support vector machine are optimized by cross validation and grid search, and a prediction model suitable for automobile sales is established. The simulation results show that the forecasting effect of the improved support vector machine optimized automobile sales forecasting model is better than that of the current model adopted by a company. The model has higher forecasting accuracy and greater credibility, and can provide more accurate sales forecasting reference for enterprise decision-making level.
Key words: Support Vector Machine (SVM)     sales forecast     car sales     grid search     cross validation

21世纪的飞速发展, 人们生活水平得到了极大提高, 越来越多的家庭购买汽车作为代步工具, 我国汽车市场已进入品牌营销时代, 市场竞争也从传统的产品和价格竞争转移到品牌和渠道的竞争[1]. 汽车制造企业若能在生产、制造、销售等环节实现定量化预测, 为其决策提供必要依据, 则可在满足客户个性化需求的同时, 使其在日益激烈的市场竞争中占得先机.

1 基于网格搜索与交叉验证的SVM回归模型 1.1 SVM回归基本理论

 $f\left( x \right) = \omega \phi \left( x \right) + b$ (1)

 $\min {\rm{ }}{R_{\rm{reg}}} = \dfrac{1}{2}{\left\| \omega \right\|^2} + C{R_{\rm{emp}}}$ (2)

 ${L_g} = \left\{ \begin{array}{l} \left| {y - \left. {f\left( x \right)} \right| - \varepsilon, \;\;\;\;\left| {y - f\left. {\left( x \right)} \right|} \right.} \right. \ge \varepsilon \\ 0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left| {y - f\left. {\left( x \right)} \right| \le \varepsilon } \right. \end{array} \right.$ (3)

 $\begin{split} & \min \;\;\dfrac{1}{2}{\left\| \omega \right\|^2} + C\sum\limits_{i = 1}^k {\left( {{\xi _i} + \xi _i^ * } \right)} \\ & {\rm{s}}.{\rm{t}}.\left\{ \begin{array}{l} \left[ {\omega \phi \left( {{x_i}} \right)} \right] + b - {y_i} \le \varepsilon + {\xi _i}\\ {y_i} - \left[ {\omega \phi \left( {{x_i}} \right)} \right] - b \le \varepsilon + \xi _i^ * \\ {\xi _i},\xi _i^ * \ge 0 \end{array} \right. \end{split}$ (4)

 $\begin{split} & \min {\rm{ }}\dfrac{1}{2}\sum\limits_{i,j = 1}^k {\left( {\alpha _i^ * - {\alpha _i}} \right)} \left( {\alpha _j^ * - {\alpha _j}} \right)K\left( {{x_i},{x_j}} \right) \\ & \;\;\;\;\;\;\; + \varepsilon \sum\limits_{i = 1}^k {\left( {\alpha _i^ * - {\alpha _i}} \right)} - \sum\limits_{i = 1}^k {{y_i}\left( {\alpha _i^ * - {\alpha _i}} \right)} \\ & {\rm{s}}.{\rm{t}}.\left\{ \begin{array}{l} \displaystyle\sum\limits_{i = 1}^k {\left( {\alpha _i^ * - {\alpha _i}} \right) = 0} \\ 0 \le \alpha _i^ * {\rm{ }}{\alpha _i} \le C\left( {i = 1,2, \cdots ,k} \right) \end{array} \right. \end{split}$ (5)

 $f\left( x \right) = \sum\limits_{i = 1}^k {\left( {\alpha _i^ * - {\alpha _i}} \right)} K\left( {{x_i},{x_j}} \right) + b$ (6)
1.2 核函数的选择

 $K\left( {{x_i},{x_j}} \right) = \phi \left( {{x_i}} \right) \cdot \phi \left( {{x_j}} \right)$ (7)

 $K\left( {x,{x_i}} \right) = \exp\left( { - \dfrac{{\left\| {x - {x_i}} \right\|}}{{2{\sigma ^2}}}} \right)= \exp\left( { - g\left\| {x - {x_i}} \right\|} \right)$ (8)

 $f\left( x \right) = \sum\limits_{i = 1}^k {\left( {\alpha _i^ * - {\alpha _i}} \right)} {\rm{ }}exp\left( { - g\left\| {x - {x_i}} \right\|} \right) + b$ (9)

1.3 基于网格搜索的SVM参数优化

(1) 先初始化网格搜索中惩罚系数C和核函数参数g的搜索范围和搜索步长, 本文在寻优时分为粗略选择和精细选择.

(2) 进行粗略选择, 粗略选择时C的取值范围是[2–8, 28], 当输入变量(C的取值范围、g的取值范围、交叉验证的折数等)个数小于8, 则指数的步长为0.8, g的取值范围是[2–8, 28], 指数的步长为0.8. 得到粗略选择的Cg.

(3) 根据粗略选择结果再进行精确选择, Cg的取值范围是粗略选择后确定的范围, 指数步长为0.5.

 图 1 基于交叉验证网格寻优的支持向量机预测模型

2 当前的预测模型

 图 2 Model-12m模型参数精细选择等高线图和3D视图

 图 3 销售预测内在的逻辑关系图

 图 4 某公司当前的销售预测方法流程图

3 基于SVM优化模型的汽车销售预测与分析

 图 5 某公司预测销售额和实际销售额比较图

 图 6 某公司预测销售额和实际销售额的相对误差值

 $\left\{\begin{split} & {\rm{MSE = }}\dfrac{1}{k}{\sum\limits_{i = 1}^k {\left( {{y_i} - {y_i}^\prime } \right)} ^2}\\ & {\rm{AE = }}\left| {{y_i} - {y_i}^\prime } \right|\\ & {\rm{RE = }}\left| {\dfrac{{{y_i} - {y_i}^\prime }}{{{y_i}}}} \right| \end{split}\right.$ (10)

3.1 Model-3m预测模型

 图 7 Model-3m预测模型实际销售额和预测销售额对比图

 图 8 Model-X模型和Model-3m模型相对误差对比图

3.2 Model-6m预测模型

 图 9 Model-6m预测模型的相对误差图

 图 10 Model-3m模型和Model-6m模型相对误差对比图

3.3 Model-9m和Model-12m预测模型

Model-9m模型和Model-12m模型预测销售额与实际销售额绝对误差相差较小. Model-9m模型绝对误差最大值是2012年10月的14万元, 最小值是2011年6月的12万元; Model-12m模型绝对误差最大值是2010年10月的12.8万元, 最小值是2013年4月的7.45万元. 将Model-9m模型、Model-12m模型与前述最佳模型Model-6m的相对误差共同示于图11中. 可见, Model-6m的相对误差在0.15%~0.75%之间, Model-9m模型的相对误差在0.25%~0.75%之间, Model-12m模型的相对误差在0.25%~0.65%之间. 三个模型相对误差低于0.45% 的月份数分别为29个月, 29个月和42个月, 分别占样本总数的40%, 40%和58%. 相对于Model-9m模型, Model-12m模型每一个月的相对误差均有所下降; 相对于Model-6m模型, Model-12m模型除了2010年1月、2015年1月相对误差分别增大了0.286%和0.152%, 其余的月份均有不同程度下降. 表明, 以6个月、9个月、12个月的数据进行销售额预测, 效果均较佳, 其中Model-12m模型的整体性能更好. 数据有限时, Model-6m模型亦可实现较为准确的销售额预测.

 图 11 Model-6m,Model-9m和Model-12m三种模型的相对误差对比图

3.4 Model-18m预测模型

Model-18m模型优化后的SVM参数组合为C=1, g=0.707107. 该模型在2013年12月的相对误差达到了3.10%, 比Model-6m、Model-9m和Model-12m的最大相对误差均大三倍以上, 此处不加详细讨论.

3.5 Model-24m预测模型

 图 12 Model-12m和Model-24m相对误差对比图

3.6 各模型评价指标的比较与分析

4 结论与展望

 [1] 贾鸣镝, 郑鑫, 叶明海, 等. 汽车经销商能力评价模型及其实证. 汽车工程, 2012, 34(1): 85-90. DOI:10.3969/j.issn.1000-680X.2012.01.019 [2] Yu Y, Choi TM, Hui CL. An intelligent fast sales forecasting model for fashion products. Expert Systems with Applications, 2011, 38(6): 7373-7379. DOI:10.1016/j.eswa.2010.12.089 [3] 张闯, 姜杨, 吴铭, 等. 基于社会化媒体节点属性的信息预测. 北京邮电大学学报, 2012, 35(4): 24-27. DOI:10.3969/j.issn.1007-5321.2012.04.006 [4] 吴奇, 严洪森. 基于混沌ν-支持矢量机的产品销售预测模型 . 机械工程学报, 2010, 46(7): 128-135. [5] 徐歆, 严洪森. 基于扩展的径向基函数核支持向量机的产品销售预测模型. 计算机集成制造系统, 2013, 19(6): 1343-1350. [6] Vapnik VN. The Nature of Statistical Learning Theory. New York: Springer, 2000. 138–167. [7] 史峰, 王小川, 郁磊, 等. MATLAB神经网络30个案例分析. 北京: 北京航空航天大学出版社, 2010. [8] 杨洪, 古世甫, 崔明东, 等. 基于遗传优化的最小二乘支持向量机风电场风速短期预测. 电力系统保护与控制, 2011, 39(11): 44-48, 61. DOI:10.7667/j.issn.1674-3415.2011.11.008 [9] 王宁, 谢敏, 邓佳梁, 等. 基于支持向量机回归组合模型的中长期降温负荷预测. 电力系统保护与控制, 2016, 44(3): 92-97. [10] Gao X, Hou J. An improved SVM integrated GS-PCA fault diagnosis approach of Tennessee Eastman process. Neurocomputing, 2016, 174: 906-911. DOI:10.1016/j.neucom.2015.10.018 [11] Gencoglu MT, Uyar M. Prediction of flashover voltage of insulators using least squares support vector machines. Expert Systems with Applications, 2009, 36(7): 10789-10798. DOI:10.1016/j.eswa.2009.02.021 [12] 纪昌明, 周婷, 向腾飞, 等. 基于网格搜索和交叉验证的支持向量机在梯级水电系统隐随机调度中的应用. 电力自动化设备, 2014, 34(3): 125-131. DOI:10.3969/j.issn.1006-6047.2014.03.021 [13] 罗公亮. 从神经网络到支撑矢量机(上、中、下). 冶金自动化, 2001, 25(5): 1–5, 2001, 25(6): 1–4, 2002, 26(1): 1–5. [14] 王观玉, 郭勇. 支持向量机在电信客户流失预测中的应用研究. 计算机仿真, 2011, 28(4): 115-118, 312. DOI:10.3969/j.issn.1006-9348.2011.04.028 [15] 张金玉, 张炜. 装备智能故障诊断与预测. 北京: 国防工业出版社, 2013. [16] 付元元, 任东. 支持向量机中核函数及其参数选择研究. 科技创新导报, 2010(9): 6-7. DOI:10.3969/j.issn.1674-098X.2010.09.004 [17] 马向东, 卢占庆, 谭永彦, 等. 基于支持向量机的分类辨识方法及应用. 控制工程, 2016, 23(5): 768-772. [18] 王霞, 王占岐, 金贵, 等. 基于核函数支持向量回归机的耕地面积预测. 农业工程学报, 2014, 30(4): 204-211. DOI:10.3969/j.issn.1002-6819.2014.04.025 [19] Najafi G, Ghobadian B, Moosavian A, et al. SVM and ANFIS for prediction of performance and exhaust emissions of a SI engine with gasoline-ethanol blended fuels. Applied Thermal Engineering, 2016, 95: 186-203. DOI:10.1016/j.applthermaleng.2015.11.009 [20] 罗小燕, 陈慧明, 卢小江, 等. 基于网格搜索与交叉验证的SVM磨机负荷预测. 中国测试, 2017, 43(1): 132-135, 144. [21] 郭李娜, 樊贵盛. 基于网格搜索和交叉验证支持向量机的地表土壤容重预测. 土壤通报, 2018, 49(3): 512-518. [22] 亢生彩. 网格搜索法SVM参数优化在主扇风机故障诊断中的应用. 煤炭技术, 2015, 34(1): 295-297. [23] 王琪, 孙玉坤, 倪福银, 等. 一种混合动力电动汽车电池荷电状态预测的新方法. 电工技术学报, 2016, 31(9): 189-196. DOI:10.3969/j.issn.1000-6753.2016.09.024