发布时间:2023-03-11 08:50:01源自:https://www.it-th.com作者 :it谈话网阅读(278)
日常的数据分析工作中,除了基本的拆解法、对比法做分析外,也经常需要用到模型的方法来做预测或者分类。这里会介绍建模分析的基本流程及常见处理方法。
在拿到数据后,不能着急立刻开始清洗数据或者模型训练,而是先了解数据(除建模分析外,其他的数据开发也要做这一步),这样才能避免后期的踩坑,否则十有八九是要复工的。那“了解数据”这一环节,具体要了解哪些东西呢?
在相关性分析这里,数值型变量之间可通过计算相关系数或者画图呈现数值型变量和分类变量可通过箱线图呈现关系。
在初步了解数据后,需要做一些数据预处理的行为。第一步就是对缺失值处理,一般根据样本量多少以及缺失比例,来判断是“宁缺毋滥”的删除,还是缺失值填充。具体处理的思路可以是这样的:
处理完缺失值后,需要做异常数据处理。之前介绍过一篇异常数据处理的方法,数据分析-异常数据识别这篇介绍了多种适应不同场景下的异常数据识别方法。
对于很多模型,如线性回归、逻辑回归、Kmeans聚类等,需要计算不同特征的系数,或者计算样本距离。这种情况下,如果不同特征的数值量级差的特别大,会严重影响系数和距离的计算,甚至这种计算都会失去意义。所以在建模前必须要做的就是要去量纲,做标准化处理。当然有些模型是不需要做数据标准化处理的,如决策树、随机森林、朴素贝叶斯等。
(x-min)/(max-min),将其规范到[0,1]之间
(x-均值)/标准差,将其规范为均值为0,标准差为1
如果这种情况,受离群点影响比较大的话,可以用中位数代替均值,用绝对标准差代替标准差。
还需要注意的是,如果样本分布非常有偏的话,可以先做box-cox变换,将其往正态分布变换后再标准化。
在做完基本的数据清洗以及特征变换后,需要做的是特征选择,一般做特征选择的原因是:
:模型的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确
1)影响模型的稳定性,而且影响模型的解释
举个例子,假设消费支出=0.3*收入,这样可能的模型输出的是:
消费支出+收入
1.3*收入
1.6*收入-消费支出
同样的数值输出,不同的公式计算,会非常模型解释和稳定性的。
2)线性回归模型,会导致最小二乘估计无法计算系数,即使可计算系数方差也很大,即1)中提到的不稳定。
计算每个特征被其他特征拟合的情况,如特征j,被其他特征线性拟合的决定系数为R2通常拟合越好,决定系数就越大且最大可达到1。
所以,当方差膨胀因子过大,说明此特征存在多重共线性。一般大于10会认为有比较强的多重共线性问题。
不同的模型和应用场景下特征筛选方式不同:
对于二分类问题来说,筛选逻辑是:筛选出对二分类结果区分度比较高的特征可以通过计算IV(information value)值的大小来筛选,一般IV值越大,此特征对二分类结果更有区分度。对于回归预测问题,主要针对多元线性回归。筛选特征的方法有:
特征子集选择法、正则化法以及降维法。
特征子集选择法有向前逐步选择法和向后逐步选择法:
具体方法就是从0个特征开始,一个一个逐步从剩余特征中添加使得模型拟合误差最小的特征,在添加过程中得到模型拟合最优的特征组合。
和向前逐步选择类似,只是反过来了,让所有特征入模,再一步一步剔除效果不好的特征,从而达到最优。
比较好用的方法是lasso。一般的线形回归我们只会希望它的误差平方和最小,但是lasso的目标函数在原有目标函数后面加了一项系数惩罚项。这样让目标函数最小,可以实现无意义特征的系数为0,从而实现特征选择。
这个是将原有有一定线性关系的特征线形组合成新的相互独立的特征,所以不适合原有特征已经相互独立的情况。
以上就是数据建模的前期准备流程,做完这些内容就可以开始模型训练,对模型结果进行预测分析啦,而这部分则是不同模型会有不同的具体处理方法。总之,模型训练前的数据分析、数据清洗以及特征选择非常重要,甚至他们是决定建模是否成功的关键因素,所以这部分工作一定要做细做准确。
-END-
欢迎分享转载→ 数据分析-建模分析基本流程