大家好,目前正在对上市公司和发债主体做信用评级,由于使用软件为SAS,故发在SAS版。
目前建模过程中碰到了一些问题,将整体流程放上来,望得到大家的指正,谢谢!
建模数据:
某一行业内(例如房地产)所有上市/发债主体近5年财务指标的数据,前4年作为training data,最后一年做validation data。自变量为财务指标,因变量为违约标识(即违约为1,非违约为0);
建模流程:
1、对Training Data: 样本/指标缺失率若超过一定阈值则剔除该样本/指标 (指标即自变量);
2、对Training/Validation Data:缺失值填充,这里采用了3个办法,请问是否有更好的缺失值处理方法?
2.1 全部样本均值填充 - 即缺失值采用样本内所有数据的均值替代;
2.2 按年份区分的均值填充 - 即缺失值采用当年全部公司的均值替代;
2.3 按公司区分的均值填充 - 即缺失值采用该公司其他年份的均值替代; 2.4 采用多重填补(Multiple Imputation, MI)进行填充,但是只生产一个数据集(因为不知道生成多个后如何用MIAnalyze进行处理)
3、对Training Data:数据表现方向筛选:即考虑财务指标(自变量)与违约标识(因变量)的相关性(正负相关)与理论方向是否一致,如不一致则剔除;
4、对Training Data:指标GINI值筛选:计算每一个财务指标(自变量)的GINI,并剔除GINI低于0.1的指标 (由于自变量全部为财务指标,均为连续变量,一般不做离散化处理,所以无法计算WOE/IV),这步有比较大问题,无法判断自变量与因变量的关系是否线性,各位有没有办法可以处理?
5、对Training Data:因子分析(此处并未对变量做标准化处理,因为通过标准化系数计算因子得分的时候会对指标做标准化处理);
6、对Training/Validation Data:PROC SCORE分别计算Training和Validation的因子得分;
7、对Training:Logistic建模,将模型结果分别对Training和Validation Data,计算AUC。