深度学习回归和OLS的对比

照着R语言和深度学习第三章 “3.6预测房价:一个回归的例子” 做了一遍,用同样的数据又跑了一遍OLS作对比,算是对深度学习多了点理解。

1. 数据

数据来自1970年代中期波士顿,内生变量是郊区房屋的价格中位数,外生变量包括房屋特征、住房所在区域的特征等13个变量。书里没有具体说明数据来源,也没有变量名或者标签,估计是截面数据,否则应该包括年份变量。训练样本404个,测试样本102个。

2. 模型设置

  • 层和网络
    • 一共三层
    • 前两层输出都是64,使用relu激活
    • 第三层输出为1,没有定义激活函数(即默认为线性模型)
  • 优化器:rmsprop
  • 损失:均误方差(MSE,mean squared error,与OLS的目标函数一样)
  • 监控目标:平均绝对误差(MAE,mean absolute error)。监控MSE结果应该不会差很多,选择MAE大概是为了和内生变量单位保持一致,比MSE更容易解释。

3. 模型训练

  • 因为是小样本,采取了K折验证(K = 4)
  • 在每轮训练中
    • 迭代次数为100(epochs = 100)
      • 迭代次数远高于前两个例子,大概是因为样本量太小
    • 每批样本为1 (batch_size = 1)
      • 不知道batch_size的设置原则,以及这里为什么设置成1,后面的章节需要注意一下这个问题
      • 查了一下,batch_size = 1会影响收敛速度
    • 模型跑下来,四折平均MAE为2.8左右,高于书里的2.38
  • 按照书里将迭代次数设为500又跑了一次,花了很多时间(10分钟的样子),远高于第三章的前两个例子(上万样本、张量展开后需要1G 空间)
    • 精确度表现确实好了一些,但仍然不如书上的数字
    • MAE最低点的位置跟书上差不多,都在120次迭代出现

4. 测试

  • epochs = 80, batch_size = 16
  • MAE是3左右,比书里高了0.5,是个不小的差距
  • 试过epochs = 100/120, batch_size = 4/8,MAE也只降到2.8
  • 降低batch_size特别影响速度

5. OLS模型

为了保持可比性,也是用训练样本跑的回归,然后使用回归系数对测试样本进行预测,然后计算MAE,结果为3.3,就是说精度比深度学习方法低了10%。

为了省事,没有用K折方法,由于K折验证降低样本量,估计使用K折或者bootstrap会进一步降低精度。

由于不知道自变量的定义,无法采用更有效的模型,比如传统的房价模型会把某几个变量做交叉或者做二次项,这类模型会获得更高的精度,用这些更好的模型作对比会更有意义,毕竟深度学习模型是高度非线性的。曾经用美国的数据跑过,调一下模型可以使R平方从65%提高到80%,那么把精度再提高10%也许不算难事。

6. 结论与若干细节

  1. 研究问题的影响
    住房市场是很成熟的市场,每个变量的影响在交易过程中已经被考虑得很充分,也就是说市场已经给每个变量制定了合理的价格。这些价格的形成来自买家与卖家(也许还有中介)的讨价还价过程,也就是来自人的计算。人在讨价还价时不会做特别复杂的计算,非常可能就是靠大脑中的线性模型计算,比如100平米的房子比50平米贵两倍。这种情况下,OLS和深度学习取得相同的效果是可以理解的。
    但这不是说深度学习是多此一举,更好的解释是,如果真实的模型是线性的,那么深度学习这个黑箱最终给出的也是个线性模型。对于更复杂的市场,或许深度学习更有优势。
  2. 样本量的影响
    即便真实的世界定价是非线性的,想从几百个样本当中提取复杂的非线性关系,恐怕也不容易。
  3. 运行速度
    大概是batch_size的影响,深度学习跑得很慢,而OLS基本上是一个命令搞定,回车敲下去,立刻出结果。再一次,样本量如果够大(再大的样本OLS还是非常快),batch_size设置大一些,速度可能不再是个问题,而且还可能获得OLS抓不到的效应。
  4. 对世界的理解
    OLS可以看到每个变量的影响,而且还需要我们思考变量是否内生,以确定因果关系。深度学习目的却只在预测,无法提供对世界的理解。经济学知识(以及其他社会科学知识)和计量经济学方法,对于理解世界来说,仍然不可缺少。好的深度学习模型仍然需要和专业知识合作——至少输入哪些变量、生成哪些新变量还是需要专家来决定吧。
    现在我明白了Susan Athey为什么会结论机器学习,或者AI,并不能用来揭示因果关系,只是在模型选择上提供帮助。
  5. 几个细节问题
    (1)为了让模型跑得更快,深度学习通常会把因变量进行标准化变换,每个变量增加1,意味着增加一个标准差。如果是在OLS当中做这种变换,回归系数的解释需要跟着调整。但深度学习并不在意回归系数,只要因变量不做标准化,预测结果的单位是保持不变的。(当然OLS的预测也不会跟着因变量标准化而变化。)
    (2)OLS通常要考虑的内生性、样本选择等问题,原因是一旦出现上述问题,对系数的估计会出现不一致——也就是说样本一旦改变,估计结果会发生显著变化。机器学习虽然不考虑这些问题,但通过使用测试样本,可以对估计结果一致性做出反应,也就是说过拟合。或许机器学习方法能够为计量的结果提供一些参考,这个问题就有待计量经济学家去回答了。

Update

(2021.9.23)
TensorFlow for R网站给出了波士顿房价变量说明,所给的代码也比书里更详细,值得读。

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

推荐阅读更多精彩内容