you can refer to
如何评估模型的预测性能?
一、模型评估简介
二、评估数据
用于模型评估的数据和用于模型训练的数据最好是两套,否则用模型训练的数据来评估模型的性能可能会高估模型在数据未知情况下的性能表现。通常情况下,我们可以从原始数据中按照一定比例来切分数据,取三分之二的数据用于建模,剩下三分之一的数据用于模型评估。在有多个候选模型的情况下,还可以将数据进一步分为三部分:训练数据(训练模型)、验证数据(评比候选模型性能,选出冠军模型)、测试数据(评估冠军模型的错误率)。
三、评估方法
评估模型性能的方法和指标有很多,不同的算法有不同的模型评估方法和指标。
1、分类模型
-
错分率
-
准确率 (Accuracy)
-
精度(Prediction)
Prediction和Accuracy是两个不同的概念,具体差异请阅读下面两篇文章:
http://www.mathsisfun.com/accuracy-precision.html
http://en.wikipedia.org/wiki/Accuracy_and_precision
-
Lift
-
ROC
-
KS
关于Lift,ROC,KS 的概念和计算方法,请阅读
http://chem-eng.utoronto.ca/~datamining/dmc/model_evaluation_c.htm
对于lift,采用不同的分组方法,得到的Lift值可能是不同的。具体讨论,请阅读
http://www.geniqmodel.com/res/DecileAnalysisPrimer.html
-
收益率
2、数值预测模型(连续变量)
-
均方误(Mean-Squared Error, MSE)
缺陷:可能会因为奇异值(outlier)的存在而夸大影响
-
Mean Absolute Error (MAE)
-
Root Mean-Squared Error (RMSE)
错误的评估方法:
四、SAS 产品介绍
-
SAS Model Manager
生产环境下预测模型管理最佳实践 – SAS
用户使用手册
五、应用难点
1、没有足够多的数据
我们都知道用于建模的数据越多,建出的模型会越可靠和越准确,然而有时候我们很难获取到足够的数据即便只是用于训练模型的数据,更不用说分割成训练、验证和评估三部分。这种情况下可以采用交叉验证的方法尽可能地利用有限的数据。
2、不滥用评估数据,熟悉指标计算的方法,正确理解指标的含义。
-
准确率并非越大越好
下面的 PPT 中作者举了一个例子很好地说明了这一点。
http://www2.mccombs.utexas.edu/faculty/Maytal.Saar-Tsechansky/Teaching/MIS_373/Fall2004/Model Evaluation.ppt
-
准确率不等于收益率,准确率高的模型收益未必最大。
下面的 PPT 中给了一个例子说明这一点。
http://www2.mccombs.utexas.edu/faculty/Maytal.Saar-Tsechansky/Teaching/MIS_373/Fall2004/Model Evaluation.ppt
3、缺乏成本收益数据
一个管理混乱的企业可能都没有精确的成本收益数据,尤其是可以细分到每个活动或者客户的成本收益数据,缺乏这样的数据,分析师也只能巧妇难为无米之炊。
4、如何选择最适用的评估方法?
模型师可能会选择有利于自己的指标来说明模型的性能,客观全面地评价模型,有时候很难做到。
5、如何设置阈值?
没有包治百病的神药,也没有统一的标准设置阈值,用户需要根据企业的需要反复测试验证,直到找出合理的阈值以实现最大收益。下面这篇文章中有一段对于Lift 的介绍,值得一读。
http://www.chinabi.net/CIO/knowledge/200702/27.html