Анализ показателя реадмиссии

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

Рубрика Математика
Вид дипломная работа
Язык русский
Дата добавления 29.06.2017
Размер файла 256,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Оглавление

  • Введение 2
  • 1. Теоретические основы исследования 6
    • 1.1 Описание предметной области 6
    • 1.2 Анализ исследований в области лечения диабета 9
    • 1.3 Постановка задачи 12
  • 2. Использование классификаторов машинного обучения для анализа
  • данных 15
    • 2.1 Методы анализа данных 15
      • Деревья решений 15
      • Метод k-ближайших соседей 18
      • Наивный байесовский классификатор 19
      • Логистическая регрессия 20
    • 2.2 Методы проверки точности работы классификатора 21
    • 2.3 Инструментальные средства анализа данных 23
  • 3. Описание практической реализации анализа данных и создания модели 26
    • 3.1 Описание переменных 26
      • 3.2 Предварительный анализ данных 29
      • 3.3 Применение классификаторов 33
      • 3.4 Оценка качества работы классификаторов 37
      • 3.5 Интерфейс пользователя 42
  • Заключение 47
  • Список литературы 49

Введение

В настоящее время, согласно данным Всемирной Организации Здравоохраненения, 422 миллиона человек в мире страдают от сахарного диабета. Также ежегодно от данного заболевания умирают 1,5 миллиона человек, более того, по оценкам ВОЗ, около 2,2 миллион смертей в мире напрямую связаны с повышенным содержанием сахара в крови. Данная статистика обусловлена недостаточным вниманием к сахарному диабету среди населения и врачей, и все это, несмотря на то, что сейчас существует множество способов профилактики диабета, а также методов облегчения последствий данного заболевания.

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

Тест HbA1c лишь один из примеров невнимания к заболеванию и отсутствия качественного мониторинга диабета в мире.

Объект исследования

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

Предмет исследования

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

Цель исследования

Целью исследования является создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).

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

Задачи исследования

Для достижения цели исследования необходимо выполнить следующие задачи:

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

2. Создать модели на основе имеющихся данных, используя оптимальные методы Machine Learning.

3. Оценить качество построенных моделей на основе кросс-валидации и ROC-кривых и выбрать наиболее точную модель.

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

Методы и технологии исследования

Решение поставленных задач производилось с применением различных методов. Для анализа переменных и связи между ними использовались методы статистики и анализа данных. Непосредственно для создания модели - методы Data mining, такие как деревья решений, метод k-ближайших соседей, наивный Баесовский классификатор и мультиноминальная логистическая регрессия.

В ходе работы использовались следующие программные продукты:

1. MS Excel - программа для работы с электронными таблицами. В данной работе используется в качестве базы данных.

2. PyCharm Community Edition - среда разработки на языке программирования Python. Использовалась для обработки данных, а также создания модели.

3. QtDesigner - приложение для создания GUI для пользователя на основе программного языка Python.

Краткое содержание глав

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

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

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

В заключении описаны полученные в ходе работы результаты и сделаны выводы о достижении итоговой цели работы.

1. Теоретические основы исследования

1.1 Описание предметной области

машинный обучение корреляция

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

Инсулинзависимый диабет чаще всего возникает у людей до 30 лет по причине наследственных факторов, попаданию в организм вирусных инфекций, таких как ветрянка, корь, оспа и прочее, а также по причине сильного стресса организма. Люди, больные диабетом первого типа часто испытывают жажду, слабость, потребность в частом мочеиспускании, а также имеют склонность к кетоацидозу - нарушению углеводного обмена в организме. Среди лечения инсулинзвисимого диабета выделяют диету, спорт и постоянный прием инсулина, осложнения при отсутствии надлежащего лечения - снижение плазменной концентрации глюкозы в организме без последующей комы (гипогликемия), поражения мелких сосудов вегето-сосудистой системы, сердца и отделов головного мозга. Инсулиннезвисимый диабет в свою очередь чаще всего возникает у людей старше 40 лет с повышенной массой тела по причине наследственных факторов, а также ожирения. Признаками диабета второго типа являются сильное постоянное чувство голода, а также слабовыраженные (в отличие от диабета первого типа) жажда и частое мочеиспускание. Различия в лечении состоит в том, что при инсулиннезависимого диабета нет необходимости в постоянном принятии таблеток или инсулина. Среди осложнений также выделяется повышение плазменной концентрации глюкозы с последующей комой (гипергликемия), поражение крупных сосудов вегето-сосудистой системы, почек и нервов.

Основным принципом в предотвращении осложнений любого типа диабета является своевременный и полный мониторинг уровня глюкозы в крови, чтобы не допускать критический уровень понижения или повышения ее концентрации. Наиболее распространёнными тестом для диагностики диабета является измерение глюкозы в крови. Для измерения этого показателя необходимо взять кровь натощак не менее чем через 8 часов после приема пищи, обычно забор крови происходит с утра. В лаборатории из взятой у пациента не позже чем через два часа после сдачи анализа отделяется плазма, в которой и измеряется содержание глюкозы с помощью реагентов типа «Глюкоза GOD-PAP». Уровень глюкозы считается нормальным при следующих значениях в зависимости от возраста:

Таблица 1. Референсные значения уровня глюкозы в крови

Возраст

Уровень глюкозы, ммоль/л

< 14 лет

3,33 - 5,55

14 - 60 лет

3,89 - 5,83

60 - 70 лет

4,44 - 6,38

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

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

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

Лаборатории применяют множество различных способов измерения гликированного гемоглобина, среди них высокоэффективная жидкостная хроматография (ВЭЖХ), ионообменная хроматография низкого давления, иммунотурбидиметрия и прочие. Референсным (эталонным) способом является ВЭЖХ, так как он отличается наиболее высокой точностью, калибровка осуществляется по нескольким стандартам гликогемоглобина, также исключена корреляция показателей с карбогемоглобинами. Экспресс-анализ производится с помощью прибора DCA 200, который позволяет провести анализ с помощью крови из пальца в сжатые сроки, обычно до 30 минут. Также, некоторые фирмы стали производить глюкометры, позволяющие проводить замеры не простой моментальной глюкозы в крови, а именно гликированного гемоглобина, таким образом, позволяя производить более качественный мониторинг течения болезни. Нормы гликированного гемобглобина определяются по следующей таблице:

Таблица 2. Нормы гликированного гемоглобина

Результат анализа, %

Уровень HbA1c

<6.5

Нормальные результаты

6.6 - 8.0

Слегка повышенный уровень

8.1 - 10.0

Повышенный уровень

>10.1

Значительно повышенный уровень

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

1.2 Анализ исследований в области лечения диабета

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

Анализ первых примеров применения HbA1c показал, что ранняя имплементация гликированного гемоглобина не была отмечена большим успехом. Во-первых, на этом сказалось отсутствие необходимого оборудования, которое являлось очень дорогостоящим и в связи с этим недоступным для каждой больницы. Кроме того, первые приборы для проведения теста не обладали высокой точностью, поэтому значение теста HbA1C в мониторинге диабета было недооценено. И, наконец, только 50% больниц и клиник, сообщали о своих результатах в мониторинге гликированного гемоглобина, что не позволило понять полную картину и оценить преимущества и результаты тест HbA1c.

С другой стороны, более поздние упоминания и эксперименты с HbA1c были более успешными. В своей статье «Standardization of HbA1c and Optimal Range of Monitoring» Мидема К. показал, что стандартизация HbA1c положительно повлияли на контроль состояния диабета, а также своевременное предупреждение осложнений, вызванных данным заболевнием. Он показал, что ежеквартальное проведение гликированного гемоглобина для каждого пациента больницы позволит не только назначать лечение диабета должным образом, но и обнаруживать диабет на ранних стадиях и даже предрасположенность к этому заболеванию. Более того, автор в своей статье предложил несколько путей улучшения анализа на гликировнный гемоглобин - изменение референсной системы теста, модернизация непосредственно лабораторного анализа и, наконец, стандартизация теста HbA1c во всем мире.

Тем не менее, несмотря на мощный теоретические доказательства значимости проведения анализа гликированного гемоглобина, тест HbA1c до сих пор не проводится во всех медицинских учреждениях мира. Одной из причин этого является отсутствие практических доказательств эффективности HbA1c. Большинство больниц и клиник не хотят полагаться только на теоретических доклады, им нужны реальные доказательства на практических примерах. В связи с этим, в 1990 году группа исследователей во главе с Могенсом провели эксперимент, в котором на выборке пациентов больных сахарным диабетом доказали, что проведение HbA1c, назначение корректных лекарств, внимание к лечению больного влечет за собой более редкую реадмиссию к прошлому состоянию. Выборка состояла из 240 пациентов - 107 из них сдавали обычные тесты на глюкозу, а 133 были в группе с контролем гликированного гемоглобина каждые четыре месяца в течение двух лет, также они проходили еженедельную консультацию у врача и, в случае необходимости, корректировку назначенных лекарств и оказываемого лечение. Это исследование показало, что вторая группа получали более эффективное лечение, и уровень гликированного гемоглобина среди этой группы снизился на 10%, что демонстрирует высокий уровень мониторинга состояния больного и более качественное назначение лечения.

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

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

1.3 Постановка задачи

Таким образом, главной задачей данного исследования является необходимость построить модель с помощью методов анализа данных, используя имеющуюся базу данных посещений госпиталя. Модель должна учитывать все необходимые значимые переменные, которые влияют на показатель реадмиссии пациента и применять полученные зависимости для предсказания результата на новом объекте (пациенте). Для достижения цели исследования необходимо выполнить следующие задачи, используя выбранные инструментальные методы:

1. Провести предварительный анализ данных.

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

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

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

3. Оценка качества построенных моделей на основе кросс-валидации и ROC-кривых и выбор наиболее точной модели.

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

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

Интерфейс пользователя создается с использованием графических надстроек языка программирования Python, а также встроенных библиотек для анализа данных, таких как numpy, sklearn, pandas и др.

2. Использование классификаторов машинного обучения для анализа данных

2.1 Методы анализа данных

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

Деревья решений

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

Метод C 4.5 представляет собой алгоритм, который для построения дерева разбивает выборку на n подмножеств, которые в свою очередь рекурсивно также разбиваются на k подмножеств, так продолжается до момента, пока каждое множество не будет содержать конечный единичный пример. C 4.5 содержит информацию о том, каким образом и в каком количестве примеры распределены между подмножествами, для определения принадлежность к классу используется следующий алгоритм:

1. Определяется вероятность того, что пример из множества S, принадлежит к одному и тому же классу

где - количество примеров множества S, принадлежащих классу; - количество элементов в подмножестве S.

2. Затем определяется энтропия изначального множества T, т.е. оценка среднего количества информации содержащейся в множестве по следующей формуле(2):

Для определения энтропии подмножества используется формула для разбиения множества T по X (3):

3. Наконец, критерием определения принадлежности объекта к тому или иному классу выбирается как максимальное значение среди всех доступных классов через формулу (4):

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

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

Где s - идентификатор разбиения, t - идентификатор узла, tL и tR - левый и правый потомки узла t соответственно, - отношение числа примеров в левом и правом потомках к их общему числу в обучающем множестве, - отношение числа примеров класса j в левом и правом потомках к их общему числу в каждом из них.

После разбиения выборки алгоритм определяет класс каждого последующего элемента с помощью индекса Gini (6):

,

где c - значение текущего узла, - вероятность отнесения узла c к классу j.

Данный индекс работает по принципу минимизации расстояния от класса до объекта, то есть выбирает для объекта тот класс, расстояние до которого минимально.

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

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

Алгоритм случайного леса состоит в следующем: для каждого дерева необходимо определить количество повторений (бутстрэпов), достаточного для построения точной модели. Затем построить ансамбль деревьев решений с помощью алгоритма CART. Для принятия решений на тестовых выборках каждому дереву присваивается вес согласно точности дерева, принятие решения основывается на выборе большинства с учетом веса каждого дерева из ансамбля.

Метод k-ближайших соседей

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

Для работы алгоритма необходима обучающая выборка, на которой задано соответствие группа объектов-зависимая переменная (7):

},

На данном множестве объектов должна быть однозначно задана функция расстояния между объектами с. Для случайного объекта u алгоритм определяет расстояния до объектов определенного класса и располагает их в порядке возрастания (8)

,

где - i-ый сосед объекта u. i-ый сосед для зависимой переменной обозначается через . В общем виде функция классификации объекта выглядит следующим образом (9):

,

где - функция «веса» (степени значимости) i-го соседа для объекта u.

В отличие от алгоритма деревьев решений, метод k-ближайших соседей неустойчив к шумам в выборке, однако также дает довольно хорошие и валидные результаты на больших выборках.

Наивный байесовский классификатор

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

Данный классификатор также требует, чтобы была задана обучающая выборка по формуле (7), также необходимо, чтобы было известно значение плотностей класса. При соблюдении вышеперечисленных условий алгоритм определяет значение среднего риска (вероятность отнесения объекта к неправильному классу) (10):

,

где - «штраф» за отнесения объекта к неверному классу.

Для классификации объекта используется функция максимизации (11)

,

где - аспостериорная вероятность (вероятность после проведения эксперимента) того, что объект принадлежит к определенному классу.

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

Логистическая регрессия

Наконец, логистическая регрессия - это модель, применяющаяся для оценки принадлежности объекта к тому или иному классу. Простая логистическая регрессия подразумевает, что значения целевой переменной бинарны, в случае, если классов больше чем два, то говорят о мультиноминальной логистической регрессии. Логистическая регрессия для отнесения объекта к тому или иному классу использует следующую формулу (12):

,

где j-го признака, - порог для принятия решения, - скалярное произведение признакового описания объектов на вектор весов.

Принцип работы логистической регресии основан на том, чтобы по элементам обучающей выборки вычислить вектор весов и с его помощью классифицировать последующие объекты (13)

2.2 Методы проверки точности работы классификатора

Для оценки качества работы классификатора существует несколько методов, самые популярные и качественные из них - кросс-валидация и ROC-кривые.

Для проведения алгоритма кросс-валидации выборка разделяется на обучающую, к которой применяются методы анализа данных, и тестовую, на которой и проверяется качество работы классификаторов методом оценки средней ошибки классификации. Таким образом, алгоритм имеет две непересекающиеся между собой выборки - - обучающая выборка и - тестовая выборка, где m и k - размерность выборки. Для каждой выборки строится алгоритм соответствия между независимыми и зависимой переменной , а также определяется значение функционала качества, оценивающего качество алгоритма (14):

,

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

Величина точности классификатора определяется по следующей формуле (15):

,

где CV принимает значения от 0 до 1.

Помимо метода кросс-валидации для проверки качества классификатора используются ROC-кривые - графики, показывающие соотношение неправильно определенных позитивных случаев к корректно определенным позитивным случаям (flase positive rate и true positive rate). Алгоритм строит графическое представление доли ложных положительных классификаций (FRP) к доле верных положительных классификаций (TRP) (16), (17):

,

где a - алгоритм соответствия независимой и зависимой переменной, x - независимая переменная, y - зависимая переменная.

Точность работы классификатора определяется, как размер площади под кривой на графике (см. рис. 1).

Рисунок 1. Точность по ROC-кривой

2.3 Инструментальные средства анализа данных

В качестве метода анализа данных и построения модели был выбран язык программирования Python в связи с тем, что его библиотеки имеют множество встроенных функций, которые позволяют быстро и эффективно обрабатывать данные. Этот язык является высокоуровневым, поддерживающим различные парадигмы программирования, в том числе и объектно-ориентированное; имеет ряд преимуществ, позволяющих облегчить процесс создания кода, например, отсутствие необходимости задавать тип переменной, понятный и простой синтаксис, а также интеграция с языками программирования С. Среди библиотек Python, которые могут быть полезна для анализа данных и построения моделей, pandas, pylab, matplotlib, numpy и sklearn.

Библиотека pandas используется в основном для предварительной обработки и представления данных. Прежде всего, она содержит объект DataFrame, который позволяет представлять базу данных в виде двумерного массива, а также проводить с ней некоторые манипуляции и действия, такие как создание сводных таблиц, удаление строк и столбцов и наконец, группировка и объединение данных. Pylab и matplotlib в свою очередь используются для построения и визуализации графиков на основе обработанных данных. Данные библиотеки поддерживают большое количество различных графиков и диаграмм - от простых столбчатых диаграмм до сложных графиков с дополнительными осями. NumPy - математическая библиотека, поддерживающая множество математических операций, а также обработку многомерных массивов. И, наконец, Sklearn также реализует собой библиотеку с математическими алгоритмами, однако более сложными, чем в библиотеке NumPy, именно в sklearn реализованы функции обучения с учителем, которые позволяют создавать на основе обучающей выборки предсказательные модели.

Существует еще несколько способов анализа данных, например, написание макроса на VBA в Excel, использование SPSS Statistic, а также язык программирования R. Первый способ подразумевает под собой создание кода программы вручную, то есть программирование сложных методов анализа данных, таких как логистическая регрессия или метода опорных векторов, занимает большое количество времени. Более того, Excel при обработке большого массива данных не хватает производительности, и программа работает довольно медленно, затормаживая процесс создания и редактирования кода. SPSS Statistic в свою очередь также имеет не самую высокую производительность, во встроенных пакетах реализованы не все необходимые для анализа функции и возможности, также данные требуют предварительной подготовки, чтобы программа воспринимала информацию корректно. Наконец, язык программирования R поддерживает все необходимые функции обучения с учителем, отлично подходит для анализ статистических данных, также как и Python имеет систему динамических типов, интеграцию с другими языками программирования и является мультипарадигмальным. Однако, создание GUI на языке R значительно сложнее и менее успешно реализовано, чем на Python. В связи с этим, так как одной из задач работы является создание интерфейса для пользователя, в качестве инструмента для анализа данных был выбран именно Python.

Для программирования на языке Python существует несколько сред разработки, самые популярные из них Eric, Eclipse и PyCharm. Именно последняя программа была выбрана для разработки, так как имеет бесплатную версию, имеет высокую производительность и поддерживает реализацию всех необходимых библиотек, а также их удобную и легкую установку. Более того, в PyCharm реализованы возможности интеллектуального редактирования кода (выделение ошибок, автозаполнение по первым буквам команды и т.д.), оптимизации времени работы программного продукта и возможность интегрировать библиотеку визуализации данных.

Для создания интерфейса пользователя была выбрана программа QtDesigner, так как это наиболее удобная программа для создания GUI на языке Python. Содержит в себе встроенную библиотеку Qt Framework, набор виджетов, позволяющий быстро создавать графические представления, а также приложение Qt Designer позволяет облегчить процесс кодирования с помощью методов оптимизации кода.

3. Описание практической реализации анализа данных и создания модели

3.1 Описание переменных

Данные используемые для анализа представляют собой базу данных посещений госпиталей Америки больными с диабетом, которые поступали в больницу с осложнениями заболевания, либо с ухудшенным состоянием здоровья. Источником данных является база, собранная за 10 лет (с 1998 по 2008) Cerner Corporations, Каназас, Америка. База имеет следующую структуру:

1. EncounterID (номинальный) - уникальный номер визита

2. Patient number (номинальный) - уникальный номер пациента

3. Race (номинальный) - раса. В изначальных данных представлен в текстовом формате, имеет значения Caucasian (европиоидная), AfricanAmerican (африканская), Asian (азиатская), Hispanic (латино-американская), Other (другое)

4. Gender (номинальный) - пол пациента

5. Age (номинальный) - возраст пациента. Представлен в формате диапазонов возраста - от 0 до 100 лет, с промежутками в 10 лет (0-10; 11-20; 21-30 и т.д.)

6. Weight (номинальный) - вес пациента в фунтах. Также как и возраст представлен в формате диапазонов.

7. Admission type (номинальный) - тип поступления в госпиталь. Имеет значения:

a. Emergency - скорая помощь

b. Urgent - срочный перевод из другого отделения

c. Elective - самостоятельное обращение

d. Newborn - новорожденный

e. Trauma Center - травматологический центр и еще три значения, отражающие отсутствие записи о типе поступления

8. Discharge disposition (номинальный) - заключение по визиту, имеет 29 закодированных значений.

a. Discharged to home - выписан домой

b. Discharged/transferred to another short term hospital - переведен в другой госпиталь

c. Discharged/transferred to SNF - переведен в отделение Skilled nursing facilities (отделение с уходом медсестёр за больными)

d. Discharged/transferred to ICF - переведен в госпиталь ICF, специализирующийся на больных диабетом.

e. Discharged/transferred to another type of inpatient care institution - переведен в заведение по уходу за больными другого типа

f. Discharged/transferred to home with home health service - выписан домой с обязательным посещением врача на дому

g. Left AMA - покинул госпиталь по собственному желанию с отказом в проведении лечения / осмотра

h. Admitted as an inpatient to this hospital - оставлен в стационаре госпиталя

i. Expired - визит окончен

j. Hospice - переведен в хоспис

k. Discharged/transferred to a Critical Access Hospital (CAH) - переведен в Critical Access Hospital, занимающийся тяжелыми случаями течения заболеваний. А также еще 18 значений, представляющих собой комбинацию выше перечисленных заключений визита.

9. Time in hospital (количественный) - количество дней, проведенных в госпитале

10. Payer code (номинальный) - 23 уникальных значения страховой компании.

11. Medical specialty (номинальный) - 84 уникальных значения отделений, в которое поступил больной. Например, кардиология, эндокринология, неврология и прочее.

12. Number of lab procedures (количественный) - количество проведенных лабораторных тестов для пациента

13. Number of procedures (количественный) - количество других процедур (не анализы), проведенных для пациента

14. Number of medications (количественный) - количество препаратов, принимаемых пациентом во время нахождения в госпитале

15. Number of outpatient visits (количественный) - количество амбулаторных визитов данного пациента в период времени год до визита.

16. Number of emergency visits (количественный) - количество поступлений на скорой помощи в аналогичный период

17. Number of inpatient visits (количественный) - количество стационарных визитов в аналогичный период

18. Diagnosis 1 (номинальный) - первичный диагноз. Закодировано по ICD9 - интернациональный стандарт классификации заболеваний.

001-139: инфекционные и паразитарные болезни

140-239: новообразования

240-279: болезни эндокринной системы, расстройства питания, нарушения обмена веществ и иммунитета

280-289: болезни крови и кроветворных органов

290-319: психические расстройства

320-389: болезни нервной системы и органов чувств

390-459: болезни системы кровообращения

460-519: болезни органов дыхания

520-579: болезни органов пищеварения

580-629: болезни мочеполовой системы

630-679: осложнения беременности, родов и послеродового периода

680-709: болезни кожи и подкожной клетчатки

710-739: болезни костно-мышечной системы и соединительной ткани

740-759: врождённые аномалии (пороки развития)

760-779: отдельные состояния, возникающие в перинатальном периоде

780-799: симптомы, признаки и неточно обозначенные состояния

800-999: травмы и отравления

19. Diagnosis 2 (номинальный) - вторичный диагноз. Закодировано по ICD9

20. Diagnosis 3 (номинальный) - дополнительный вторичный диагноз. Закодировано по ICD9

21. Number of diagnoses (количественный) - количество диагнозов

22. Glucose serum test result (номинальный) - значения теста на уровень глюкозы в крови. Значения: «>200,» «>300,» «normal,» и «none» если не измерялось

23. A1c test result (номинальный) - результаты теста на гликированный гемоглобин

24. Change of medications (номинальный) - изменения в принимаемых лекарствах (было ли изменение, или нет)

25. Diabetes medications (номинальный) - прописаны ли лекарства от диабета

26. 24 features for medications (номинальный) - факт принятия пациентом лекарства (24 столбца с наиболее распространенными лекарствами, принимаемые диабетиками)

27. Readmitted (номинальный) - показатель реадмиссии пациента. Вернулся в госпиталь после выписки с ухудшенным состоянием меньше чем через 30 дней (2), больше чем через 30 дней (1), не вернулся (0)

3.2 Предварительный анализ данных

Прежде всего, имеющиеся данные в формате csv были загружены в среду разработки с помощью модуля библиотеки pandas, функции pandas.read_csv. Первым шагом в подготовке данных для анализа было изучение переменных на количество недостающих данных. В изначальных данных все ситуации отсутствия информации по записи обозначались через «?», таким образом, чтобы выявить все пропуски был произведен подсчет значений, равных «?» по каждому из параметров. Ниже приведены параметры, с полученными значениями процента недостающих данных: раса - 2%; вес - 97%; страховая компания - 40%; отделение, в которое поступил пациент - 49%; дополнительный вторичный диагноз - 1%. В связи с большим количеством пропусков, переменные вес, страховая компания и отделение были исключены из анализа, так как не предоставляется возможным с помощью методов исключения шумов из выборки заполнить значениями недостающие данные. Недостающая информация для расы и дополнительного вторичного диагноза была заполнена искусственно, используя подстановку значения медианы по данным параметрам из всей имеющейся выборки.

Далее, был проведен анализ выбросов по оставшимся параметрам с помощью boxplot, который показывает медиану выборки, максимальное и минимальное значение, верхний и нижний квартили, а также выбросы. Например, переменная возраста имеет один выброс, который, учитывая размер выборки не влияет на качество предсказаний с использованием данного параметра, а, значит, возраст можно учитывать при анализе (см. рис. 2, 3, 4):

Рисунок 2. BoxPlot для переменной «Возраст»

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

Рисунок 3. BoxPlot для переменной «Прием росиглитазона»

Рисунок 4. BoxPlot для переменной «Дополнительный вторичный диагноз»

Большое количество выбросов для дополнительного вторичного диагноза может быть объяснено тем, что данная графа в карте пациента является обязательной для заполнения, но считается многими врачами второстепенной, в связи с чем заполняется не всегда корректно. Прием росиглитазона в свою очередь может объясняться некорректным сбором данных из анкет пациентов, так как по умолчанию данная переменная должна принимать только два значения - 0 (в случае, если лекарство не принимается) и 1 (в случае, если больной принимает данный медикаментозный препарат). Как можно увидеть на графике, значение этой переменной колеблется от 0 до 30, что говорит о некорректности данных. Дополнительный вторичный диагноз и прием росиглитазона были исключены из дальнейшего анализа и построения модели на основании проведенного анализа.

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

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

Следующим шагом был проведен анализ one-way ANOVA, позволяющий определить корреляцию переменных между собой. В Python данный метод реализуется с помощью библиотеки scipy, модуля stats, функции f_oneway. Данный метод на входе запрашивает наименования параметров, между которыми необходимо определить статистическую значимость, а на выходе возвращает значения f-value (F-критерий Фишера) и p-value (вероятность ошибки первого рода). Полученное f-value сравнивается с табличным значением F, в случае, если фактическое F меньше, чем F табличное, то это показывает ненадежность выбранной модели регрессии и низкое качество предсказаний. Табличное значение F равно 0.98 (k1 - количество факторов = 47, k2 - количество наблюдений-количество факторов 101720, уровень значимости - 0,05), полученное с помощью ANOVA значение равно 17.55, соответственно модель можно признать статистически значимой. Для окончательного подтверждения возможности использовать оставшиеся параметры для построения модели, необходимо сравнить полученное p-value с уровнем значимости, выбранным для модели. P-value = 0.15, уровень значимости равен 0,01, так как p-value больше уровня значимости, модель можно принять и использовать все, неисключенные до этого из анализа переменные.

После проделанных выше шагов данные готовы к использованию в построении модели. Как уже было сказано выше, для обучения модели будут использоваться следующий методы - рандомный лес, метод k-блиажйших соседей, логистическая регрессия и наивный баесовский классификатор. Данные методы будут применены к обучающей выборке, составляющей 80% от имеющихся данных, результат их работы проверен на тестовой выборке, составляющей оставшиеся 20%. Прежде, чем применять методы к данным, необходимо выбросить из выборки параметры, которые на предыдущих шагах были исключены из анализа, а также целевую переменную (readmitted) и параметры, представляющие собой id пациента и визита.

train = diabetic_data.drop(['weight', 'payer_code', 'patient_nbr', 'encounter_id', 'diag_3', 'rosiglitazon', 'readmitted'], axis=1)

3.3 Применение классификаторов

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

RandomForest. Представляет собой «коммитет» из деревьев решений, которые принимают решение методом голосования большинства деревьев. Само по себе дерево решений представляет собой граф, представленный ветками (репрезентуют значимые атрибуты, влияющие на значение целевой переменной) и листьями (показывают непосредственно само значение атрибута). При каждом новом случае, алгоритм прогоняет его по каждому из деревьев решений, получает значение от каждого дерева и возвращает финальный результат - значение, выбранное большинством деревьев. В Python классификатор sklearn.ensemble. RandomForestClassifier принимает на вход значение параметра n _estimator, отвечающего за количество деревьев (см. рис. 5):

1. n_estimator = 10

2. n_estimator = 30

3. n_estimator = 2

4. n_estimator = 50

5. n_estimator = 80 - с данным количеством деревьев метод дает наилучший результат. Точность 0,83. Данное количество параметров было выбрано, так как и при уменьшении, и при увеличении количества деревьев, классификатор показывает более плохой результат точности, чем при n=80.

6. n_estimator = 150

Рисунок 5. Кросс-валидация для метода рандомных деревьев

Метод k-ближайших соседей. Данный классификатор предлагает для каждого нового кейса результат, который выдают большинство из его ближайших соседей. Соответственно, изменяемый параметр данного метода - n_neighbours (количество ближайших соседей) (см. рис. 6)

1. n_neighbours = 20 - при данном количестве соседей классификатор показывает наилучший результат. Точность 0,79. Аналогично случаю с рандомным лесом, как уменьшение, так и увеличение числа соседей приводят к ухудшению работы классификатора.

2. n_neighbours = 50

3. n_neighbours = 100

4. n_neighbours = 5

Рисунок 6. Кросс-валидация для метода ближайших соседей

Логистическая регрессия. Модель классификации, определяющая параметры уравнения регрессии путем подгонки данных из выборки под логистическую кривую. Для каждого нового случая, модель применяет параметры, полученные на тестовой выборке к новому примеру. В рамках решаемой задачи будет использоваться мультиноминальная регрессия, так как целевая переменная принимает больше двух значений, соответственно параметр мультиноминальности будет принимать значение multi_class='ovr' Изменяемые параметры в Python - penalty определяет метод для учета ошибки первого рода в регрессии, tol - уровень значимости (см. рис. 7).

1. Penalty = l2, tol = 0.0001

2. Penalty = l1, tol = 0.0001

3. Penalty = l1, tol = 0.001

4. Penalty = l2, tol = 0.01 - c таким набором параметров модель дает наилучший результат. Точность 0,85.

5. Penalty = l2, tol = 0.001

Рисунок 7. Кросс-валидация для логистической регрессии

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

3.4 Оценка качества работы классификаторов

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


Подобные документы

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

    контрольная работа [140,5 K], добавлен 17.08.2014

  • Понятие доверительного интервала, сущность и определение критерия согласия Пирсона. Особенности точечного оценивания неизвестных параметров, основные требования к оценкам и статистикам. Характеристика классической линейной модели регрессионного анализа.

    дипломная работа [440,4 K], добавлен 23.07.2013

  • Аппроксимация экспериментальных зависимостей методом наименьших квадратов. Правило Крамера. Графическое отображение точек экспериментальных данных. Аномалии и допустимые значения исходных данных. Листинг программы на С++. Результаты выполнения задания.

    курсовая работа [166,7 K], добавлен 03.02.2011

  • Основные задачи регрессионного анализа в математической статистике. Вычисление дисперсии параметров уравнения регрессии и дисперсии прогнозирования эндогенной переменной. Установление зависимости между переменными. Применение метода наименьших квадратов.

    презентация [100,3 K], добавлен 16.12.2014

  • Формирование массивов данных результатов контроля, представленных в форме матрицы. Основные статистические характеристики. Построение диаграмм. Определение коэффициентов точности технологического процесса и параметров контрольных карт, их построение.

    курсовая работа [539,6 K], добавлен 14.10.2011

  • Сущность, цели применения, основные достоинства метода канонических корреляций. Оценка тесноты связи между новыми каноническими переменными U и V. Максимальный канонический коэффициент корреляции, методика его расчета. Использование критерия Бартлетта.

    презентация [109,2 K], добавлен 10.02.2015

  • Определение математического ожидания и среднеквадратического отклонения с целью подбора закона распределения к выборке статистических данных об отказах элементов автомобиля. Нахождения числа событий в заданном интервале; расчет значения критерия Пирсона.

    контрольная работа [336,3 K], добавлен 01.04.2014

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

    презентация [208,1 K], добавлен 05.04.2013

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

    практическая работа [132,1 K], добавлен 24.05.2013

  • Проверка адекватности линейной регрессии. Вычисление выборочного коэффициента корреляции. Обработка одномерной выборки методами статистического анализа. Проверка гипотезы значимости с помощью критерия Пирсона. Составление линейной эмпирической регрессии.

    задача [409,0 K], добавлен 17.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.