Original size 1140x1600

Расстройства сна: насколько они распространены и с чем связаны

PROTECT STATUS: not protected
The project is taking part in the competition

О проекте

Этот проект посвящён тому, как в выборке Sleep Health & Lifestyle распределяются расстройства сна и какие факторы с ними связаны. В датасете есть люди разных возрастов и профессий, для каждого указаны длительность и качество сна, уровень стресса, физическая активность, шаги за день и тип нарушения сна (или его отсутствие).

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

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

В проекте я использую пять визуализаций:

1. Круговая диаграмма типов расстройств. Показывает, какая доля людей без нарушений сна и как распределены основные диагнозы между собой.

2. Столбчатая диаграмма по длительности сна. Сравнивает, как часто расстройства встречаются у тех, кто спит <6 часов, 6–8 часов и >8 часов.

3. Линейный график «стресс — качество сна». Для каждого уровня стресса видно среднее качество сна у людей без диагнозов и с расстройствами.

4. Точечная диаграмма «шаги, сон и стресс». Показывает, как сочетаются физическая активность, длительность сна и уровень стресса у отдельных людей.

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

big
Original size 2754x1018

Пошаговый план работы

Сначала я подключила базовые библиотеки для анализа данных (pandas, numpy, matplotlib) и загрузила датасет в Google Colab.

После этого вывела первые строки таблицы, чтобы проверить, что файл прочитался правильно.

Original size 1648x804

Здесь я подготовила данные к анализу: очистила столбец с диагнозами сна (заполнила пропуски, привела к одному формату) и на его основе создала бинарный признак AnyDisorder — есть расстройство или нет. Затем перевела в числовой тип все ключевые показатели (возраст, длительность и качество сна, стресс, шаги). В конце проверила сводную статистику, чтобы убедиться, что данные выглядят корректно и их можно использовать для построения графиков.

Original size 1744x1492

Потом я задала визуальный язык проекта. Сначала собрала свою палитру в словаре PINK: четыре оттенка розового, белый и чёрный фон. Затем через plt.rcParams.update настроила общий стиль для всех графиков: чёрный фон фигуры и осей, розовые подписи и деления, белый текст, размер шрифта заголовков. Отдельная функция style_ax (ax) убирает верхнюю и правую рамку и добавляет мягкую розовую сетку, чтобы все диаграммы выглядели единообразно и читались как часть одного проекта.

Original size 1604x1410

Визуализация данных

0

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

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

0

Дальше я перехожу от «какие диагнозы бывают» к вопросу «как режим сна связан с рисками». Для этого я делю длительность сна на три простые группы: меньше 6 часов, 6–8 часов и больше 8 часов. В каждой из них считаю, какой процент людей имеет расстройство сна, и рисую три столбца — по одному на группу.

Такой формат хорошо показывает именно сравнение: вторую цифру (проценты) не нужно высчитывать в голове, она уже подписана над столбцом. По графику можно быстро увидеть, что люди с очень коротким сном заметно чаще оказываются в группе с диагнозом, а «коридор» 6–8 часов выглядит наиболее спокойным. Длинный сон в этой выборке тоже не даёт полного иммунитета — доля нарушений там не нулевая, но обычно ниже, чем в зоне хронического недосыпа.

0

На третьем графике я смотрю уже не на то, «есть ли диагноз», а на субъективное качество сна при разном уровне стресса. Для каждого значения по шкале стресса я отдельно считаю среднее качество сна у людей с расстройствами и без них, а потом строю две линии на одном поле.

Получается довольно интуитивная картинка: по оси X растёт стресс, по оси Y — проседает качество сна. Линия для людей с диагнозами почти всегда проходит ниже, чем у тех, у кого расстройств нет: при равном уровне стресса они в среднем спят хуже. В итоге график читается как простая история: чем выше стресс, тем ниже оценка сна, и особенно заметно это у тех, кто уже попал в группу с нарушениями.

0

На этой диаграмме хорошо видно, где на самом деле живут данные: основное облако точек сосредоточено в районе 6–8 часов сна и средних значений по шагам. Отдельно можно присмотреться к зоне короткого сна и маленькой активности — там чаще встречаются точки с высоким уровнем стресса. То есть график даёт ощущение, как реальные режимы дня (сон + движение) сочетаются с субъективным напряжением.

0

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

Заключение

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

Дальше я перешла к режиму сна и стрессу. Разбиение по длительности сна показывает, что в группе с менее чем 6 часами нарушений больше, чем при сне 6–8 часов. На линиях «стресс — качество сна» хорошо видно, что с ростом стресса оценка сна падает, а у людей с диагнозами она почти на всём диапазоне ниже, чем у тех, у кого расстройства нет. Точечная диаграмма с шагами добавляет контекст: проблемные сочетания типа «мало сплю, мало двигаюсь и много стрессую» в выборке присутствуют, хотя и не доминируют.

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

Использованные инструменты

Kaggle — источник данных: датасет о сне и образе жизни (Sleep Health & Lifestyle, расширенная версия в формате CSV).

Google Colab — среда, в которой я загружала файл, запускала код и сохраняла графики.

Pandas — загрузка CSV (read_csv), очистка и приведение типов, создание новых признаков (группы сна, стресса), группировки (groupby, crosstab) и подготовка сводных таблиц для визуализаций.

NumPy — базовые числовые операции: задание границ интервалов (bins), работа с массивами, поддержка расчётов для группировок.

Matplotlib — построение и стилизация всех графиков: палитра в духе «Бойцовского клуба», тёмный фон, подписи осей и заголовков, сохранение изображений в нужном разрешении.

ChatGPT — помощь в написании и корректировке кода, подборе форматов графиков и формулировке текстовых комментариев к результатам.

We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more