社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

MEE | 从机器学习分析中获得生态学解释

走天涯徐小洋地理数据科学 • 5 月前 • 98 次点击  


转自公众号“生态学文献分享”的一篇文章
写在前面

机器学习(Machine LearningML)方法已被大量应用在生态环境领域的数据分析中。然而,相较于其强大的预测能力,机器学习对模型结果的解释存在较大局限。该文介绍了目前从机器学习分析中获得结果解释的常用方法,并通过对模拟数据集的分析,探讨了“解释方法(指标)选择”、“无关自变量的纳入”和“样本量大小”三大因素对解释能力的可能影响。作者建议,想要从机器学习结果中获得较准确的生态学解释,应注意选择稳健的解释方法、剔除逻辑不清的无关自变量,其次应尽量扩大样本量。

文章简介

预测是机器学习的强项,解释则是其短板。通常,对数据分析结果的解释主要包括三部分:自变量的重要性排序、单个自变量与因变量的关系(二变量关系)以及多个自变量与因变量的关系(这三点对线性模型与机器学习通用)。因此,想要从机器学习中获取生态学解释,一般需要回答这三个问题。

研究者首先根据预设的自变量与因变量关系模拟了数据集。该数据包括三个自变量(年均温度MAT、年均降水MAP、火烧频率Fire frequency)以及一个因变量物种丰富度SNSpecies richness),其具体关系如下:

其中,公式1中的x代表自变量MATMAPFire frequencySNnormx是每个自变量x能够决定的物种丰富度;公式2中的w是已确定的系数,其值分别为0.60.30.1(重要性:MAT>MAP>Fire frequency)。简而言之,因变量SN的值是根据自变量MATMapFire的值生成的,它们的关系是提前确定了的(图1)。

1. 自变量MATMAPFire frequency与因变量SN的确定关系

在此基础上,再来生成另外两个与因变量SN没有直接关系的自变量,命名V1V2。这两个自变量设计的逻辑是,让其跟已有自变量MATMAPFire frequency存在一定相关,但又与因变量SN没有直接的关系(即仅根据三个自变量的值生成了V1V2)。此时,可将V1V2称为“无关自变量”(spurious variables)。这样就建好了数据集,然后用机器学习方法对该数据集进行分析,检验“解释方法(指标)选择”、“无关自变量”和“样本量大小”对机器学习结果解释能力的影响。


  1. 1. 自变量重要性排序


选择GIGini importance)、 PIpermutation importance)、CPIconditional permutation importance)与SIsplit importance)四种自变量重要性指标对机器学习模型中的自变量进行重要性排序。其中前三个用于随机森林(Random forest; RF)模型,SI则应用在提升回归树(boosted regression tree, BRT)模型中。结果显示,在无关变量V1V2存在的情况下,GISICPI三种指标能给出基本正确的自变量重要性排序(MAT>MAP>Fire frequency)(图2),但GISI对无关自变量V1V2的重要性评价会过高。PI指标给出的排序不准,说明其对存在无关自变量较为敏感。此外,存在无关自变量时,仅增加样本量很难有效提高排序结果的准确性。不过,在剔除了无关自变量V1V2后,几种指标均能给出更加准确的自变量重要性排序,且此时增加样本量还会进一步提升排序准确性(图3)。
2. 利用四种指标评价自变量的重要性(纳入了无关自变量V1V2


3. 利用四种指标评价自变量的重要性(剔除了无关自变量V1V2


  1. 2. 单个自变量与因变量的关系(二变量关系)


选择机器学习中常用的partial dependence plots (PDPs;可译为部分依赖图)accumulated local effects (ALEs;可译为累积局部效应图)来建立单个自变量与因变量的关系。在无关自变量存在的情况下,拟合结果与真实关系都存在较大的差异(图4),但剔除无关变量后会有显著的改进(图5)。


4. 利用PDPALE方法拟合二变量关系(纳入了无关变量V1V2


5. 利用PDPALE方法拟合二变量关系(剔除了无关变量V1V2


  1. 3. 多个自变量与因变量关系


相较于自变量排序和二变量关系,解释多个自变量与因变量的关系更是机器学习的难点。对此,作者采用了代理模型(surrogate model)方法模拟多变量关系并与实际关系进行比较,发现代理模型对样本量大小也较为敏感,通常需要更大的数据集来考虑这种自变量的交互效应。(这部分内容读者可进一步阅读原文)

编辑点评

本文通过预设三个自变量与因变量的关系并纳入两个无关自变量来生成并分析数据集,探讨了机器学习的可解释性(自变量的重要性排序、二变量关系及多变量关系)与解释指标的选取、是否有无关变量以及样本量的关系。生态学研究者在进行相关分析时可作为参考,但文中提出的“剔除无关自变量”可能较难应用(无法判断哪些自变量无关)。总的来说,机器学习结果的可解释性仍存在较大局限,期待未来能不断完善。
原文标题:
Study becomes insight: Ecological learning from machine learning

原文链接:https://besjournals.onlinelibrary.wiley.com/doi/full/10.1111/2041-210X.13686

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166066
 
98 次点击