Repositori ini berisi implementasi kode untuk Timediff, model difusi yang dirancang untuk generasi data seri waktu tipe campuran dalam EHR. Pekerjaan kami diterima oleh Journal of American Medical Informatics Association (Jamia) .
requirements.txt untuk menginstal dependensi.etdiff_train.py adalah skrip untuk menginisialisasi pelatihan model. Setelah pelatihan selesai, itu akan secara otomatis menghasilkan data seri waktu EHR sintetis dan menyimpannya di direktori yang ditunjuk oleh pengguna. Direktori ini dapat ditentukan dengan argumen baris perintah --check_point_path .models/ETDiff . Silakan lihat direktori preprocess untuk jupyter notebooks dan skrip python tentang bagaimana kami preprocess data EHR untuk pelatihan dan evaluasi model.
Catatan: Harap atur PYTHONPATH dengan benar ke root repositori ini untuk menjalankan model baseline.
Kami merekomendasikan penggunaan lingkungan independen untuk masing -masing model dasar, karena beberapa dari mereka memiliki persyaratan yang berbeda (salah satu contoh adalah versi Python untuk TensorFlow 1.x). Silakan merujuk ke Repositori Kode untuk Baselines dan Lampiran A.4.4 dalam makalah kami untuk lebih jelasnya.
baselines/ehrmgan_train.py ; Implementasi disimpan di models/ehr_m_gan .baselines/dspd_train.py ; Implementasi disimpan di models/tsdiff ; Untuk menggunakan CSPD daripada DSPD, gunakan difusi kontinu untuk -argumen --diffusion .baselines/gtgan_train.py ; Implementasi disimpan di models/gt_gan .baselines/timegan_train.py ; Implementasi disimpan di models/time_gan .baselines/rcgan_train.py ; Implementasi disimpan di models/rc_gan .baselines/crnngan_train.py ; Implementasi disimpan di models/crnn_gan .baselines/pt_forcing_train.py ; Implementasi disimpan di models/p_or_t_forcing ; Melewati argumen baris perintah -adversarial menggunakan p -forcing. Kalau tidak, T-forcing digunakan.baselines/halo_preprocess.py dan deskripsi yang disediakan oleh penulis Halo dalam naskah mereka untuk preprocess data input. Jalankan baselines/halo_train.py untuk melatih model dan baselines/halo_generate.py untuk pengambilan sampel. Implementasi disimpan di models/halo . eval_samples.py adalah skrip yang bertanggung jawab untuk menjalankan semua metrik evaluasi yang dibahas dalam makalah; Untuk menjalankan kode, lulus metrik yang dimaksud untuk digunakan melalui -argumen baris perintah --metric , serta data pelatihan ( --train_path ), pengujian data ( --test_path ), dan data sintetis ( --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 }
}