问题来袭:
要构建一个多元线性回归应该怎么做呢?
莫慌,好好想想~
?
一堆琳琅满目的数据
一个个花样百出的需求
一肚子“不合时宜”的数分能力
(爱情问题来的太快就像龙卷风)
?
无妨
青马与大家共同摸石头过大河
“为了做一名合格的数据分析师
我要努力努力再努力”
1
明确需求
确定分析的对象,即确定因变量y
2
数据清洗
2.1 缺失值处理
(1)缺失值的删除
(2)缺失值的填充(均值填充、众数填充、特殊值填充、热卡填充、聚类填充、极大似然估计等)
(3)缺失值作为一类特殊类型的数据,不删除
2.2 异常值处理
3倍标准差以外的数据可视为异常值
处理方法:
(1)所有异常值填为均值
(2)把大于三倍标准差的数据填充为三倍标准差数据
2.3 分类变量
分类变量处理为one-hot编码
3
相关分析
计算变量之间的相关系数
绘制散点图
4
分割测试集、训练集
一般选择70%为训练集 30%为测试集
5
回归模型(初步训练)
得到模型的残差
为后续的高斯马尔科夫检验做准备
5.1 F检验
F检验,检验所有自变量前面的系数是不是都是0
检验模型是不是符合要求,如果不满足要求,则需要进行模型的重新设置
5.2 t检验
t检验,检验每一个自变量的回归系数是不是0
如果存在不符合要求的自变量,需要对其进行处理
5.3 R^2
度量的模型的解释能力,太高或者太低都不能满足模型的要求
太低,表示模型的解释能力有问题
太高,表示模型过拟合(自变量与因变量的相关性...)
5.4 贝塔系数的正负号(如果有需要的话)
判断有些自变量与因变量之间的符号是不是符合预期假设
6
模型调优
科学理论表明:只要模型数据满足高斯马尔科夫假设,则模型就是线形无偏,即是最优的。
调优的方法:
(1)系数贝塔必须是线形的
(2)残差不能出现序列相关性
高弗雷假设 H0:无序列相关
DW检验
(3)自变量之间不能出现太高的共线性(VIF)
VIF值较高时的处理方法:
(a)对x取自然对数
(b)主成分分析
(c)岭回归/lasso
(4)残差不会出现内生性
常用解决内生性问题的方法:工具变量
(5)残差的同方差性
BP检验
White检验
处理方法:
(a)对因变量y取自然对数
(b)加权最小二乘法
(6)残差的正态性
Q-Q图
SW检验
主要用于样本数小于5000的检验
KS检验
主要用于样本数大于5000的检验
处理方法:
对因变量y去自然对数,可以很有效地消除残差的正态性
7
模型再优化
(1)增加 高次项
(2)增加 交互项
(3)增加 时间趋势
(4)增加 季节趋势
8
逐步回归
有助于变量的筛选
按自变量与因变量之间的相关系数进行变量排序
9
交叉验证
目的是为了得到可靠稳定的模型
10
模型测试
(欢迎指正。。。)
欢迎扫码关注
Data Men