基于价值的决策

漂移扩散模型在基于价值的决策研究中的应用

漂移扩散模型(Drift-Diffusion Model, DDM)是一种广泛应用于心理学和神经经济学的决策模型,主要用于解释人类决策过程中的选择行为和反应时间。在基于价值的决策研究中,DDM展现出了其独特的优势和应用价值。

1. 价值导向决策

基于价值的决策研究主要关注个体如何根据不同选择的预期回报(或“价值”)来做出决策。在这一领域,漂移扩散模型作为一种常用的理论工具,它将决策过程描述为一段时间内证据的累积过程。在基于价值的决策中,个体逐步累积关于各选项的价值信息,直到某一选项的累积证据达到预设的决策阈值,从而做出选择。如在实际生活中,个体在面临不同选择时,会在心中不断权衡各选项的价值。例如,当消费者在考虑购买商品时,会比较不同商品的价格、质量和其他相关因素,并逐步累积这些信息,直到最终做出购买决定。这一证据累积的过程便可以通过漂移扩散模型进行量化和描述。

此外,漂移扩散模型还可以反映决策难度的差异。漂移速率,即证据积累的速度,体现了个体区分选项的能力。较高的漂移速率意味着个体能够更快速地积累有利于某一选项的证据,表明决策过程较为轻松,选项之间的差异较为明显;而较低的漂移速率则意味着个体在不同选项间的价值差异感知较弱,决策过程更为困难。此外,决策阈值的设定反映了个体的决策保守程度。较高的阈值意味着个体在做出决策前需要积累更多的证据,这往往与更加谨慎的决策风格相关;而较低的阈值则表明个体较快做出决策,可能更愿意在较少信息的情况下做出选择。

漂移扩散模型不仅为理解个体如何基于价值做出决策提供了重要工具,还揭示了决策过程中的多重变量如何影响个体的选择行为,深入探讨了人类决策的机制及其背后的认知过程。

2. 优势和局限性

  • 优势:漂移扩散模型(DDM)在基于价值的决策研究中的优势在于,它能够动态模拟决策过程中人们如何逐步积累证据,直至作出最终选择。DDM 可以同时解释决策速度与准确性之间的平衡,帮助我们理解不同人群在决策中的差异。此外,它还可以整合不同的影响因素,如奖励大小、风险偏好等,量化它们对决策的影响。DDM 还能与神经科学数据结合,揭示大脑如何处理价值信息并驱动决策,使其成为研究复杂决策行为的有效工具。

  • 局限性:尽管漂移扩散模型(DDM)在基于价值的决策研究中展现了广泛的应用潜力,但其局限性也不容忽视。首先,当前的DDM主要应用于简单的二元选择任务,在多维度、动态变化的决策环境中,模型的适用性受到限制。此外,模型的参数估计依赖于高质量的数据和合理的实验设计,而在现实应用中,这些条件并不总是能够满足。最后,DDM假设个体使用统一的信息积累机制,未能考虑个体在不同情境下可能调整的信息处理策略。这些局限性要求我们在应用DDM时应保持谨慎,并寻求进一步改进。

3. 未来发展方向

针对DDM的局限性,未来的研究可以集中在多个创新方向上。首先,开发动态适应性模型,使其能够根据环境变化自动调整参数,以实时适应新的信息和反馈。其次,可以将生物反馈(如心率和皮肤电反应)与DDM结合,探索情绪和生理状态对决策过程的影响。此外,研究如何在DDM框架下整合多种感官输入,以提升模型的准确性,也是一个值得关注的方向。进一步的跨文化研究将丰富对决策机制的理解,探索文化和社会因素如何影响个体的决策行为。同时,利用先进的技术手段,如眼动追踪和脑电图(EEG),深入分析决策过程中的神经机制,也将为理解DDM提供新的视角。最后,基于DDM开发个性化决策支持系统,利用机器学习分析个体历史决策数据,为实时决策提供建议,将为应用提供更广阔的空间。

漂移扩散模型作为一种有效的决策建模工具,在价值基础决策中展现了广泛的应用潜力。它不仅可以帮助研究者理解复杂的决策过程,还能为实际决策提供有价值的洞见。未来,随着研究的深入和技术的发展,DDM有望在更多领域中发挥重要作用,推动价值基础决策研究的进一步发展。

实例应用

我们以Dan Banga 和 Stephen M. Fleming(2018)文章为例,看DDM如何在基于价值的决策研究中实现应用。

决策通常是在不确定性和缺乏即时反馈的环境中进行的。在这种情况下,个体通常依赖决策自信来指导行为。尽管决策结果的正确性可能无法立即得知,但这种自信能帮助个体更好地调整后续行为。例如,动物在做出困难选择后,如果感到决策可能不正确,可能会避免浪费时间等待可能不会出现的奖励。人类则可以通过交流彼此的决策信心,因为集体往往会比个人做出更加准确的判断。

尽管决策信心被广泛认为是适应性行为控制中的关键因素,但目前神经生物学上对其独特编码的证据仍不充分。为探讨这一问题,Dan Banga 和 Stephen M. Fleming(2018)设计了心理物理学任务,试图通过区分感知决策中的信心和感知证据的可靠性,并研究这些成分在脑中的神经编码。他们的研究采用了一项运动知觉任务,要求被试判断屏幕上运动点云的总体运动方向是相对于给定参考线的顺时针还是逆时针方向,并报告其对决策正确性的信心水平。

该实验设计包含两个关键因素:

  • 运动一致性(coherence):通过控制运动点的比例影响感知证据的可靠性。

  • 运动方向与参考线的角距离(distance):即运动方向与决策边界的距离。

研究者希望通过这种设计将决策信心的不同组成部分(如感知证据的可靠性与决策边界的距离)分离开来,专门研究大脑中特定区域对决策信心的编码。实验结果显示,被试的决策准确性和信心水平与运动一致性和角距离正相关。当运动一致性更高,或运动方向离参考线较远时,被试决策更准确,反应时间更短,且信心水平更高。

为了更深入地理解选择过程的驱动因素,研究者使用了层次漂移扩散模型(hierarchical drift-diffusion model, HDDM)对被试的反应时进行建模,并分析了在不同实验条件(high coherence low distance, high coherence high distance, low coherence high distance, low coherence low distance)下的漂移率、决策阈值和非决策时间。具体来说,模型估算了以下参数:

  • 漂移率(drift rate, v):反映证据积累的速度或信噪比。

  • 决策阈值(decision threshold, a):做出选择所需的证据量。

  • 非决策时间(nondecision time, t):与刺激编码和反应准备相关的时间。

此外,模型还包含漂移率和非决策时间的跨试次变异性参数(sv 和 st),用于捕捉不同实验条件下保持不变的自由参数。

实验结果显示,随着运动一致性增加和运动方向与决策边界的角距离增大,漂移率也随之增加。这表明在这些条件下,感知到的证据更加明确,证据积累的速度更快,导致决策过程更加迅速且准确。相比之下,决策阈值和非决策时间在不同条件下相对稳定,表明受试者在不同条件下对证据的处理策略(即所需的证据量)并未发生显著变化,但他们感知到的证据质量确实有所不同。

通过使用漂移扩散模型,研究者能够量化被试在不同实验条件下的证据积累过程,并进一步理解他们如何根据感知证据的质量(如运动一致性和角距离)调整决策行为。这一模型帮助研究者分离了感知证据的可靠性与决策信心,揭示了大脑不同区域对这两个变量的独立响应。该实验不仅为我们理解个体如何在不确定性中做出决策提供了洞见,还展示了漂移扩散模型作为工具在解读神经活动和认知过程中的潜力。

文章代码解读

研究者主要通过层次贝叶斯参数估计工具(HDDM,Python工具箱,通过PyMC实现)展开了具体的模型计算分析,以进一步探讨这些认知过程在大脑中的实现机制。

接下来我们将以该研究代码为例详细说明如何实现漂移扩散模型的计算过程:

  1. 库的导入

首先,我们导入了三个主要的库,分别用于模型计算、数据处理和可视化:

import hddm
import pandas as pd
import matplotlib.pyplot as plt
  • hddm: 用于处理分层扩散决策模型(Hierarchical Drift Diffusion Model)的专用库。

  • pandas: 用于数据处理、加载、操作和分析。

  • matplotlib.pyplot: 用于生成图表和可视化数据。

  1. 加载实验数据

data = hddm.load_csv('hddm_input_scan.csv');

此步骤从 名为“hddm_input_scan.csv”的CSV 文件中加载实验数据,数据用于后续的模型计算。

  1. 准备模型

model = hddm.HDDM(data, depends_on={'a': 'condition','v': 'condition','t': 'condition'},include=('sv','st'))

depends_on 参数用于指定模型中哪些变量依赖于实验条件 (condition)。此处假设 a(决策阈值)、v(漂移率)和 t(非决策时间)均与实验条件相关。

include=('sv', 'st'): 指定模型应包含漂移率 (sv) 和非决策时间 (st) 的变异性,允许在不同实验条件下捕捉这些参数的变化。

  1. 找到模型的起始点

model.find_starting_values()

HDDM 使用贝叶斯采样算法,需要为模型提供合理的初始值。此函数通过最大后验估计(MAP)来确定模型的初始参数,从而加速后续采样过程。

  1. 开始 MCMC 采样

model.sample(5000, burn=200,dbname='model',db='pickle')

model.sample(5000, burn=200): 执行马尔可夫链蒙特卡洛(MCMC)采样,采集5000次样本,并丢弃前200次的 "burn-in" 样本以减少初始值的影响。

dbname='model', db='pickle': 指定将采样结果保存到名为 model 的数据库文件中,并使用 pickle 格式存储。

  1. 保存模型输出

model.savePatch('hddm_fit_scan_output')

使用自定义的 savePatch 方法将模型保存为 hddm_fit_scan_output 文件,便于以后重新加载或进一步分析。

最后更新于