Categories
我的生活状态

人生突然

上周听闻了一个让我多少有些难以置信的消息。年初的时候,北加州这边风浪无常,海边连续出了好几起事故,那阵子刷本地新闻就感到无比压抑。上周才知道,其中一例居然是我认识的人,还在对方家里玩过猫。听完我心里瞬间好像掉落了什么东西,震惊和难以置信。

事情已经过去半年,所以叙述者多少已经平缓过来,可以向我讲述故事本身。然而听故事的人却无法淡定,零落的记忆翻江倒海。我终究还是不善于面对同龄人的死亡的。上一次这样的不知所措还是六七年前听闻研究生同学跳楼。曾经在记忆里鲜活的人啊,就这么再无回响了。过去的几天我一直思绪杂乱,缓了缓才有点力气来写下此篇日志。

记得汶川地震的时候,很多人的反思都是,人世无常,珍惜眼下。我也经常扪心自问,如果知道生命是有限的,那么我还会按照现在的方式活着吗?这虽然是个假设,却也多少可以帮我理清一些层次。很多事情突然间就变得不重要了,不是吗?人生真正念念不忘的东西,也就那么多,不应去贪心。

那则悲剧故事最大的不幸在于,出事的夫妻,一人存活,一人离世。如果未曾了解他们,可能旁人只是一声叹息。我久闻他们的故事,是一对相濡以沫彼此支撑的夫妻,共同面对世间的风风雨雨。与其说是失去了家人,更确切的应该是失去了精神支柱。这般痛苦,远远超出了我的想象范围。万千思绪之后,我也只能一声叹息。

前段时间,一直在听的播客讲到最近连续发生的若干起飞机失事。播客的主人也是飞行教练,所以与其说是在报道行业新闻,不如说是他对于挚友的真诚缅怀。他说,身在这个行业最大的无奈,就是不时要面对自己熟悉的人突然出事的新闻。没有一次是容易的,而且一次只会比一次更加难过。这里每个人都会敬畏蓝天,敬畏自然,敬畏命运。每一次生命无恙的落地,都是好的落地。(Any landing that you can walk away is a good landing).

好好活着,不负光阴。

Categories
我的生活状态

天赋,努力和运气

这个问题从小就被讨论,“天才就是1%的灵感加上99%的汗水”,洗脑洗得深入人心。

人生有些经历之后再去看这三者的关系,多少有些不同的感触。比如天赋,真的是事半功倍没法比。很多时候我的感触是,智商大概就是一种大脑控制的高层次的能力,可以随时转移到其他层次(比如小脑控制的运动能力),但这种转移不是没有成本的。当看到别人轻轻松松、不需要大脑的转移支付,就可以胜任某项任务的时候,只能感慨这就是天才(天生的天赋或者通过长期训练得到的)。不过可惜的是,虽然大脑的计算能力可以用来弥补其他的不足,但是其他层次的能力是没法反向转移到大脑的。这是一个单向的机制。

意识到天赋的强大之后,我学会的最乖的就是不要跟自己过不去。挖掘自己的天赋(就是那种说不出来为什么但是就是能做好的事情),通过反复训练弥补致命的短板,但不要去强求短板可以变成优势,否则太累了。对我而言,语言能力是一个天生的短板。我的耳朵对语音不敏感,我的舌头对发音控制一般,我的大脑对单词记忆不佳,所以我的语言学习一直是很慢的。但还好,语言可以作为一个辅助,我只需要在被制约的时候加强就好了。譬如英语,这么多年来磕磕绊绊,最后也混到了算是流利(听说读写包括单词量)的水平。我从来不会奢望自己能跟母语者比肩,毕竟这不是我的天赋所在。但是那些我真正擅长的天赋,嘿嘿,那就不客气了。领悟力强自然要善加利用。

从伦理哲学的角度,公正是不应该建立在人自己不可控制的因素之上的。比如出生家庭贫富不能自我选择,所以社会应该有意识地弥补个中不公。那同样的,天生的天赋也是不能自己选择的,那么这也属于社会的责任范围吗?从一个社会的角度,人尽其才自然是最优解,但是又如何面对“供给(即现有天赋分配)”和“需求(即社会急需技能)”之间的不平衡呢?换句话说,我们总不能因为社会上大多数人都擅长舞文弄墨,而决定没有人去做饭,对吧?那这个社会直接就饿死了。伦理哲学一直强调的是,公正要去形成对于“努力”的正向激励。有意思的就在这里了,努力和天赋之间的关系又是如何呢?

网络流传,“以大多数人的努力程度之低,根本轮不到拼天赋”,多少给了很多人当头棒喝。从我的经历和观察来说,努力自然是不可缺失的,但也不是注定有收获的。努力在自己的天赋点上,自然会功成名就。努力若是用错了方向,那就是失意时刻的自我安慰了。选择实在是太重要了,比努力本身重要的多。从个人的角度,谋定而后动方为上策。那么从社会的角度,又该如何呢?

运气。天赋和运气多少有些类似之处,都是人本身不可控制的,然而运气则更多像是一个短期的冲击。运气公不公平,这个我们挺难比较的,毕竟我们不知道运气本身来源的机制是什么。然而能不能够把握住运气,这是可以事后观察到的。很多成功往往就是一念之间,过了那个天时地利人和的时刻,再难复制了。我所观察的人群越多,对这点的感触往往也越深。把握住一个机会,往往后面就会顺利很多。你说这很公平吗,也不见得,毕竟也有人一时运气却导致后面满盘皆输(最典型的例子就是中彩票巨奖,简直是厄运的诅咒了)。当然还有不可复制的时运,比如影响一代人的恢复高考,比如我这一代人的留学开放大环境,对很多人都有影响,只是程度不同罢了。

最近在想这些,多少也是试图理解那些以前自己无法理解的事情,提醒自己不能井底观天。我曾在落园首页挂了许久的标语,“兼济以达,独善则穷”,现在看来并没有过时。独善,或者说自我优化,是一个相对容易的任务。兼济,或者说剥离自我利益的层面去思考社会问题,则颇具挑战,却也有意思的多。

Categories
游来游去

Kotzebue一些有意思的记录

最近一两周给自己放了个假,跑到北美大陆和亚洲的交界点。某种意义上,这有点行为主义——抒发不能离境的无奈之情。另一种意义上,这大概反映了当一个人物质满足之后的精神贫乏。当金钱不是约束,且有时间、有精力、有体力,人就会开始找寻冒险的感觉。猛兽总是嗜血的,无法久囚于牢笼。

Kotzebue(读作/ˈkɒtsəbjuː/)是此行的目的城市。这是一个在北极圈以北30英里的城市,人口大概三千左右。这么小的城市或许都不能称之为城市,以至于我可以步行从机场走到市中心的酒店。可是这却是区域枢纽,连接周围区域更小的数十个乡村。走在小城里面,第一感觉就是人的不同。这里的定居者有70%以上是原住民。除了肤色之外,最明显的特征可能就是他们的牙齿了。在美国这么一个以微笑露齿为傲的国家,突然看到黑黄的牙渍和毫无规则的齿列,才知道原来不是每个人都被同化过。

我经常独自旅行,其中之一的便利则是有机会跟当地人交流,观察他们的日常生活。可能以前说过,如果我不是做现在的工作,另一项最吸引我的职业就是社会记者了。最早在国内旅行的时候常常可以遇到不同的人群,然而换个语言环境之后,受限于沟通能力,在很多地方旅行的时候只能跟有限的会说英语的服务行业从业者交流(比如导游、旅店等等)。在美国旅行,虽然大家都说英文,但是旅行本身成为了一种极度商业化的模式——飞机、租车、酒店、餐厅,大家好像忘记了如何开始一段不着边际的对话,卸下各种防备。Kotzebue终于又给我这种熟悉的亲切感。我特意没有安排什么行程,所以可以跑到亚洲餐厅去听老板一路从韩国漂洋过海的故事,也可以跑到码头去跟当地人学习捕鱼的常识。这个小城不大,却聚集着一群十分真诚友好的人,乐意跟我这个外来者磕磕绊绊地交流。还有一项没想到的麻烦或者福利则是没有手机信号。虽然一下飞机发现地图软件没法用有点懵,但之后几天却格外喜欢这种与世隔绝的模式。当信息无法通过网络便利地即刻检索的时候,张嘴问周围的路人,变成了满足好奇心最有效的方式。

Kotzebue不一样的还有,一般来说在美国默认开车可以去任何地方,然而这里却并没有公路网,只能靠飞机。每年夏天有限的一些时间,这里也可以通航运,但是太短了。比如一盒牛奶会是安克雷奇(阿拉斯加最大城市)的2-3倍的价格,新鲜的蔬菜水果更是稀有。一碗炒面20多刀,可想而知背后的食材成本之昂贵。没有租车的好处就是我可以步行丈量这座小城,一不留神就绕着城外走了七八英里,慢慢欣赏苔原风光。

这次还让我多少不适应的是极昼。24小时不落的太阳,让我看着时钟不知所措。睡睡醒醒,后面索性听凭身体本身的疲惫度,累了就睡,醒了就玩,反正太阳一直在外面照耀着。

受限于跟外界连通的能力,这座城市多少有点遗世独立。然而现代化的痕迹也并不难寻。它却有着自己的完整的教育系统(日托班,小学,初中,高中),以及区域性的医院系统。这些基础设施默默支撑着当地居民的生活,却不至于彻底同化,也是一种有趣的平衡。在阅读当地新冠疫苗接种的一些故事的时候,我偶然读到当地一位有意思的女士。她曾经被美国国家地理杂志列为“Alaska Wing Men”,同时也为当地医院的牙科诊所服务着。她的家族企业提供当地的短途飞行服务(Lee's Sea Air taxi),所以她早早就学习飞行,然后一路修习了两个副学士和一个学士学位,之后再继续牙科的学习。媒体上有限的片段没法完全了解她的成长经历,只是多少让我感慨人生的自由与多样性。

当然,我最后还是达成了去白令陆桥(Bering Land Bridge)的心愿,虽然个中波折不少,没能实现自己亲手飞的初愿。站在白令陆桥,开始脑补人类祖先不畏严寒迁徙的故事。冒险精神代代传承,或许在我们身上体现的有所不同,却不曾磨损。我一贯不曾安于现状,让我的人生多少变得有些艰难。但是又如何呢?人生不如意,十有八九。既然都是不如意,选择一种别人不曾走过的道路,又有何妨。

Categories
读书有感

Cluster Robust Standard Error到底调整的是什么?

Cluster Robust Standard Error(中文译作“聚类调整标准误”,但我觉得这个翻译过于拗口,没有英文本身接地气,所以本文中就沿用英文了)一度让我觉得很神奇。从我在学习计量经济学的时候开始,这就是已经写入教科书的标准操作,默认大家都是要汇报的。然而有意思的是,统计学家们对其并不感冒,基本没见过哪个统计学家做的研究里面一定要搞一个Cluster Robust Standard Error的。这和另外一个著名的经济学发明的东西异曲同工——工具变量法。好像都是只有经济学家关心而统计学家颇为冷漠。

我一直觉得Cluster Robust Standard Error怪怪的,虽然我理解它的数学表达和对应的直觉——属于同一个Cluster里面的样本若是相关怎么办?那么假设它们的协方差为0就属于刻意低估了。但是残差项的协方差矩阵到底涵盖的是什么信息呢?我们知道残差项基本就是捕捉两种信息:一种是纯粹的白噪音,另外一种是被遗漏的变量。对于Cluster Robust Standard Error的一个常见的解释是,在同一个Cluster(比如同一学校里面的学生)更容易受到同样的因素影响,而不同Cluster之间的这些影响因素则不尽相同,所以Cluster Robust Standard Error调整的是这些没有被模型捕捉到的因素。这里就更有意思了。 如果我们担心的残差的来源是这些每个cluster可能包含的外界因素,那么直接去进行固定效应(fixed effect)调整难道不是更好吗?最简单的,我们直接对应每个cluster加一个虚拟变量就完了,这样每个样本就相当于减去了cluster的均值,不就排除了这种怀疑吗?那么是不是在如果已经控制了固定效应之后,我们就不需要再进行Cluster Robust Standard Error的调整了呢?有意思的是,虽然众说纷纭,但是领域内的标准操作还是去继续调整Cluster Robust Standard Error。这一点让我奇怪了很久。

还有一个其实有点自我矛盾的是,如果数据本身来源于一个随机对照试验,那么好像标准操作就是无需再调整Cluster Robust Standard Error。这是说,随机对照试验不仅仅可以保证实验组和对照组可比,还可以保证样本之间不相关?听起来好像并不是那么直接。最后一个让我困惑不解的是,Cluster Robust Standard Error表现好的时候是Cluster的数量趋近于无穷,但普遍的业界标准操作是选择最高的加总层次(aggregation level),比如一个区域有若干学校,数据涵盖若干区域,那么标准操作居然是按照区域聚类而不是学校聚类。这不是跟Cluster Robust Standard Error本身的性质相反吗?

在很长的一段时间里,我就这么半知半解地应对着它。反正有人要看的时候,跑一下也不麻烦,但是我自己是基本上不会主动去看的。相比于针对异方差的Eicker–Huber–White调整,我始终不愿意使用一个自己并不是很理解它背后到底在调整什么的方法。

最近和同事又遇到了这个问题,再也不能浑水摸鱼,于是想去看看这些年有没有人更好地解释了这个问题。不搜则已,一搜则有巨大的惊喜,因为不是别人、正是几位大家出手,把这个问题讲清楚了。这篇文章真的是给我一种“拨开云雾见天明”的清爽感。Abadie, A., Athey, S., Imbens, G. W., & Wooldridge, J. (2017). When should you adjust standard errors for clustering? (No. w24003). National Bureau of Economic Research. 虽然还是一篇工作论文,但是已经有接近900的引用了, 可见这个问题折磨了大家多少年。

这篇文章开门见山,直接指出了Cluster Robust Standard Error存在的意义:要么是样本设计(这里指的是研究设计中数据样本搜集的范围和方式)的问题,要么是实验设计的问题。这一下子就讲明白Cluster Robust Standard Error到底想解决的是什么本质问题了:说到底还是,样本是不是有足够的代表性?

先说第一种原因,样本设计。这里基本就是一个多层次抽样的情况。假设数据搜集过程是这样的:先从整体里面随机选择一些cluster(比如从一个国家里面抽取若干城市),然后再在每个cluster里面随机抽取个体样本。在这种情况下,我们无法从样本数据中本身得知数据搜集的办法,所以分析者为了保险起见,可以计算Cluster Robust Standard Error来避免抽样过程的影响。但其实更好的办法是,直接去了解样本数据是怎么来的。论文中给出了一个极其简洁的例子,两个cluster,然后数据产生过程只取决于cluster+白噪音。大致如下:

  1. 有m个cluster,然后每个cluster里面分别各有一半的样本的D变量为1,其他为0(D可以是实验或对照组的标签,或者性别,等等,反正是我们关心的自变量)。
    cluster = 1:100 # cluster的数量
    n = 1000*length(cluster) #总共的样本量
  2. 结果变量y在每个cluster里面受到D的不一样,比如在一半的cluster里面,D的影响是1,而另一半则是-1,这个系数标记为tau,那么 y_i = tau_cluster * D_i+noise。
    D = rbinom(n = n, size =1, prob = 0.5) #每个个体有50%的概率接受处理D=1
    tau = rep(sample(c(-1,1),length(cluster), replace = T), each = 1000) #每个cluster有着不同的处理效应幅度
    y = D * tau + white_noise
  3. 这时候,可以直接用 y ~D 去做回归估计,或者y ~ D+cluster来做固定效应模型。

通过这个数据产生过程的模拟,然后比较普通标准误和Cluster Robust Standard Error,我们可以知道,Cluster Robust Standard Error调整的其实是每个tau_cluster的变化。因为我们在回归模型里面,假设的是tau对于各个cluster是一样的,所以tau_cluster本身的变化就被归到误差项里面去了。这个时候,Cluster Robust Standard Error是有意义的,可以捕捉这一部分的方差。

但是在这个设定下,如果直接用了固定效应模型,Cluster Robust Standard Error的调整就没有意义了,因为我们已经通过引入cluster这个变量捕捉到了tau_cluster的变化(对于每个cluster来讲,tau_cluster是常数,所以固定效应模型可以直接捕捉),那么残差项里面仅存的是白噪音,不需要额外的调整。

其实到这里,我们大概已经理解Cluster Robust Standard Error的来源了,就是数据生成过程中,异质效应(heterogenous treatment effects)是不是存在、我们的模型是不是已经将其纳入考量。如果异质效应仅仅取决于某些变量(比如上例中的cluster,给定cluster之后效应为常数),那么固定效应模型是最直接的调整方式。如果异质效应取决的因素足以被回归模型捕捉到,那么Cluster Robust Standard Error还是有意义的。但话说回来,如果是因为变量本身不可观测而导致模型不能捕捉异质效应,那么Cluster Robust Standard Error的cluster怎么选?直接保守起见把能观测的上一级cluster直接认为协方差矩阵每一项都存在?

文章中提到的第二种情况,实验设计可能导致需要Cluster Robust Standard Error,其实就是异质效应的另一种来源:异质效应存在于个体上,所以我们无法直接建模控制。

总之,这篇论文至少把这个调整的来源讲清楚了。结论简单说来,就是没事不要去调整Cluster Robust Standard Error,除非你知道在数据收集过程中有显著的缺陷会导致异质效应。此外,如果回归建模的时候能直接把这些变量控制住,就不要把它们用于Cluster Robust Standard Error里面。尤其是在cluster数量比较少的时候——你想啊,Cluster Robust Standard Error基本就是假设协方差矩阵对角线上是一个个的方块,方块里面每个数字不为0,但是方块之外都是0。如果cluster很少,那么这个调整就基本上容纳了很多很多方块内部非对角线的数字,显然是过于保守了。

Categories
经济、IT观察与思考

苏格拉底式提问

最近几个月开始实践一种新的合作方式:向我的合作者们不断问问题,而不是直接给出自己的想法。

这么做是遵循苏格拉底式教学法的一个假设:人们心中很多问题已经有答案了,而只需要一个合适的契机把答案引出来。

效果目前看起来还不错。有时候这也是对我自己更高的挑战:问问题的时候强迫自己把事情想清楚,回到本质而不是拘泥于技术和细节上的完美。

其实更多的时候我也不知道答案是什么,但是至少可以做到把自己知道的想明白,然后把还没想明白的问出来。有的时候这样的问题反而会启发更聪明的人帮我找寻下一步的答案。

感觉学无止境也挺奇妙的。花了这么多年想明白的是我应该问更多问题,而不是基于找寻答案。不时收到大家的反馈说我问题问得好,也是一种受宠若惊的感觉。