Анализ сна с использованием линейной регрессии и визуализации.

Крепкий сон - мечта…?

Вы помните, когда в последний раз спали как младенец? Я уверен, что большинству из вас даже не нужно задумываться, чтобы ответить на такой вопрос. Если вы один из этих людей, то я уверен, что вы сможете рассказать мне о том, каково это ворочаться, пока не найдете правильную мысль, на которой нужно сосредоточиться, просто чтобы вы могли спать! Поверьте, иногда это похоже на борьбу с собственным разумом и телом. Отягчающий фактор подкрадывается, когда вы знаете, что ваше тело устало, ваш разум истощен, но, увы! Вы просто продолжаете смотреть на часы, чтобы проверить, сколько еще часов у вас есть до того, как вы пойдете на работу.
Для любого, кому больше двадцати, этот этап можно легко назвать началом классической, типичной истории о бессоннице. Я и не подозревал, что эпизод крепкого сна каждую ночь в моем подростковом возрасте превратится в самый желанный досуг взрослой жизни. Это раздражение подтолкнуло меня к поиску этой проблемы. Следовательно, в последние месяцы этого пораженного COVID мира я испробовал много нового, чтобы улучшить часы своего сна. Сделав это, я хотел провести анализ своего сна, чтобы узнать, какие из «вещей», которые я делал, на самом деле помогли улучшить качество моего сна. Для этого я использовал регрессию для визуализации, чтобы я мог графически понять причину и следствие моего режима сна. Вот что я сделал:

  1. Я начал с создания набора данных обо всех занятиях, которые повлияли на мои часы сна.
  2. Затем я использовал модель линейной регрессии.
  3. Затем я применил методы визуализации для анализа сна.
  4. В конце концов, мне удалось поправить сон.

(Если вы не хотите проходить через процесс, сразу переходите к результатам.)

Создание набора данных

Набор данных включает в общей сложности 199 наблюдений, 8 признаков, из которых 4 являются категориальными признаками и значением метки. Читатель, не являющийся техническим специалистом, может понять эти функции как столбцы данных, случаи как строки и метку как значение, которое необходимо изучить. Эти функции включают в себя некоторые действия, которые я начал в первые дни изоляции, а также другие факторы, влияющие на часы моего сна. Это стресс, физическая активность (йога, бег), развлекательная деятельность (аудиокниги, письмо, рисование), минуты медитации, шум, свет (включен или выключен), носки (да или нет) и калории.
На рисунке ниже показано, как выглядят первые несколько строк набора данных.

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

Линейная регрессия

Как и многие другие модели машинного обучения, регрессия также используется для прогнозирования значения метки. Итак, теперь вопрос в том, чем она отличается от любой другой модели прогнозирования? Ответ заключается в следующем уравнении: ŷ = f (x).

Цель регрессии - найти функцию для x или функции (в данном случае - нескольких функций), которая предсказывает значение y или метку (часы сна). Следовательно, работа алгоритма состоит в том, чтобы научиться этой функции предсказывать правильное значение для ŷ; таким образом, что он создает модель, которая оптимально подходит для значений характеристик. Вот шаги:

  • Требуется функция, которая вычисляет правильное значение y для данной функции или функций.
  • Основывается на линейной модели:

  • Алгоритм ML находит значение для b (0,1…). Затем он фокусируется на минимизации ошибки между прогнозируемым значением y и исходным значением. Используя сумму квадратных ошибок:

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

Короче говоря, эта модель линейной регрессии помогает мне правильно спрогнозировать часы моего сна на основе всех действий, которые я пробовал в этой изоляции, чтобы добиться крепкого сна.

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

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

Полученные результаты

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

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

- Развлекательная деятельность: то, чем вы любите заниматься, приведет вас в счастливое место. Возможно, именно так счастливый ум получает крепкий сон. Так что не будет ошибкой, если я скажу, что рисование, написание и прослушивание аудиокниг действительно прокладывают мне путь к спокойной ночи. Хотя гистограмма показывает, что я предпочитаю слушать аудиокниги из всех трех других занятий, график скрипки показывает, что письмо требует оптимального времени для сна. Кроме того, я также чувствую, что прослушивание «аудиокниг» помогает уснуть намного быстрее, чем любое другое занятие.

Минуты для медитации. Когда доходит до медитации, обычно я могу заниматься ею от восьми до десяти минут. Максимальное количество времени, которое я смог вложить в это, составляло около пятнадцати минут. Согласно графикам плотности и шестиугольникам, девять-десять минут медитации могут помочь с шестью-семью часами сна. В то время как пятнадцать минут медитации могут помочь с 8-10 часами сна. Более того, я также чувствую, что непрерывная практика медитации каждый день может помочь поддерживать постоянные часы оптимального времени для сна. Эта точка четко отражена на графике hexbin.

-Шум: контур плотности и диаграммы в виде шестиугольников ясно показывают, что почти нулевой или меньший уровень шума дает мне идеальную среду для сна в диапазоне от семи до десяти часов. Это также показывает, что по мере увеличения уровня шума количество часов сна сокращается.

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

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

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

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

Заключение

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

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

Доброй ночи!