Categories
读书有感

≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(五)

鉴于我上周写的[笔记(四)]让很多人反映太枯燥、太无聊(全是公式...可是这就是笔记嘛,又不是写科普文),我努力让这周的笔记除了公式之外多一点直觉和应用层面的点评。

其实[笔记(一)(二)]中说了很多回归和分类器的不同了,那么在经历了线性回归方法之后,就来说说分类器好了。我原来一直觉得回归和分类器没有什么本质不同的...主要是最常用的分类器logit和probit都是我在学计量的时候学的,那个时候老师只是简单的说,这两个和OLS都是一致的,只是我们想让预测值在0~1之内所以做一下变换。而且我们那个时候也不叫他们分类器,而是叫他们“离散被解释变量模型”。前几个月的时候,看data mining的东西,看得晕晕乎乎的,就跑去问精通此类模型的同事MJ,让他跟我科普了一下午为什么这两个模型大家更经常称之为分类器...汗颜啊,那个时候我才知道原来machine learning是先分supervised learning and unsupervised learning,然后才是 regression v.s. classification, and clustering...疏通了脉络之后,再看《The Elements of Statistical Learning》这本书,就觉得顺畅多了。以前只是零零散散的接触一个个孤立的模型,没有找出一个脉络串起来过,自然也就不知道分别适用于什么场景。

其实我挺想说的是,从econometrics到data mining,远远没有想象的那么简单。数学工具上或许很顺畅,但是思维上的转变还是需要时间和实践的。真是为难坏了我这个学经济学出身的孩子(其实话说回来,我好好的不去研究经济学,好奇什么data mining呀~只能聊以一句“殊途同归”来搪塞自己,对嘛,反正都是doctor of philosophy, 只要是科学,本质的思考方式应该是相通的)。不过搞清楚之后,还是觉得很好玩的——以前是雾里看花,觉得什么都漂亮;现在渐渐的能够分清楚这些美丽之间的差异了,也算是个小进步吧。

再有个小废话...记得上小学的时候,老师问大家“长大了想做什么呀?”,我们总是会特别有出息的回答“科学家~”。那个时候有门课叫做《自然》,老师总给我们讲各种各样的发明,让我们一度觉得这个世界上的问题都被解决完了,还当什么科学家啊。然后老师就给我们讲哥德巴赫猜想,大意是世间还有那么几个悬而未决的皇冠问题,等待大家长大了去攻克。后来,越读书越发现,有那么多问题人们是不知道答案的,只是从 ambiguity -> uncertainty -> possibility -> probability -> certainty (law)一步步的走下去。有那么多问题,其实都是悬而未决的哲学问题,等待着聪明的大脑去回答。这也是越读书越觉得兴奋的缘故吧,越来越多的时候老师会被问倒,然后说“不知道”...然后好奇心就又开始勃勃生长...然后又发现更多的很好玩但没有答案的问题...周而复始,有意思的很。

-------满足大家的八卦之心之后,笔记开始-------

线性分类器

对应原书第四章。

先是来一点直觉上的东西:分类器顾名思义,就是把一堆样本归到不同的类别中去。那么这类模型的几何直觉是什么呢?很简单,空间分割嘛。最直白的,我们有一群人,组成了一个大的群体。然后现在要把大家归为男女两类,那么空间自然就是被分割为两个子空间——男和女了。

线性分类器是什么呢?分割男和女的时候,可能分割是三个一群,五个一簇的,所以非要画分割的界限的话,八成是山路十八弯的...我们以前说过,这类的模型问题就是可能复杂度比较高(比如参数的个数较多),导致就算训练误差小,测试误差不一定小。所以呢,我们希望这个分割界限是直线的(二维平面下)、或者平面的(三维空间中),或者超平面的(高位空间中),这样就比较清晰明了的感觉了。

线性分类器:logit模型(或称logistic regression)

这里也不完全是按照吴老师上课讲的东西了,因为回头再看这本书会发现书中还有一些很好玩的直觉很强的东西。错过不免可惜,一并收纳。

首先换一下记号~我们在前面都用代表被解释变量,从现在开始对于分类问题,我们改用

logit模型下,考虑最简单的分为两类,我们有

所以有

这样,分别属于这两组之间的比例就可以找到一个线性的边界了(注:log为单调变换~不影响结果)。这样变换的目的其实无非是,保证,而且两个比例之间存在着一种线性的、或者可以通过单调变换成为线性的关系。类似的当然是大名鼎鼎的probit模型,思路是类似的。

损失函数

显然线性分类器下,在有很多类的情况中,损失函数定义为OLS的残差平方和是没有多大意义的——分类取值只是一个名义量。所以,这里用0-1损失函数:如果,那么损失函数=0;否则,就是没预测准,损失函数=1。写为数学形式,就是损失函数定义为:

所以我们的目标就是,最小化损失函数的期望:

(条件期望迭代)。

LDA:linear discriminant analysis(贝叶斯意义下)

从贝叶斯的角度,我们有

为k出现的概率。

假设X服从联合正态分布,那么我们有

再假设协方差矩阵,所以我们比较两类的时候有:

这样就形成了一个x的线性方程,所以我们找到了一个超平面,实现了LDA。

实践中我们需要估计联合正态分布的参数,一般有,其中为分类k出现的样本数;,即这个样本中,x观测值的平均数;

Fisher视角下的分类器

Fisher提出的观点为,分类器应该尽量使不同类别之间距离较远,而相同类别距其中心较近。比如我们有两群,中心分别为

,那么我们希望尽量大,同时群内方差

尽量小。通过对x进行投影到,我们可以化简的得到

。这样一来,我们的准则就是:

由于是正定阵,所以我们可以进一步写为

其中的特征向量。最终可以求的,最优的正是的最大特征向量。

说实话,我对LDA(或者QDA)的理解都非常有限...这本书里面还有一节说到LDA和logit怎么选,我也是大概看了一下没有特别的看明白...笔记只是如实记录,海涵。暂时还不知道讲到Fisher到底是想讲什么...理解力好有限,唉。

------最后的碎碎念------

除了统计学习精要,Coursera的Model Thinking也终于结课了,做完了期末考试卷,感觉心里空空的。这门课真的是开的非常深入浅出,覆盖了这么多学科、问题的各种模型,非常有助于逻辑思考和抽象。只是多少有些遗憾的,很多东西来不及细细回味,听过了视频就忘了,没有努力的去理解那些模型背后的逻辑。这也是导致最终的期末考试做的不怎么好的缘故——我不想去翻课堂视频或者笔记,只是想考验一下自己对于这些模型的理解和记忆能力。事实证明,除了那些跟经济学或者数学紧密相关的模型,其他的都多多少少记得不是那么清晰了。过阵子应该好好整理一下这门课的笔记,算作是一个良好的回顾吧。

不知道为什么,工作之后再去学这些东西,真的感觉力不从心的时刻多了很多。这半年只有这么区区两门课,就让我觉得有时候不得不强迫自己一下赶上进度,强迫的手段之一就是在落园开始写连载(大家容忍,谢谢~)。不过为了保持一个基本的生活质量,还是应该不时看看这些新东西的,要不生活都腐朽了。

Categories
事儿关经济 经济、IT观察与思考

社会实验的特殊性(二)

还真没想到这一题目居然被我一直写下来了,虽然已然时隔一月。今天想说的是偏社会实验设计的东西,起承于“费歇尔(Fisher)三原则”。当然,关于Fisher,建议大家读一下《女士品茶 (The Lady Testing Tea)》这本书,会得到更多的八卦故事以及他的思想的来源。

Fisher三原则是指实验设计的:1)随机化原则 2)重复原则 3)区组化原则。

我就沿用计量的术语了,第一个随机化原则大家都比较熟悉了,就是保证进行实验的时候实验组和对照组(如为对照实验)的同质性,也就是避免我们在将实验对象分组的时候分组不均、造成由样本偏差带来的实验对照结果偏差。从社会实验来看,实验的对象必然是人,那么人作为一个主动行为和决策的个体,自然会有非常强烈的个体之间的差异,这也是我在[cref %e7%a4%be%e4%bc%9a%e5%ae%9e%e9%aa%8c%e7%9a%84%e7%89%b9%e6%ae%8a%e6%80%a7]里面一直在说的问题。随机化最常见的就是lottery,比如彩票或者抽签的形式决定哪些人可以进入 treatment group、哪些人留作对照。这种方式最常见于小额贷款实验的实践中,因为他们想看一下有机会得到贷款(优惠)的人是否和其他人日后的生活有了显著的差异,从而证明小额贷款的意义。这种实验方法从技术和随机性原则来说并没有什么问题,但是在实践中却经常被口诛笔伐,毕竟有些优惠政策很吸引人、这样子的随机抽取而不是按需分配多少有点不道德的味道。关于疫苗、书籍等牵涉到一代人命运的分配更是如此,这样子随机实验的“机会成本”着实太高,谁也无力大规模承担。众所周知,由于种种原因印度成为了小额贷款等microcredit的优选试验田,因此有了这么一张经典的图片……

因此随机性原则说起来容易,但是很多时候还是有实践困难的,要不也不用RDD(Regression Discontinuity Design)等稍显复杂和依赖于更强假设的模型了(当然,某些时候RDD的假设也不是那么强……这个各种经典的实验分析方法日后另论)。

再说第二条“重复原则”,就是说实验可以被重复、然后结论经得起重复试验的检验。这种要求最常见于理科实验中,比如物理、生物、化学等。刚看到一条新闻说是“欧洲研究人员发现了难以解释的中微子超光速现象",其中有这么一句“参与实验的瑞士伯尔尼大学的安东尼奥·伊拉蒂塔托说,他和同事被这一结果震惊了,他们随后反复观测到这个现象1.6万次,并仔细考虑了实验中其他各种因素的影响,认为这个观测结果站得住脚,于是决定将其公开”。我们姑且不论这个发现的物理意义和新闻的正确性,假设新闻是正确的,那么重复实验1.6万次就足以在大样本下排除实验每一次的一些随机性和测量误差,更充分和有说服力的证明一个实验结论的可靠性。这一条原则在社会实验中相对较难满足,因为每一次都是“独立重复”实验隐含着对于实验对象也要保持一模一样的要求。然而我们很难找到两群完全相同的人去做实验,比如我们今年找大一的学生做一次心理暗示教育,明年再做这个东西下一批学生多多少少就会有一些不同,三五年之后这种不同便更明显了。对同一群人做重复实验显然不可取,在经历了一次 treatment 之后实验个体已然发生了改变,不可能回到原来的起点重新做重复实验了。这也是社会实验面临的严格性挑战之一。最简单的,很多人说做博弈论的实验,觉得只需要一组两个人参与,然而看看实验经济学的paper有多少前后实验设计并无二致的实验进行之后结果迥异。这也是实验经济学就算是 lab experiment、不算 field experiment 也会出现各种争议的缘故。毕竟,实验的对象在变化,这样的重复实验并不是完全的“独立重复实验”。从社会实验来看,更多的只是能说一次结果,然后找一群我们认为关键的特征相似的人群做下一次实验。实验的不可完全重复性某种程度上决定了我们对于一次实验结果的internal validity和external validity的难以确保性,也就是说这种试点实验结果在多大程度上可以复制到所有我们感兴趣的人群中,还需心里预先打个折扣。我觉得,两次实验结果一致那真的有点纯属巧合了,不一致还是正常的。这也是很多时候我对于实验估计出来的marginal effect并不是特别的关心,只看一下数量级便是了,更关心的则是显著性。一般说来,几次相差不大的实验若是都能保证我们预期结论的显著成立,那么便可以考虑大规模的复制了。这也是社会实验和自然科学所无法比拟的严格性。

Fisher提出的最后一个原则是“区组化原则”,指的是“消除试验过程中的系统误差对试验结果的影响而遵守的一条规律”。这里要说的两个概念就是“随机误差”和“系统误差”,都和“测不准原则”有关系。随机误差大致是说我们不知道的随机因素造成的每一次实验结果的客观误差存在性,而对应的解决策略就是上面说到的“独立重复实验”。“系统误差”则是更多的在结果出来之后我们对其进行测量的时候带来的误差,比如最经典的测长度可能会由于尺子本身刻度不准的问题带来系统误差,即最简单的“仪器误差”。当然,系统误差还包括我们本身实验设计所依赖的理论要求和实验条件的差别,比如“热学实验中没有考虑散热所导致的热量损失,伏安法测电阻时没有考虑电表内阻对实验结果的影响等”,称之为“理论误差”。当然,“个人误差”也是客观存在的,指的是“由于观测者个人感官和运动器官的反应或习惯不同而产生的误差,它因人而异,并与观测者当时的精神状态有关”。区组化原则更多的就是为了消除/减轻系统误差的影响、提高实验的精确度而建立的一条原则。区组化的做法无外乎先把实验对象按照某种特征分组,使各组之内尽量同质,然后在此基础上每组分别随机抽样。这里多少有点和“分层抽样”的思想契合。从我的感觉来说,社会实验中我们对于这一点的强调相对少一些,除非是比如性别决定了实验方式需要区别(比如对丈夫和妻子要采取不用的treatment),要不大多数情况下常见的还是完全随机抽样。我的感觉来说,区组化原则更多的在于treatment的制定是不是完全相同,如果我们需要依赖于某种特质来制定treatment,那么分组再随机抽样就显得更为必要。当然我这里的理解可能和fisher的意思有一些偏差,但是实际中我们确实是要考虑,比如对于教育水平极低的人(甚至不识字)采用亲笔签名的方式来确认某项事情并不一定反映了其真实意愿,不见得有最传统的“按手印”来的有效。这里我更多的是想说区组化原则除了可以作为分层抽样的基础,更多的是一种制定实验手段的时候可以考虑一些实施中的实际困难、灵活应变,以保证在某些区组中不至于出现大规模的系统误差影响实验最终的平均意义上的效果。这更多的是一种事前的警觉性体现,事后往往修正就比较难了,实验不尽如人意也就在所难免了。

OK,今天就简单的回顾一下Fisher的实验设计三原则,感觉这些东西在最基础的统计学中都学过,估计大家也都有把这些作为“重点”概念熟记应付考试的经历,其实刚才很多名词我搜了一下出来的都是XX试题详解。其实“随机误差”“系统误差”这些东西说起来容易,先不论很多人只是为了考试,大多数人学这些概念思想的时候很少有同时确实在动手做实验的,哪怕是物理化学实验,更少有思考实验设计“为什么这样”的机会,很多东西大家都约定俗成了。而到了社会实验,面临的问题就更复杂和多元化,对这三原则自然也会有一些不同的解读和理解,大概也是走出象牙塔之后的一种进步吧。实践出真知,比证明多少次plim a= a或者E(u|x)=0都更有切身体验。除了数学公式的所确保的一致性,在一个实验的实践过程中确实有太多的环节可以导致结果的偏差了,尤其是系统误差。如果对这些可能的因素没有警觉,那么实验的设计缺陷可能进一步导致实验结论的稳健性下降。所以,设计实验的过程更多本身就是一种学习和积累经验的过程,然后这种积累到了一定程度,就会影响到理论的发展和进步吧。科学不就是这么一点点艰难的前进的?虽然经济学或者其他社会科学还称不上实验科学,但是这些思想的引入和考量我觉得还是有益无害的。