零基础 HDDM 数据分析完全指南:Docker 一键部署与实战
不需要记复杂的 Linux 命令,不需要折腾 Python 环境——本文将带你用最简单的方式在 Windows 上运行 HDDM 进行漂移扩散模型分析。
什么是 HDDM?
HDDM(Hierarchical Drift Diffusion Model,层级漂移扩散模型)是认知心理学和神经科学中广泛使用的反应时分析工具。它能够:
- 🧠 估计认知加工参数:漂移率(drift rate)、决策阈值(threshold)、非决策时间等
- 📊 处理层级数据:同时建模被试内和被试间变异
- 🔬 支持贝叶斯推断:提供参数的后验分布和不确定性估计
典型应用场景
| 研究领域 | 应用示例 |
|---|---|
| 认知心理学 | 知觉决策、记忆提取过程 |
| 临床心理学 | 抑郁症、ADHD 患者的决策机制 |
| 神经经济学 | 风险决策、跨期选择 |
| 精神病学 | 冲动控制障碍的评估 |
为什么选择 Docker?
传统方式安装 HDDM 需要:
1 | |
而使用 Docker 只需要:
1 | |
前置准备
第一步:安装 Docker Desktop
- 访问 Docker 官网
- 下载 Windows 版本并安装
- 启动 Docker Desktop,确保左下角显示 🟢 Running
第二步:拉取 HDDM 镜像
以管理员身份打开 CMD,运行:
1 | |
⏱️ 首次下载约需 5-10 分钟(取决于网络速度)
快速开始:一键命令生成
为了简化操作,我制作了一个命令生成工具。你只需要输入 Windows 文件夹路径,工具会自动生成可运行的 Docker 命令。
使用步骤
1. 打开命令生成器
点击下方链接使用在线版本,或下载 HTML 文件本地打开:
2. 输入你的数据文件夹路径
在输入框中粘贴数据文件夹路径,例如:
1 | |
工具支持多种格式自动转换:
| 你输入的格式 | 自动转换为 |
|---|---|
D:\my\data |
/d/my/data |
"D:\my\data" |
/d/my/data |
D:/my/data |
/d/my/data |
C:\Users\me\data |
/c/Users/me/data |
3. 调整选项(可选)
- CPU 核心数:默认 4 核,根据电脑配置调整
- 端口:默认 8888,被占用时可改为 8787、8889 等
- 镜像版本:默认 latest(推荐)
4. 点击”生成命令”
复制生成的命令,类似这样:
1 | |
运行与使用
在 CMD 中启动
- 以管理员身份打开 CMD
- 粘贴生成的命令,按回车
- 等待容器启动(首次约 30 秒)
成功启动后,终端会显示类似:
1 | |
打开 Jupyter Notebook
- 复制终端中的链接(包含
token) - 在浏览器中粘贴并打开
- 进入 work 文件夹——这里就是你的数据文件夹

命令参数详解
生成的 Docker 命令包含以下参数:
1 | |
| 参数 | 含义 | 说明 |
|---|---|---|
docker run |
启动容器 | 创建并运行一个新容器 |
-it |
交互模式 | 保持交互,可看到运行日志 |
--rm |
自动清理 | 容器退出后自动删除,不占用空间 |
--cpus=4 |
CPU 限制 | 限制容器使用 4 个 CPU 核心 |
-v 本地:容器 |
挂载卷 | 将本地文件夹映射到容器内 |
-p 8888:8888 |
端口映射 | 将容器的 8888 端口映射到本机 |
hcp4715/hddm |
镜像名 | 使用的 Docker 镜像 |
jupyter notebook |
启动命令 | 启动 Jupyter Notebook 服务 |
实战示例:分析一个简单的数据集
示例数据格式
HDDM 通常需要以下列:
| 列名 | 说明 | 示例值 |
|---|---|---|
rt |
反应时(秒) | 0.523 |
response |
反应(正确=1,错误=0) | 1 |
subj_idx |
被试编号 | 1, 2, 3… |
condition |
实验条件(可选) | “easy”, “hard” |
示例代码
在 Jupyter Notebook 中新建一个 Python 文件,运行:
1 | |
结果解读
HDDM 主要估计以下参数:
| 参数 | 含义 | 心理学解释 |
|---|---|---|
| v (drift rate) | 漂移率 | 证据积累速度,反映任务难度和注意力 |
| a (threshold) | 决策阈值 | 谨慎程度,阈值越高越保守 |
| t (non-decision time) | 非决策时间 | 知觉和运动执行时间 |
| z (starting point) | 起始点 | 先验偏向,>0.5 偏向某一反应 |
常见问题解决
❓ 端口被占用了怎么办?
症状:提示 bind: address already in use
解决:修改端口映射,例如改为 8787:
1 | |
然后访问:http://127.0.0.1:8787
❓ 提示权限不足?
症状:docker: permission denied
解决:
- 确保以管理员身份运行 CMD
- 检查 Docker Desktop 是否正在运行
- 尝试重启 Docker Desktop
❓ 如何导入自己的数据?
方法:将数据文件放在挂载的文件夹中,在 Jupyter 中通过 work/ 访问:
1 | |
❓ 容器启动后如何停止?
方法:直接关闭 CMD 窗口即可。
由于使用了 --rm 参数,容器会自动清理,不会占用磁盘空间。你的数据保存在本地文件夹,不会丢失。
❓ 如何保存代码和结果?
方案 1:在 Jupyter 中直接保存到 work 文件夹(推荐)
1 | |
方案 2:使用 Jupyter 的 Download 功能下载 .ipynb 文件
进阶配置
指定镜像版本
如需使用特定版本,修改镜像标签:
1 | |
增加内存限制
如需限制容器内存使用,添加 --memory 参数:
1 | |
完整工作流程图
1 | |
参考资源
学术论文
- Wiecki, T. V., Sofer, I., & Frank, M. J. (2013). HDDM: Hierarchical Bayesian estimation of the Drift-Diffusion Model in Python. Frontiers in Neuroinformatics, 7.
- Pan, W., Geng, H., Zhang, L., et al. (2025). dockerHDDM: A User-Friendly Environment for Bayesian Hierarchical Drift-Diffusion Modeling. Advances in Methods and Practices in Psychological Science, 8(1).
在线资源
- 📘 HDDM 官方文档
- 🐳 Docker 镜像主页
- 💻 HDDM 教程笔记本
总结
使用 Docker 运行 HDDM 的优势:
| 方面 | 传统安装 | Docker 方式 |
|---|---|---|
| 安装时间 | 2-4 小时 | 10 分钟 |
| 配置复杂度 | 高 | 零配置 |
| 环境一致性 | 易出错 | 完全一致 |
| 跨平台 | 困难 | 完美支持 |
| 卸载清理 | 繁琐 | 一键删除 |
通过本文介绍的命令生成工具,即使是零基础用户也能在几分钟内完成 HDDM 分析环境的搭建。希望这篇教程能帮助你顺利进行漂移扩散模型的数据分析!
💬 有问题? 欢迎在评论区留言,或查阅 HDDM 官方文档 获取更多帮助。