TimeDiff
1.0.0
该存储库包含timeDiff的代码实现,这是一个扩散模型,旨在生成EHR中的混合型时间序列数据。我们的工作被美国医学信息学协会杂志(JAMIA)接受。
requirements.txt安装依赖项。etdiff_train.py是初始化模型培训的脚本。训练完成后,它将自动生成合成EHR时间序列数据并将其存储在用户指定的目录中。可以使用--check_point_path命令行参数指定此目录。models/ETDiff上找到。 请参阅jupyter笔记本和python脚本的preprocess目录,以了解我们如何预处理EHR数据进行模型培训和评估。
注意:请正确将PYTHONPATH设置为此存储库的根,以便运行基线模型。
我们建议在每个基线模型中使用独立的环境,因为其中一些具有不同的要求(一个示例是Tensorflow 1.x的Python版本)。有关更多详细信息,请参考基准和附录A.4.4的代码存储库。
baselines/ehrmgan_train.py ;实现存储在models/ehr_m_gan中。baselines/dspd_train.py ;实施存储在models/tsdiff中;要使用CSPD而不是DSPD,请使用连续扩散进行--diffusion参数。baselines/gtgan_train.py ;实现存储在models/gt_gan中。baselines/timegan_train.py ;实现存储在models/time_gan中。baselines/rcgan_train.py ;实现存储在models/rc_gan中。baselines/crnngan_train.py ;实施存储在models/crnn_gan中。baselines/pt_forcing_train.py ;实现存储在models/p_or_t_forcing中;传递命令行参数-adversarial使用p -forcing。否则,使用T型。baselines/halo_preprocess.py ,以及Halo作者在手稿中提供的描述以预处理数据。运行baselines/halo_train.py来训练模型和baselines/halo_generate.py进行采样。实施存储在models/halo中。 eval_samples.py是负责运行本文讨论的所有评估指标的脚本;要运行代码,请传递预定的度量标准,以通过--metric命令行参数以及训练数据( --train_path ),测试数据( --test_path )和综合数据( --sync_path )。evaluate/utility.py上找到。evaluate/privacy.py上找到。 @article { tian2024reliable ,
title = { Reliable generation of privacy-preserving synthetic electronic health record time series via diffusion models } ,
author = { Tian, Muhang and Chen, Bernie and Guo, Allan and Jiang, Shiyi and Zhang, Anru R } ,
journal = { Journal of the American Medical Informatics Association } ,
pages = { ocae229 } ,
year = { 2024 } ,
publisher = { Oxford University Press }
}