2021年费孝通群学论坛·社计未来师资培训班
关于课程

陈老师以对司马迁“究天人之际,通古今之变,成一家之言”的新理解作为开场,提出时空与算法问题的实质是无限与算法问题,而人生与算法问题的实质是有限与算法问题,人们做决策的过程实际上是使用由之前经验形成的算法进行判断,而统计的目的是从不确定的表象中找到确定的真相。

在导言部分,陈老师从父母与孩子的身高关系这一经典案例出发引出“回归”概念,并对它的基本原理和公式进行了讲解,指出研究者需要做的是对变量Y与X的函数关系f进行估计。估计f的目的有推断和预测两种,其中传统的定量研究更关注推断,机器学习则更关注预测。陈老师强调在回归模型中作出的预测不可能达到绝对准确,因此不要奢求完全精准的预测。预测需要用到模型,其中一类是线性模型(linear models)。线性模型是目标变量为其他预测变量的线性组合的模型。为了估计f,首先要搜集数据。如果对数据作出线性模型的假设,估计f的问题就转化为估计系数的问题,此后就只需要通过数据集来训练模型,获得一组用于预测的系数。得到一个模型后需要对其进行评估,常用的评估指标是均方误差(MSE)。计算均方误差时需要找到一些训练集(training data,用来估计模型的数据)以外的观测对象构成测试集(test data),模型在测试集中的误差被称为测试误差,该误差被视为模型在全新样本中泛化误差的近似。正如弃真和纳伪这对统计学误差需要权衡的原理一样,方差与偏差也是需要权衡的,否则会出现过拟合或欠拟合的问题。要想检测模型是否存在这两类问题,最简单的方法就是交叉验证(cross-validation),即将手中数据分成训练集和测试集,用训练集训练模型,再用该模型对预测集进行预测。交叉验证的具体操作方法主要有留出法和k折叠法两种,可以根据实际需求做出不同的选择。

接下来,陈老师讲解了简单线性回归和多元线性回归的使用场景和基本公式,其中最常用的方法是最小二乘估计(OLS)。线性回归得到的模型具有不确定性,包括系数的不确定性和模型设置的不确定性,而且预测模型往往缺乏理论论证,因此不宜将系数解读为真实效应。陈老师强调,线性回归虽然简单,但很多时候并不比一些复杂模型的预测效果差。此外,一些相对复杂的方法也是由线性回归拓展而来,如岭回归和LASSO回归。之后,陈老师对这两种回归模型做了重点介绍。当一般线性回归出现过拟合时,两种方法都能起到提升线性模型泛化能力的作用。岭回归的优势在于它可以处理精确相关导致的OLS报错问题,而LASSO的优势在于它能让系数收缩到0,得到更加易于解释的模型。在机器学习中经常通过使某一函数最小化对模型参数进行估计,这个函数被称为损失函数。岭回归相比于OLS在损失函数上增加了一项,这一项整体被称为“收缩惩罚(shrinkage penalty)”,收缩惩罚越大,损失函数也就越大,结果就是该算法下的系数βj会向0收缩。而LASSO回归与岭回归的区别在于将岭回归收缩惩罚中的βj2替换为了|βj|,与岭回归在结果上的不同是,LASSO回归的系数可能等于0。此后陈老师介绍了Logistic回归的基本原理,并用图片深入分析了ROC曲线的相关数据,讲解了真阳性率和假阳性率这两个评价指标的计算方法。

最后,陈老师强调,所有的模型都只是工具,其背后的相关理念是统计、概率知识。大数据等技术是从深厚的科学文化理念中发展出来的,技术仅能让我们在进行搜集数据等操作时更加便捷。然而,我们绝不能忽视,世界上的意义都是人类所赋予的,如果没有了人文与社会背景,数据和技术都会失去意义。因此不论未来人类使用多高级的技术去分析和解决社会问题,都要保有高度的人文关怀。

课程内容结束后,线上和线下的学员分别与老师就回归的计算与差异、机器预测、系数选择等方面进行了热烈讨论。至此,本次课程取得圆满成功。

上午的课程结束后,对应的“案例讲解与实操练习”课程在当日下午进行。

首先陈老师简要回顾了上午的课程内容并强调了下午练习需要注意的事项。随后助教老师对代码操作进行详细的示范讲解。助教老师使用百度飞桨的AI Studio进行案例赏析,首先介绍了这一系统的基本模块、使用方式,并对相关的基础代码进行了简要说明。接下来老师用医院满意度的数据进行操作,分别使用了一般线性回归、岭回归和LASSO回归进行分析。在每一类的分析中,老师首先讲解了如何读取数据,然后分别使用留出法和k折叠法进行演示,演示中使用了决定系数R2以及均方误差MSE作为评估指标,指出多数情况下并不知道λ系数应该设置为多少,最好的方法是使用交叉验证法来得到最佳λ值所在的范围。此外,他还系统讲解了Python语言中sklearn库的使用,重点介绍了该库metrics中的r2_score和mean_squared_error两个函数的使用,以及.predict等方法在预测时的操作。在讲解中老师强调模型在测试集上的表现是重要的判定依据,强调预测的准确率并不是对机器很好的衡量指标,因为在某一种情况概率非常大时,将结果全部猜测为这一情况会使准确率非常高,因此要重点关注真、假阳性率。从整个代码演示的过程中可以看到,系数R方或R2在一般线性回归中为负,在岭回归时为正,从实践的角度证明了岭回归对模型的改善确实有很大帮助。

示范结束后,学员对尚未掌握的地方进行提问,随后学员们开始正式实操练习。练习过程中陈老师和助教老师对有疑问的学员进行详细指导。此次“案例讲解与实操练习”课程在全场学员成功运行代码后的喜悦中圆满结束。