TimeDiff
1.0.0
이 저장소에는 EHR의 혼합 유형 시계열 데이터 생성을 위해 설계된 확산 모델 인 Timediff의 코드 구현이 포함되어 있습니다. 우리의 연구는 Journal of the American Medical Informatics Association (JAMIA) 에 의해 받아 들여집니다.
requirements.txt 사용하여 종속성을 설치하십시오.etdiff_train.py 는 모델 교육을 초기화하는 스크립트입니다. 교육이 완료되면 합성 EHR 시계열 데이터를 자동으로 생성하여 사용자가 설정 한 지정된 디렉토리에 저장합니다. 이 디렉토리는 --check_point_path 명령 줄 인수로 지정할 수 있습니다.models/ETDiff 에서 찾을 수 있습니다. Jupyter 노트북 및 Python 스크립트는 모델 교육 및 평가를위한 EHR 데이터를 전제하는 방법에 대한 preprocess Directory를 참조하십시오.
참고 : 기준선 모델을 실행하려면 PYTHONPATH 이 저장소의 루트에 올바르게 설정하십시오.
일부 기준선 모델에 대해 독립적 인 환경을 사용하는 것이 좋습니다. 일부는 독특하게 다른 요구 사항을 가지고 있으므로 (한 가지 예는 Tensorflow 1.X 용 Python 버전)입니다. 자세한 내용은 기준선 및 부록 A.4.4에 대한 코드 저장소를 참조하십시오.
baselines/ehrmgan_train.py ; 구현은 models/ehr_m_gan 에 저장됩니다.baselines/dspd_train.py ; 구현은 models/tsdiff 에 저장됩니다. DSPD 대신 CSPD를 사용하려면 --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 }
}