多元线性回归模型精度提升的两种经典方法 -- 虚拟变量&方差膨胀因子

👆 关注一下~,更多商业数据分析案例等你来撩

[图片上传失败...(image-7851b3-1596600390021)]

前言

构建多元线性回归模型时,如果能够充分的使用已有变量,或将其改造成另一种形式的可供使用的变量,将在一定程度上提高模型精度及其泛化能力。因为数据集中的名义变量(或叫类别变量)是无法直接使用的,所以虚拟变量(又叫哑元变量)的设置便是非常经典且必须掌握的一步,原理简单,实现优雅,效果拔群。

注:相关数据源和超详细的代码(python,Jupyter Notebook 版本 + 详细注释)已经整理好,在 “ 数据分析与商业实践 ” 公众号后台回复 “ 虚拟变量 ” 即可获取。



原理趣析

至于虚拟变量的官方解释和值得参考的短小精悍的论文集和虚拟变量的深度应用及拓展,笔者都已经打包放在了后台,文末查看关键字回复即可。因为虚拟变量的原理其实非常简单,所以如何有趣且快速的理解原理并应用于实际的 Python 程序才是本文的侧重点。

在这里插入图片描述

将无法直接用于建模的名义变量转换成可放入模型的虚拟变量的核心就短短八个字:四散拆开,非此即彼。下面用一个只有4行的微型数据集辅以说明。
[图片上传失败...(image-b2d3ad-1596600390021)]
从上表中,不难发现:

  • 该名义变量有 n 类,就能拆分出 n 个名义变量
  • 巧妙的使用 0 和 1 来达到用虚拟变量列代替原名义变量所在类别

接下来要做的就是将生成的虚拟变量们放入多元线性回归模型,但要注意的是:转化后的虚拟变量们需要舍弃一个,才能得到满秩矩阵。具体原因和有关线性代数的解释可以查看笔者打包好的论文,我们可以理解为,当该名义变量可划分为 n 类时,只需要 n-1 个虚拟变量就已足够获知所有信息了。该丢弃哪个,可根据实际情况来决定。
[图片上传失败...(image-9a2e56-1596600390021)]
而至于使用虚拟变量的建模结果,可继续往下看。
[图片上传失败...(image-404182-1596600390021)]



效果实现

数据读入

在这里插入图片描述

属性说明

  • neighborhood:所在街区(A,B,C,D)
  • area:房屋面积
  • bedrooms:卧室面积
  • bathrooms:浴室面积
  • style:房屋类型(乡间小屋/维多利亚/阁楼式)
  • price:房屋价格(美元)

statsmodels 的 ols 函数(最小二乘法)进行多元线性回归建模

在这里插入图片描述

为原数据集的某名义变量添加虚拟变量的步骤:

  1. 抽出希望转换的名义变量(一个或多个)
  2. Python pandas 的 get_dummies 函数
  3. 与原数据集横向拼接
在这里插入图片描述

在这里插入图片描述

再次进行建模操作,发现模型精度得到了很大提升

在这里插入图片描述

笔者特地没有将类别变量 style 也转成虚拟变量,为的就是合理留白,让读者自行尝试并体会 “惊喜” 结果。



结果说明

在这里插入图片描述

所以最终的建模结果为:房屋价格 price = 344.39×area + bedrooms×5609.34 - bathrooms×4900.94 - A×77.9 + B×524381.71 - 203072.2,模型精度为 0.919.

等式结果中,截距项 Intercept 和 area,bedrooms,bathrooms 等项都还好理解,A,B 这两个虚拟变量项可能会给理解带来困难。其实根据原理趣析部分的表格来看,如果房屋在C区,那等式中 A 和 B 这两个字母的值便是 0,所以这便引出了非常重要的一点:使用了虚拟变量的多元线性回归模型结果中,存在于模型内的虚拟变量都是跟被删除掉的那个虚拟变量进行比较。所以这个结果便表示在其他情况完全一样时(即除虚拟变量外的项) A 区的房屋比 C 区低 77.9 美元,B 区则比 C 区贵524381.7 美元。当然我们也可以画个箱线图来查看与检验,发现结果正如模型中 A 与 B 的系数那般显示。

在这里插入图片描述

注:相关数据源和超详细的代码(python,Jupyter Notebook 版本 + 详细注释)已经整理好,在 “ 数据分析与商业实践 ” 公众号后台回复 “ 虚拟变量 ” 即可获取。

还有,虽然模型精度比较理想,但在使用 ols 进行建模时,结果表格下方其实还显示了如下的 Warnings(警告),表明可能存在比较强的多元共线性问题,这也是提升多元线性回归模型精度和泛化性的非常经典且简单的操作,篇幅原因,就放在文末链接了😀
[图片上传失败...(image-51189d-1596600390022)]

多元共线性检测 -- 方差膨胀因子


精彩回顾

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339