Жизнь и смерть в данных

Мне тут 37 лет исполнилось вчера и похоже, что самое время подумать о продолжительности жизни ну и заодно сделать аналитический интерактивный дашборд не правда ли? Вот я и подумал, взял открытые данные с одного из самых масштабных исследований влияния факторов риска на смертность «Global Burden of Disease 2019» [1] и с их помощью рассчитал оценку увеличения ожидаемой продолжительности жизни при условии исключения управляемых факторов риска, с учетом страны возраста и пола. Тут ключевое слово «управляемые», поскольку я убеждён, что лучше, чем разглядывание чисел может быть только разглядывание чисел, которые показывают что-то, на что мы можем влиять. Под катом подробнее о процессе обработки данных, исходники самого дашборда на питоне и конечно подробно посмотрим на результаты, там интересно.

43882a5ffbc3c1f121c41755a5f21ca0.gif

Содержание:

  • Факторы риска и формат работы

  • Разглядывание графиков с результатами расчетов

  • Популяризация популяционной статистики

  • Валидация результатов и встреча с хаосом

  • Задача на размышление

  • Ссылки и источники

Факторы риска и формат работы

Итак, факторы были взяты следующие:

  • Табак (курение, пассивное курение, жевательный табак)

  • Употребление алкоголя

  • Употребление наркотиков

  • Низкая физическая активность

  • Небезопасный секс

  • Диетические риски (включает 15 различных факторов риска)

  • Высокое систолическое артериальное давление

  • Высокий индекс массы тела

  • Высокий уровень холестерина ЛПНП

  • Высокий уровень глюкозы в плазме натощак

Результаты с рассчитанной оценкой увеличения ожидаемой продолжительности жизни при исключении приведенных выше факторов я оформил в виде интерактивного дашборда и выложил в открытый доступ https://life-extension-3oyids3kha-uc.a.run.app

На страницу дашборда можно зайти по ссылке, выбрать страну, возраст, отметить факторы риска и посмотреть какое количество лет прибавится к ожидаемой продолжительности жизни при исключении выбранных факторов риска. Сразу можно посмотреть, как распределяется прибавка к продолжительности жизни с выбранными параметрами по отдельным факторам риска, по странам, по половому признаку и по возрастам. С мобильного тоже старался чтобы можно было что-то посмотреть, но в верстке мне конечно есть куда расти.

Веб интрефейс дашборда на десктопном и мобильном размере экрана

Веб интрефейс дашборда на десктопном и мобильном размере экрана

Так же, в открытом доступе на github исходный код и код обработки данных [2, 3]. Реализовано все на питоне, с помощью библиотек Plotly и Dash, для создания интерактивных дашбордов на мой взгляд очень простое и гибкое решение. Все добро упаковывается в докер контейнер и разворачивается с помощью Google Cloud Run — это так называемый serverless хостинг, позволяет экономить за счет того, что использует вычислительные ресурсы только когда кто-то заходит по ссылке, идеальное решение для сервисов, которые вы делаете для небольшой аудитории или для портфолио чтобы показать кому-то по случаю. (кстати напишите в комментариях интересно ли вам было бы чтобы я сделал подробную инструкцию по разработке и деплою подобного приложения)

Результаты и графики

Результаты получились довольно интересные, если вы мужчина средних лет, живущий в одной из постсоветских стран у меня для вас хорошая и плохая новости. Плохая это то, что ваша страна скорее всего в лидерах по мужской смертности по управляемых факторам риска, хорошая новость в том, что прибавка к ожидаемой продолжительности жизни при исключении этих факторов риска тоже одна из самых высоких в мире.

Распределение прибавки к ожидаемой продолжительности жизни по странам для мужчин в возрасте 37 лет и распределение по факторам риска прибавки к продолжительности жизни для России

Распределение прибавки к ожидаемой продолжительности жизни по странам для мужчин в возрасте 37 лет и распределение по факторам риска прибавки к продолжительности жизни для России

В целом же оценка увеличения опж как у мужчин так и у женщин сильно варьирует в зависимости от страны и возраста, но в первые 40 лет жизни не слишком изменяется, находясь в интервале 5.87 (q05=4.09, q95=8.09) лет, зато начиная с 40 лет стремительно начинает падать снижаясь к 80 годам более чем вдвое до 2.51, (q05=1.68, q95=3.43) соответственно. Что в целом логично ведь людей, имеющих факторы риска, связанные с плохими привычками и нездоровым образом жизни до такого возраста, доживает гораздо меньше. Вывод, если вам 40 лет — самое время «закрыться с прибылью» и начать вести здоровый образ жизни прямо сейчас, позже может быть уже поздно.

Распределение увеличения ожидаемой продолжительности жизни по возрасту.

Распределение увеличения ожидаемой продолжительности жизни по возрасту.

Интересные графики также получаются если добавить к данным разметку стран по уровню дохода от всемирного банка и отобразить каждую страну в координатах, где по горизонтали будет лежать текущая продолжительность жизни при рождении, а по вертикали полученная оценка увеличения продолжительности жизни при исключении управляемых факторов риска. Очередная иллюстрация классического «Все счастливые семьи похожи друг на друга, а каждая несчастливая семья несчастлива по-своему.»

Ожидаемая продолжительность жизни к увеличению ожидаемой продолжительности жизни при рождении для стран раскрашенный по уровню дохода.

Ожидаемая продолжительность жизни к увеличению ожидаемой продолжительности жизни при рождении для стран раскрашенный по уровню дохода.

Разброс значений в оценке увеличения опж довольно маленький в странах с самой высокой продолжительностью жизни и напротив, чем меньше опж, тем разброс по вертикальной оси становится больше. Интересно что наибольшее значение оценки увеличения продолжительности жизни получается в странах нижнего среднего и верхнего среднего дохода, как правило — это развивающиеся страны, возможно такие высокие значения можно объяснить тем что в этих странах у людей уже появилась возможность вести нездоровый образ жизни, но еще нет такой хорошей медицины как в самых богатых и развитых странах.

С другого конца продолжительности жизни как правило находятся самые отстающие страны со слабой экономикой и их оценка увеличения продолжительности жизни при исключении управляемых факторов риска даже еще ниже чем в самых богатых странах, конечно не потому что все там поголовно ходят каждый день в спортзал, а скорее потому что смертность в этих странах больше связана с факторами на которые каждый отдельный человек повлиять может довольно слабо, что-то вроде отсутствия гигиены чистой питьевой воды и базовых медицинских услуг.

Взглянем еще и на сравнение между среднемировыми мужчинами и женщинами по вкладам факторов риска в оценку увеличения продолжительности жизни. В целом у обоих полов основную и примерно одинаковую долю занимают метаболические и пищевые факторы риска, но у женщин гораздо больший вклад от исключения небезопасного секса — 7% против 3.2% у мужчин, а у мужчин бросаются в глаза в разы большие доли вкладов при исключении употребления алкоголя и табака —  7.9% против 2.1% и 16% против 6.4% соответственно. Выводы делайте сами.

3f140499556d24c07aee42aec3fc29a5.png

Обработка данных и немного популярной популяционной статистики

Прежде нам нужна интуиция о том, как строится оценка «ожидаемая продолжительность жизни», по сути, это среднее количество лет, которое проживут гипотетические люди, находящиеся в одной половозрастной группе, при условии, что коэффициенты смертности останутся такими же, какими мы их наблюдали на момент сбора данных.

Мы говорим как бы:, а давайте посчитаем соотношение населения по возрастам к смертности в этих возрастах за текущий год и представим, что эти соотношения не будут меняться в будущем, а затем смоделируем популяцию воображаемых статистических существ, над которыми мы проведем совершенно не гуманный эксперимент. Эти статистические люди должны будут родиться все в один момент в количестве скажем 100.000, а затем единственной их задачей будет жить с теми же коэффициентами смертности как и в нашем реальном мире.

Затем мы сразу переходим к тому печальному моменту, когда в нашем смоделированном мире умер последний его представитель и начинаем свои безжалостные подсчеты. Нам нужно посчитать для каждого года жизни этой популяции сколько лет удалось прожить тем статистическим людям, которые до этого возраста дожили.

Например, упрощено возьмем что коэффициенты смертности начинаются с 0.01 и увеличиваются на 0.01 на протяжении 100 лет. Таким образом если в возрасте 0 лет у нас было 100.000 людей то до возраста 1 доживет уже 100.000 — (100.000×0.01) =  99.000, тогда до следующего возраста доживет уже 99.000 — (99.000×0.02) = 97.020 и так далее до возраста 101 до которого уже не доживет ровно 0 статистических существ т.к. коэффициент смертности в 100 лет станет равным 1.

Далее мы считаем сколько человеко-лет было прожито в каждой возрастной группе, например от 0 до 1 года у нас умерло 1000, значит 99.000 человек прожили полный год в этом возрасте, а из тысячи тех, кому не повезло будем считать, что они умирали в течении года равномерно и в среднем тогда получается, что они прожили в этом возрасте полгода (кто-то умер в начале года, а кто-то в конце, находим среднее) итого 99.000 + 1000 / 2 = 99.500 человеко-лет для возраста 0. Так повторяем для каждого возраста.

Теперь чтобы посчитать ожидаемую продолжительность жизни в любом возрасте, мы берем выбранную возрастную группу, смотрим сколько в ней было человек на старте, и находим сумму прожитых лет начиная с этого возраста до самого последнего, и потом находим среднее, то есть делим сумму лет на количество человек — получаем среднее количество лет которое проживет наш воображаемый статистический человек находясь в этом возрасте.

Ну, а чтобы посчитать прибавку к ожидаемой продолжительности жизни достаточно пересчитать все вышеперечисленные пункты с подправленными коэффициентами смертности из которых мы убрали смерти, связанные с фактором риска. Тут тоже все просто, меньше коэффициент смертности больше гипотетических людей проживают больше лет. Затем вычитаем из полученного результата оригинальную продолжительность жизни и получаем прибавку.

То есть основная часть задачи состоит в том, чтобы рассчитать на сколько уменьшится смертность в каждом возрасте при исключении фактора риска. И тут есть одна сложность если взять смертность по каждому фактору риска и сложить, то получится число в несколько раз большее чем вообще людей умерло, это происходит потому, что каждая смерть может быть связана с несколькими факторами.

То есть если мы напрямую вычтем смертность, связанную с фактором риска, то получится, что мы как бы говорим окей, те люди, смерть которых была связана, например с курением и высоким давлением они бы все не умерли если бы исключили курение, но кажется, что это утверждение вряд ли верно. Чтобы получить более правдоподобную оценку мы можем сложить смертность по каждому фактору риска, посчитать долю каждого фактора риска в общей сумме, а затем взять число смертей из графы All risks factors, куда просто записывается любая смерть, которая была связана с одним или более фактором риска, и посчитать вклад каждого фактора риска в это число.

Интерфейс конфигуратора для выбора параметров при загрузке данных с результатами исследования Global Burden of Disease: https://vizhub.healthdata.org/gbd-results/

Визуальное представление разницы детальной и агрегированной статистики смертности по факторам риска

Валидация результатов и встреча с хаосом

Чтобы проверить совпадут ли результаты моих расчетов с ожидаемой продолжительностью жизни уже рассчитанной авторами исследования я взяв исходные данные сайта предоставляющего доступ к данным исследования Global Burden of Disease https://vizhub.healthdata.org/gbd-results/ Взяв смертность с разбивкой по полу и возрасту для 204 стран я пересчитал ожидаемую продолжительность жизни. Когда я построил гистограмму распределения средней абсолютной ошибки по странам и по полу между рассчитанным мною значением и оригинальным, я был озадачен:

Средняя абсолютная ошибка между рассчитанным значением ожидаемой продолжительности жизни и оригинальными данными из исследования

Средняя абсолютная ошибка между рассчитанным значением ожидаемой продолжительности жизни и оригинальными данными из исследования

То есть в среднем ошибка довольно небольшая составляет порядка 0.07 лет, в пересчете на дни около 25 дней. Все было бы неплохо, если бы не два еле заметных столбика на значениях 1.5 и 2.59 года, оказалось что высота этих столбиков равна единицам. Но когда я узнал что эти столбцы отвечали значениям посчитанным мною для мужчин и женщин по стране Украина, то был просто обескуражен. Дальше я взглянул на сравнение рассчитанного и загруженного значений по возрасту для мужчин по Украине и увидел следующую картину.

34f04926a2e207611b931b13d45bb7cf.png

То есть рассчитанное с помощью смертности и популяции значение оказалось гораздо ниже чем загруженное с того же сайта. А поскольку для всех остальных стран значения практически совпадают то можно сделать наиболее вероятное предположения что после расчета ожидаемой продолжительности жизни для Украины были либо были увеличены данные по смертности либо снижены данные по популяции. В общем тут я грустью еще раз осознал, что война это абсолютный хаос, который просачивается везде.

Заключение

На прощание интересный мысленный эксперимент на подумать, мы знаем, что прогресс не просто идет, а двигается с ускорением. Еще пару лет назад мы не могли себе представить, что появится чат GPT и что он будет настолько мощным, так же каждый год появляются новые способы лечения, позволяющие людям жить дольше и чувствовать себя лучше. Представьте, что через 5 лет появится способ отката биологического возраста на 5 лет, а в течение следующих 5 лет медицина научится делать откат на еще 10 лет и так далее. А теперь подумайте сколько лет жизни можно потерять, не дожив до первой продлевающей жизнь терапии!

Кстати если вас интересует тема продления жизни присоединяйтесь к сообществу активистов https://openlongevity.org/ продвигающих данное направление на всех уровнях от научных разработок до привлечения инвестиций и подготовки общественного мнения, у ребят также есть русскоязычный канал в телеграмме: t.me/LifeExtensionForum (https://t.me/LifeExtensionForum) и куча интересных проектов.

Ну и если вам понравилась эта статья расшарьте её в соц сетях, подписывайтесь, на меня тут, поставьте звездочку проекту на github или добавляйтесь на linkedin, это будет хорошей прибавкой к моей мотивации делать новые интересные публикации.

Ссылки

  1. Исследование Global Burden of Disease

  2. Репозиторий с кодом дашборда

  3. Репозиторий с кодом обработки данных и дебагом графиков

© Habrahabr.ru