新媒易动态
NEWS CENTER
NEWS CENTER
2021-03-23
日常的数据分析工作中,除了基本的拆解法、对比法做分析外,也经常需要用到模型的方法来做预测或者分类,这里会介绍建模分析的基本流程及常见处理方法。
在拿到数据后,不能着急立刻开始清洗数据或者模型训练,而是先了解数据(除建模分析外,其他的数据开发也要做这一步),这样才能避免后期的踩坑,否则十有八九是要复工的。
那“了解数据”这一环节,具体要了解哪些东西呢?
在相关性分析这里,数值型变量之间可通过计算相关系数或者画图呈现;数值型变量和分类变量可通过箱线图呈现关系。
在初步了解数据后,需要做一些数据预处理的行为。
第一步就是对缺失值处理,一般根据样本量多少以及缺失比例,来判断是“宁缺毋滥”的删除,还是缺失值填充。
具体处理的思路可以是这样的:
缺失值填充的方法有:
处理完缺失值后,需要做异常数据处理。
之前介绍过一篇异常数据处理的方法,这篇介绍了多种适应不同场景下的异常数据识别方法。
对于很多模型,如线性回归、逻辑回归、聚类等,需要计算不同特征的系数,或者计算样本距离。
这种情况下,如果不同特征的数值量级差的特别大,会严重影响系数和距离的计算,甚至这种计算都会失去意义;所以在建模前必须要做的就是要去量纲,做标准化处理。
当然有些模型是不需要做数据标准化处理的,如决策树、随机森林、朴素贝叶斯等。
当前最常用的数据标准化处理方法有:
1)最小—最大规范化
(x-min)/(max-min),将其规范到[0,1]之间
2)z值规范化
(x-均值)/标准差,将其规范为均值为0,标准差为1;
如果这种情况,受离群点影响比较大的话,可以用中位数代替均值,用绝对标准差代替标准差。
还需要注意的是,如果样本分布非常有偏的话,可以先做box-cox变换,将其往正态分布变换后再标准化。
在做完基本的数据清洗以及特征变换后,需要做的是特征选择,一般做特征选择的原因是:
是什么:模型的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。
影响:
1)影响模型的稳定性,而且影响模型的解释。
举个例子,假设消费支出=0.3*收入,这样可能的模型输出的是:
消费支出+收入1.3*收入1.6*收入-消费支出
同样的数值输出,不同的公式计算,会非常模型解释和稳定性的。
2)线性回归模型,会导致最小二乘估计无法计算系数,即使可计算系数方差也很大,即1)中提到的不稳定。
怎么识别:
计算每个特征被其他特征拟合的情况,如特征j,被其他特征线性拟合的决定系数为R2;通常拟合越好,决定系数就越大且最大可达到1。
所以,当方差膨胀因子过大,说明此特征存在多重共线性。一般大于10会认为有比较强的多重共线性问题。
怎么解决:
不同的模型和应用场景下特征筛选方式不同:
1)特征子集选择法
特征子集选择法有向前逐步选择法和向后逐步选择法:
a)向前逐步选择
具体方法就是从0个特征开始,一个一个逐步从剩余特征中添加使得模型拟合误差最小的特征,在添加过程中得到模型拟合最优的特征组合。
b)向后逐步选择
和向前逐步选择类似,只是反过来了,让所有特征入模,再一步一步剔除效果不好的特征,从而达到最优。