{
  "fetched_at": "2026-10-19T07:15:27Z",
  "source_url": "https://www.kaggle.com/competitions/bda-cuffless-bp-2022-open/data",
  "pages": [
    {
      "name": "data-description",
      "content": "# Тренировочные данные\nВ данных находятся отрезки фотоплетизмограмм (ФПГ) и электрокардиограмм (ЭКГ), измеренных по одному отведению, с частотой 125 Гц в течение 8 секунд (итого 1000 точек для каждого измерения).\n\nВ данных приведено среднее значение диастолического (\"нижнего\") и систолического (\"верхнего\") артериального давления, измеренных с помощью инвазивного прибора в течение этих же 8 секунд с помощью манжетного датчика, измеряющего давление.\n\nЦель соревнования - разработать алгоритм, позволяющий определять верхнее и нижнее артериальное давление неинвазивно, не прибегая к измерениям с помощью манжеты.\n\n## Форма данных и способы чтения\n\nТренировочные данные (папка `train_data/`) представляют собой python-словарь, ключами которого являются:\n\n* `PPG` - даннные фотоплетизмографии, измеренные с частотой 125 Гц в течение 8 секунд\n* `ECG` - данные электрокардиографии, измеренные с частотой 125 Гц в течение 8 секунд\n* `mean_dbp` - среднее диастолическое (\"нижнее\") давление, соответствующее времени измерения ФПГ и ЭКГ\n* `mean_sbp` - среднее диастолическое (\"нижнее\") давление, соответствующее времени измерения ФПГ и ЭКГ\n\nПо каждому ключу в словаре лежит `numpy`-массивы с размерностями (`n_samples x 1000`) для сигналов фотоплетизмографии (`PPG`) и электрокардиографии (`ECG`), и `(n_samples,)` для среднего диастолического `mean_dbp` и среднего систолического `mean_sbp` давлений.\n\nДанные разделены на несколько кусков и запакованы в pickle-файлы, которые можно открыть с помощью данного кода:\n\n```\nimport pickle\nimport numpy as np\n\nwith open(\"data_0.pkl\", \"rb\") as f:\ndata = pickle.load(f)\n```\n\n## Особенности данных\nДля тренировочных данных имеется ряд особенностей, которые следует учитывать при обучении.\n\nПоследовательные отрезки ФПГ и ЭКГ могут принадлежать одному и тому же пациенту - для корректной валидации алгоритма рекомендуется использовать данные из разных файлов - наиболее вероятно, что участки сигналов, взятые из различных файлов (например, записи в `data_0.pkl` и `data_3.pkl` вероятнее будут принадлежать различным пациентам).\n\n#Целевые переменные\nДля каждого временного сэмпла целевыми переменными являются два числа `mean_dbp` и `mean_sbp` - среднее значение диастолического и систолического артериального давления. Эти два_числа необходимо предсказать с помощью вашего решения\n\n# Тестовый набор данных\nТестовые данные представляют собой pickle-словарь, ключами которого являются:\n\n* `PPG` - даннные фотоплетизмографии, измеренные с частотой 125 Гц в течение 8 секунд\n* `ECG` - данные электрокардиографии, измеренные с частотой 125 Гц в течение 8 секунд\n\nДля данных ФПГ и ЭКГ данные представлены в виде `numpy`-массивов с размерностями `(n_samples_test x 1000)`\n\n# Структура данных \n\n## Columns\n\n`competition_data/` - данные для обучения и теста\n\n* `train_data/` - набор обучающих данных\n\n* * `data_0.pkl`\n* * `data_1.pkl`\n* * `data_2.pkl`\n* * `data_3.pkl`\n* * `data_4.pkl`\n* `test_data/` - данные, для которых требуется сделать предсказание\n* * `X_test.pkl`\n\n`y_test_sample.csv` - формат предсказаний, которые необходимо загрузить в систему (количество строк, соответствующих предсказаниям должно соответствовать числу объектов в X_test (11999)).\n\n# Формат предсказаний\nДля каждого объекта из тестовой выборки необходимо предсказать диастолическое (`mean_dbp`) и систолическое давление (`mean_sbp`) и записать их в формате `.csv`. Решение должно содержать заголовки `index, mean_dbp, mean_sbp`\n\nПример заголовков\n\n```\nindex,mean_dbp,mean_sbp\n0,69.09192313156477,134.82323240231014\n```\n\nВ файле `y_test_sample.csv` представлен необходимый формат предсказаний для всей тестовой выборки.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "В этом соревновании вам предстоит построить предсказания диастолического и систолического артериального давления по данным фотоплетизмографии и электрокардиографии.\n\nВ данных находятся отрезки фотоплетизмограмм (ФПГ) и электрокардиограмм (ЭКГ), измеренных по одному отведению, с частотой 125 Гц в течение 8 секунд (итого 1000 точек для каждого измерения) и среднее значение диастолического (\"нижнего\") и систолического (\"верхнего\") артериального давления, измеренных с помощью инвазивного прибора в течение этих же 8 секунд с помощью манжетного датчика, измеряющего давление.\n\n**Цель соревнования** - построить алгоритм, позволяющий определять верхнее и нижнее артериальное давление неинвазивно, не прибегая к измерениям с помощью манжеты.\n\nДля оценки точности алгоритма работы алгоритма (предсказания диастолического и систолического АД) используется постолбцовое среднеквадратическое отклонение (mean column-wise root mean squared error)\n\nгде Nt - количество столбцов (целевых переменных, которые мы пытаемся предсказать, в нашем случае 2).\n\n![![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F729426%2Fea7a222d52587928d923536313ae87f1%2F0_xtGq9Gtp5ZGfO2tm.png?generation=1652213693055560&alt=media)\n]()\n\nгде Nt - количество столбцов (целевых переменных, которые мы пытаемся предсказать, в нашем случае 2).\n\n[MCRMSE = \\frac{1}{m}\\sum{j=1}^{m}\\sqrt{\\frac{1}{n}\\sum{i=1}^{n}(y{ij}-\\hat{y}{ij})^2}]\n\\[MCRMSE = \\frac{1}{m}\\sum_{j=1}^{m}\\sqrt{\\frac{1}{n}\\sum_{i=1}^{n}(y_{ij}-\\hat{y}_{ij})^2} \\]\n\nДанные взяты из работы [1], которые представляют собой переработку данных фотоплетизмограмм и электрокардиограмм из базы данных PhysioNet[2] (см. так же https://physionet.org).\n\nПодробное описание данных представлено в разделе **Data**.\n\n### Участникам\n- Пожалуйста, указывайте полные фамилию, имя и отчество в названии команды для участия в соревновании.\n- Чтение литературы и использование признаков, придуманных в других работах, крайне поощряется\n- Вы можете выкладывать код с решениями/предобработкой данных во вкладке код, если он не полностью раскрывает ваше финальное решение.\n- Топ-3 или Топ-5 участников расскажут о своих решениях и находках на семинаре.\n\n### Литература\n\n[1] M. Kachuee, M. M. Kiani, H. Mohammadzade, M. Shabany, Cuff-Less High-Accuracy Calibration-Free Blood Pressure Estimation Using Pulse Transit Time, IEEE International Symposium on Circuits and Systems (ISCAS'15), 2015.\n\n[2] A. Goldberger, L. Amaral, L. Glass, J. Hausdorff, P. Ivanov, R. Mark, J.Mietus, G. Moody, C. Peng and H. Stanley, Physiobank, physiotoolkit, and physionet components of a new research resource for complex physiologic signals, Circulation, vol. 101, no. 23, pp. 215 220, 2000.)\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "Оценка точности предсказаний будет проводиться с помощью рассчёта среднеквадратичного отклонения ([RMSE](https://en.wikipedia.org/wiki/Root-mean-square_deviation)), усредненного по предсказанию диастолического и систолического артериального давления, выраженного в мм. рт. ст.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F729426%2F3a7297f21e95a6c17911280d3308f36c%2F0_xtGq9Gtp5ZGfO2tm.png?generation=1652213883949524&alt=media)\n\nДля тех, у кого не отобразилась математическое отображение формулы MC-RMSE, может подробнее прочитать о ней, например, [здесь](https://stats.stackexchange.com/questions/487038/what-is-mcrmse-mean-columnwise-root-mean-squared-error).\n\n## Формат решения\nДля каждого объекта из тестовой выборки необходимо предсказать диастолическое (`mean_dbp`) и систолическое давление (`mean_sbp`) и записать их в формате `.csv` (см. пример решения в `y_test_sample.csv`)\nРешение должно содержать заголовки `index`, `mean_dbp`, `mean_sbp`\n\n```\nindex,mean_dbp,mean_sbp\n0,69.09192313156477,134.82323240231014\n```",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "- Пожалуйста, указывайте полные фамилию, имя и отчество в названии команды для участия в соревновании.\n- Чтение литературы и использование признаков, придуманных в других работах крайне поощряется.\n- Использование утечек данных не поощряется - эта задача в первую очередь нужна для того, чтобы вы попробовали реализовать хотя бы один проект самостоятельно.\n- Вы можете выкладывать код с решениями/предобработкой данных во вкладке Code.\n- Полное дублирование кода не рекомендуется.\n- Топ-3 или Топ-5 участников расскажут о своих решениях и находках на семинаре.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}