原文信息:Varian, Hal R. “Big Data: New Tricks for Econometrics.” Journal of Economic Perspectives, vol. 28, no. 2, 2014, pp. 3–28.
推文作者:范洋,博士,毕业于中科院数学与系统科学研究院,现供职于国家信息中心经济预测部。
写的微观经济学教材风靡全世界的范里安范老师被Google挖去了山景城做首席经济学家,写了一篇给经济学家鼓吹(划掉)介绍大数据的文章,发在JEP2014。
挑重点介绍,大概说了以下几件事。
1. 降低样本外预测误差(提高模型泛化能力)
大数据条件下,一般用来训练预测模型的样本量都是非常大的。这容易使得模型过于复杂,产生过拟合问题,模型的样本内预测效果很好,但缺乏样本外预测能力。因此,大样本条件下最值得关注的问题,不是如何拟合模型,而是如何解决模型的过拟合问题。
1.1 树回归及其剪枝
如果说,最小二乘的实质是想要在一个向量空间中寻找到一个与目标向量距离最小的向量,它与目标向量之间的距离是垂直于这个向量空间的,求最小二乘解就是找到这样的线性组合。作为对比来看,树回归的实质就是,用各种属性把样本的分布形态展开到空间中,这些属性可以是任意关系,它不要求空间的线性性。确定属性实际上就是确定回归里面的解释变量。我们要尽量保证用来展开的这个属性是解释性好的,也就是样本在这个属性上展开的概率分布比较有特点,或者更容易刻画。
--如何解决树回归对过拟合问题:给树剪枝
“大数据”时代,树回归的流行得益于树回归对数据量很大的样本有更好的效果。“logistic regression is better for smaller data sets and tree induction for larger data sets.”(Perlich, Provost, and Simonoff (2003))当然,样本量大很自然地就会引发过拟合问题,树的过拟合问题也需要特别引起关注。这就需要降低树模型的复杂度,给树剪枝。
一种方法是使用下文要讲到的k-fold交叉验证(一般选k=10)。第二种方法,直接使用条件推断树(conditional inference tree,简称CTree),使用一系列假设检验来选择树的结构。第三种方法是在样本中加入一些随机性,方法包括boostrap,bagging,和boosting。bagging主要用于树等非线性模型(Friedman and Hall,2007)。 boosting能显著提高估计量的预测性能,可用于任何种类的分类或回归模型,包括logit,probit,树等。也可以将这些技术结合起来,创建一个“森林”,通常可以显著改进单树方法。
以下简单概述随机森林的工作过程。
1.2 随机森林
1)选择bootstrap样本,开始建立一棵树。
2)在树的每个节点上,随机选择一个样本作出下一个决定。 不要剪枝。
3)多次重复这个过程。
4)为了确定一个新样本的预测值(或分类结果),分别使用每个树回归模型,并使用出现次数最多的结果。
对于高度非线性的数据样本来说,这种方法的预测效果非常好。Howard and Bowels(2012) 认为“ensembles of decision trees (often known as ‘Random Forests’) have been the most successful general-purpose algorithm in modern times.”。
1.3 使用k-fold交叉验证(k-fold cross-validation)选择合适的模型复杂度
1)将全部数据分为k个子集(folds)
2)留出一个子集,使用其余k-1个子集训练模型
3)使用训练出来的模型得到样本外预测值,与被留下的子集比较得出1个样本外预测误差
4)对其余k-1个子集,使用相同的方法再得出k-1个样本外预测误差。
对于这个模型来说,其样本外预测误差就是k个样本外预测误差的平均值。
2. 对变量选择的讨论
考虑线性回归的变量选择问题。传统上,变量选择的方法包括逐步回归(stepwise regression),主成分分析(principal component analysis),偏最小二乘法(partial least squares),以及基于赤池信息准则(AIC)和贝叶斯信息准则(BIC)的复杂性度量等。
对于数据量很大的拟合工作,变量选择的核心关切就成了避免过拟合。本文介绍了Lasso(least absolute shrinkage and selection operator) 及其变体:弹性网回归(elastic net regression):
考虑一个以[b_1,b_2,...,b_n]为系数的线性回归模型,在筛选哪些变量应该进入最终的方程时,我们通过最小化一个包含两部分的函数来实现。这个目标函数的第一部分是传统最小二乘的估计条件,即误差平方和;另一部分是一个如下形式的惩罚函数:
上述方法可以保证模型中某些最小二乘回归系数收敛于0,这样就实现了变量选择。
2.2 Spike-and-Slab regression
2.3 时间序列模型中的变量选择问题
考虑一个有常数项、线性时间趋势和回归项的经典时间序列模型:
3. 机器学习与计量经济学
3.2 对于模型不确定性的讨论
4. 几点评论
首先,当模型不再受制于样本不够大的约束,我们可以考虑尽可能多的影响因素。新的问题就此产生。树回归的重要考虑,以及多种变量选择方法的本质,都是要回答这么一个问题:如何从这些影响因素中提取出解释力最强的属性。
其次,样本量的丰富使得“过拟合”而非“欠拟合”成为估计的核心关切,提高模型的泛化能力基本上等同于去惩罚模型的过拟合。
Abstract
Computers are now involved in many economic transactions and can capture data associated with these transactions, which can then be manipulated and analyzed. Conventional statistical and econometric techniques such as regression often work well, but there are issues unique to big datasets that may require different tools. First, the sheer size of the data involved may require more powerful data manipulation tools. Second, we may have more potential predictors than appropriate for estimation, so we need to do some kind of variable selection. Third, large datasets may allow for more flexible relationships than simple linear models. Machine learning techniques such as decision trees, support vector machines, neural nets, deep learning, and so on may allow for more effective ways to model complex relationships. In this essay, I will describe a few of these tools for manipulating and analyzing big data. I believe that these methods have a lot to offer and should be more widely known and used by economists.