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 }
}