Этот репозиторий содержит реализацию кода для Timediff, диффузионную модель, предназначенную для генерации данных временных рядов смешанного типа в EHR. Наша работа принимается журналом Американской ассоциации медицинской информатики (JAMIA) .
requirements.txt для установки зависимостей.etdiff_train.py - это скрипт для инициализации модели. После завершения обучения он автоматически генерирует данные временных рядов синтетического EHR и сохранит их в назначенном каталоге, установленном пользователем. Этот каталог может быть указан с помощью аргумента командной строки --check_point_path .models/ETDiff . Пожалуйста, смотрите каталог preprocess для ноутбуков Юпитера и сценариев Python о том, как мы предварительно предварительно обрабатывают данные EHR для обучения и оценки моделей.
Примечание: пожалуйста, установите PYTHONPATH в корне этого репозитория, чтобы запустить базовые модели.
Мы рекомендуем использовать независимые среды для каждой из базовых моделей, поскольку некоторые из них имеют явно разные требования (одним из примеров является версия Python для TensorFlow 1.x). Пожалуйста, обратитесь к репозиторию кода для базовых показаний и приложения 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 -porsing. В противном случае используется T-переход.baselines/halo_preprocess.py и описаниям, предоставленным авторами Halo в их рукописи для предварительного обработки входных данных. Запустите baselines/halo_train.py чтобы обучить модель и baselines/halo_generate.py для отбора проб. Реализация хранится в models/halo . eval_samples.py - это сценарий, ответственный за запуск всех показателей оценки, обсуждаемых в статье; Чтобы запустить код, передайте предполагаемую метрику для использования через аргумент --metric Command Line, а также учебные данные ( --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 }
}