关于统计模型和机器学习模型的区别
我经常被问到的一个问题是如何在一个假设检验中解释机器学习模型的结果?
这个问题的矛盾源于本身这两类模型是有区别的,然而由于使用的方法和技术太过重叠,所以非常容易混淆。直觉上机器学习模型和统计模型没有严格的划分界限,但他们本身是在使用目的上有很大差异的两类模型。机器学习适用于尽可能最大限度准确预测,而统计是用于分析变量之间的关系。虽然在使用上,统计模型也经常用于预测,但显然统计模型不追求高准确性,而更多在于分析变量对于数据的解释能力。
需要明确的是,统计学是对于数据的数学研究,以数据的分布假设为前提,公式和运算非常重要,通过构建一个理论方程进行数据拟合,进而分析变量的关系和推断。统计模型,最关注参数的稳定性和残差的变化特征是否表现为匹配数据的假设分布。例如研究人员通常希望能够通过模型解释x对y的影响,必须构建出线性或者非线性的回归方程进行拟合,即需要明确模型的形式规则,x以何种方式影响了y方程,模型包括了2部分,线性或者非线性的关系和随机的噪声数据,通过最小化拟合值与实际观测值的方差获得线性模型具体参数,仅用于分析已有的数据,止步于统计推断和评估参数的稳定性,很少用于预测新的数据。
合理的线性拟合模型需要符合以下5个假设:
- 变量之间的独立性;
- 方差齐次性;
- 自变量服从正态分布;
- 残差符合正态分布;
- 样本之间的独立性;
而机器学习本身就不认为数据符合某一种特定的假设分布,默认数据的关系本身是复杂的,x对于y的解释是不确定的。机器学习的线性回归,是首先将数据划分为训练集和测试集,通过对训练集的拟合,再通过测试集检验,获得的参数是使得测试集表现最好的参数集合。
关于机器学习模型和统计模型的区别在20年前就已经有讨论,RandomForest的发明人Leo Breiman在2001年发表文章,提出了重要的区别思想并回答了3个问题,
Rashomon: the multiplicity of good models
Occam: the conflict between simplicity and accuracy
Bellman: dimensionality—curse or blessing?
Breiman的对比分析结果表明模型确实不是唯一的,机器学习模型可以兼容简洁性和准确性(在统计模型中难以做到),并且认为数据的维度特征越多可以提供更多的信息。这些并不表明统计模型没用,Brieman认为对于简单问题或简单的系统建模,统计模型很适用。
以一个具体的例子来说明,我在分析一个生态学研究的数据集合,包括了30个样地的多样性数据和14个环境因子变量,根据生态学理论,我希望检验环境因子对于多样性高低的影响。所以我应该使用统计模型,我做出环境因子和多样性数据的关系为线性关系的假设,对数据经过转化后都符合正态分布,经过模型筛选我保留4个变量作为解释变量,最后的模型结果显示出4个环境因子对于多样性的模型解释率,即R2=30%。这个结果表明我证明了这4个环境因子对于多样性的影响具有一定的统计意义,然而这个模型对于预测是没有意义的;即便是我一定使用机器学习模型保留进行预测分析,准确性再高我也无法进一步讨论环境变量和多样性之间的关系。
关于这两种模型的讨论给我们提供了一种新的交互思路,如果在高准确性的前提下,进一步完善理论模型,进而构建出可以被检验的统计模型具体分析变量关系。