E**********e 发帖数: 1736 | 1 我现在在一个小的私人公司做risk modeling才半年多。前半年觉得自己做得很不错。
可是现在越觉得有很多问题很疑惑,现在抛出来,请有经验的大侠指导。
公司是做loan lending的小公司,比较新, 积累的charge off 数据4000不到, 这个
跟大银行动辄一两个million 的数据不一样。 modeling的数据不是很好。我就不自爆
奇丑了,主要表现是training 和test的AUC差别很大, 有很大overfitting。
现在问题来了。假设数据分成三个部分,数据一是training, 数据二是test, 数据三
是holdout。holdout 类似于future data, 用来测试最后model 表现。所以这部分数
据只能在建模完后才拿出来。建模前是绝对不是偷看,防止数据“泄露”到modeling
过程。
我的主要问题是怎么预先选初始变量。我原先理解就是用数据一和二,初选个100左右
的变量,很多modeling的书谈到bivariate analysis,算pvalue, spearman
correlation,还有是么clustering,等等。然后用cross-validation 来测试modeling
过程。但是,如果读过statistcial learning的话,cross-validation是拒绝用数据
一和二来初选变量的。如果要初选,必须包括进每一次cross validation。原因是在
cross validation 前任何预选变量会导致bias, 就是数据会“leak”到建模过程里,
导致模型biased,overfitting。 就是training和testing 表现不错,但是用到
holdout 数据是,表现很差。 这一点在我的建模过程中似乎得到验证。
那么怎样预选变量呢。 要知道三大信用数据,再加上别的数据,那得有一千多的变量
。 当然可以code一个自动选变量的程序,把一千多个变量,用IV, pvalue,来扫一遍
,可以这怎么解决有些compound variable。 有些数据公司提供的whitepaper, guide
都建议选变量前看该变量同target variable 的关系,有强烈关系就选上,但这个跟
cross-validation有冲突。
读了那些credit scorecard 的书,感觉没有清楚的谈到这个问题(我的group lead极
度鄙视这些写书的人),不知是不是因为sample size的问题。 size 越大, 越能代表
population分布, 这样的话,用数据一和二来选初始变量“似乎”问题不大。
请教各位有经验的大侠,能不能探讨这个问题。你们在建模的时候,是怎么选出
unbiased变量的,最后一般有多少变量进model? 那些书一般建议7-15个。 |
E**********e 发帖数: 1736 | 2 转stackexchange上的一个帖子。
http://stats.stackexchange.com/questions/27750/feature-selectio
。
【在 E**********e 的大作中提到】 : 我现在在一个小的私人公司做risk modeling才半年多。前半年觉得自己做得很不错。 : 可是现在越觉得有很多问题很疑惑,现在抛出来,请有经验的大侠指导。 : 公司是做loan lending的小公司,比较新, 积累的charge off 数据4000不到, 这个 : 跟大银行动辄一两个million 的数据不一样。 modeling的数据不是很好。我就不自爆 : 奇丑了,主要表现是training 和test的AUC差别很大, 有很大overfitting。 : 现在问题来了。假设数据分成三个部分,数据一是training, 数据二是test, 数据三 : 是holdout。holdout 类似于future data, 用来测试最后model 表现。所以这部分数 : 据只能在建模完后才拿出来。建模前是绝对不是偷看,防止数据“泄露”到modeling : 过程。 : 我的主要问题是怎么预先选初始变量。我原先理解就是用数据一和二,初选个100左右
|
n**********0 发帖数: 66 | 3 我没做过LZ的方向,但是做过一些marketing的分析,选变量的时候我会筛选一些先,踢
出去那些就算选了也很难解释的。我们这边需要最后make sense out of it,那些没法
解释的就略过了。然后就是仁者见仁智者见智了,方法也很多,一般如果AUC增加的不
多了,不要超过20个variable吧我觉得,特别是你sample size不大,另外hold out可
以小点我觉得,这样你可以多些样本。testing也不是必须的吧,可以做in-sample
cross validation |
E**********e 发帖数: 1736 | 4 有supervised的选变量,也有unsupervised的选变量,前者看response variable,后
者不看。 |
l*******s 发帖数: 1258 | 5 如果training data就4k左右,但维数有好几千,这就curse of dimensionality了。
降维吧 或者多找training data |
E**********e 发帖数: 1736 | 6 谢谢回复。 这个降维现在还用不着。在这个领域内,不是常规做法。而且有很多data
cleaning要处理,比如,missing imputation。
三大信用局的数据,四份之三是垃圾。剩下的2,3百变量中,有些事不重要的。 从中挑
选,如果supervised的话(看response 变量)就会带来bias。
具体做过risk modeling 项目的话, 可能会理解我的问题。
【在 l*******s 的大作中提到】 : 如果training data就4k左右,但维数有好几千,这就curse of dimensionality了。 : 降维吧 或者多找training data
|
x***4 发帖数: 1815 | 7 降维效果不大,你要做regularization.
【在 l*******s 的大作中提到】 : 如果training data就4k左右,但维数有好几千,这就curse of dimensionality了。 : 降维吧 或者多找training data
|
E**********e 发帖数: 1736 | 8 是的。 现在已经用regulation了。 问题是每次cross validation, 进入的变量都变
。 AUC提高了点,问题是原先的变量是基于数据一和二选的。 可能还是有bias, 用到
新的数据会performancwe 不好。
现在的问题就是怎么unsupervised的预选重要的变量。不知大银行的modeler是基于
pvalue, IV,clustering 来预选变量吗? 就像那几本modeling的书讲的一样。
【在 x***4 的大作中提到】 : 降维效果不大,你要做regularization.
|
l*******s 发帖数: 1258 | 9 能不能多问问搞业务的部门的人 他们如果能提供一些business insight 或许会有帮助
而且 model往往也是要转化成为business 如果按照他们提供的规则选feature 那么即
便最后效果不是太理想 也算是拉他们下水了 责任不会全在你这里
data
【在 E**********e 的大作中提到】 : 谢谢回复。 这个降维现在还用不着。在这个领域内,不是常规做法。而且有很多data : cleaning要处理,比如,missing imputation。 : 三大信用局的数据,四份之三是垃圾。剩下的2,3百变量中,有些事不重要的。 从中挑 : 选,如果supervised的话(看response 变量)就会带来bias。 : 具体做过risk modeling 项目的话, 可能会理解我的问题。
|