Читать онлайн Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие бесплатно

Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Авторы: Васильев Юрий Александрович, Владзимирский Антон Вячеславович, Никитин Никита Юрьевич, Будыкина Анна Владимировна, Памова Анастасия Петровна, Бобровская Татьяна Михайловна, Арзамасов Кирилл Михайлович

Редактор Анжелика Ивановна Овчарова

Верстка Екатерина Дмитриевна Бугаенко

Дизайнер обложки Екатерина Дмитриевна Бугаенко

© Юрий Александрович Васильев, 2025

© Антон Вячеславович Владзимирский, 2025

© Никита Юрьевич Никитин, 2025

© Анна Владимировна Будыкина, 2025

© Анастасия Петровна Памова, 2025

© Татьяна Михайловна Бобровская, 2025

© Кирилл Михайлович Арзамасов, 2025

© Екатерина Дмитриевна Бугаенко, дизайн обложки, 2025

ISBN 978-5-0068-6196-1

Создано в интеллектуальной издательской системе Ridero

Рекомендовано Координационным советом по области образования «Здравоохранение и медицинские науки» в качестве учебного пособия для использования в образовательных учреждениях, реализующих основные профессиональные программы высшего образования по программам специалитета 30.05.03 «Медицинская кибернетика» (протокол №091 от 19.06.2025, рег. номер 3200 ЭКУ от 19.06.2025).

Учебное пособие подготовлено авторским коллективом в рамках выполнения НИОКР «Разработка платформы повышения качества ИИ-сервисов для медицинской диагностики» (№ЕГИСУ: 123031400006—0) в соответствии с приказом Департамента здравоохранения города Москвы от 17.12.2024 №1184 «Об утверждении государственных заданий, финансовое обеспечение которых осуществляется за счет средств бюджета города Москвы, государственным бюджетным (автономным) учреждениям, подведомственным Департаменту здравоохранения города Москвы, на 2025 год и плановый период 2026 и 2027 годов».

РЕЦЕНЗЕНТЫ

Галиновский Андрей Леонидович – д-р техн. наук, д-р пед. наук, заведующий кафедрой СМ-12 «МГТУ им. Н. Э. Баумана»

Носовский Андрей Максимович – д-р биол. наук, ведущий научный сотрудник ФГБУН «ГНЦ РФ – ИМБП РАН»

НОРМАТИВНЫЕ ССЫЛКИ

В настоящем документе использованы ссылки на следующие нормативные документы (стандарты):

– ГОСТ Р ИСО 5479—2002. Статистические методы. Проверка отклонения распределения вероятности от нормального распределения.

– Рекомендации по стандартизации Р 50.1.033—2001. Прикладная статистика. Правила проверки согласия опытного распределения с теоретическим. Часть 1. Критерий Хи-квадрат.

– Рекомендации по стандартизации Р 50.1.037—2002. Прикладная статистика. Правила проверки согласия опытного распределения с теоретическим. Часть 2. Непараметрические критерии.

ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

Рис.0 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие
Рис.1 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

КАК РАБОТАТЬ С УЧЕБНЫМ ПОСОБИЕМ

Учебное пособие предназначено для слушателей курса «Методология планирования и проведения научных исследований. Биостатистика» по научной специальности 3.1.25. Лучевая диагностика и не является самоучителем (в широком смысле данного понятия) по программированию и статистическому анализу данных на языке R, а представляет дополнение к очному курсу по предмету.

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

1. Детально изучить приложение Б пособия и освоить основной синтаксис языка R. Если приведенного материала покажется недостаточно, то можно обратиться к работе Н. Мэтлоффа [3].

2. Далее последовательно ознакомиться с материалом, изложенным в пособии. К каждому статистическому критерию или тесту приведены детальные примеры его применения с кодом, написанным на языке R.

3. Если освоение материала проходит самостоятельно, без возможности прямого или удаленного контакта с консультантом, и представленный в пособии материал кажется непонятным, то обучаемому рекомендуется ознакомиться с источниками [1], [2], [4] списка литературы1.

Для слушателей курса «Методология планирования и проведения научных исследований. Биостатистика» по научной специальности 3.1.25. Лучевая диагностика, проходящих обучение под руководством преподавателя, учебное пособие является дополнительным источником, позволяющим лучше усвоить материал лекций и практических занятий. В этом случае порядок работы с данным пособием соответствует порядку чтения лекций и проведения семинарских занятий. Слушателям рекомендуется провести самостоятельное статистическое исследование в соответствии с алгоритмом, представленным на рисунке 2 раздела «Введение», на основе открытых наборов данных. Интернет-ресурсы с открытыми наборами данных указаны в параграфе 2.8.

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

1. При самостоятельном наборе программного кода команды алгоритм работы с данными лучше запоминается.

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

ВВЕДЕНИЕ

Научная методология проведения исследований включает в себя:

1) постановку вопроса;

2) обзор и анализ литературы;

3) формулировку цели исследования;

4) формулировку задач исследования;

5) формулировку предварительной гипотезы;

6) планирование эксперимента (или сбора данных);

7) проведение эксперимента (сбор и структурирование данных);

8) анализ полученных результатов эксперимента (данных);

9) проверку гипотезы на основе полученных данных;

10) построение математической модели2;

11) проверку математической модели на результатах других экспериментов (на других данных).

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

1. Существуют ли литературные источники по интересующему исследователя вопросу (исторические источники, научные и научно-популярные публикации, учебная, учебно-методическая литература, ГОСТы, ОСТы, СНиПы, СанПиНы и т. д.)45?

2. Насколько широко интересующий вопрос представлен в научной литературе (сколько публикаций на данную тему удалось найти, как давно найденные источники были опубликованы, степень и уровень достоверности найденных источников)?

3. Как данный вопрос представлен в научной литературе – как нерешенный или как частично решенный, или считается полностью решенным?

4. Какие методики и подходы применяются для решения исследуемого вопроса (экспериментальные или/и теоретические)?

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

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

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

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

Каждый из этапов проведения исследований имеет высокую степень важности для получения достоверного конечного результата. Наиболее ресурсоемкими частями являются этапы 6—9, ошибки на этих стадиях приводят к большим финансовым потерям и дискредитации исследования как такового. За период развития науки было разработано достаточно большое количество методов, позволяющих эффективно выполнять этапы 6—9 цикла научных исследований. Однако при наличии большого объема данных, факторов, влияющих на исследуемый процесс или свойство, и анизотропии исследуемых свойств в пространстве и/или во времени применение детерминированных методов анализа становится крайне затруднительной и ресурсоемкой процедурой. В подобных случаях используют методы статистического анализа и/или моделирования.

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

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

1. Statistica©8.

2. SPSS Statistics©9.

3. Minitab©10.

4. Salstat11.

5. JASP12.

6. Jamovi13.

7. Язык программирования R14 с интегрированной средой разработки (IDE – integrated development environment) RStudio©15.

8. Язык программирования Python c интегрированной средой разработки Spyder16.

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

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

2. Возможность установки и использования на различных операционных системах таких, как Microsoft Windows, OS Linux, macOS и др.

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

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

5. Доступность программного обеспечения для исследователей с малым объемом финансирования.

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

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

Одним из таких является язык программирования R с интегрированной средой разработки RStudio©, разработанный и поддерживаемый компанией Posit Software, PBC и распространяющийся по открытой лицензии GNU GPL 317. Данная среда разработки не требует специализированных навыков при установке на большинство программно-аппаратных комплексов общего назначения; инструкцию по установке текущей версии RStudio можно найти на сайте проекта18.

Интерфейс RStudio представлен на рисунке 1.

Рис.2 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 1 – Интегрированная среда разработки RStudio с подключенным компилятором языка программирования R. 1 – интерактивная консоль ввода команд языка R; 2 – поле ввода скриптов на языке R; 3 – область отображения переменных и истории ввода команд в среде RStudio; 4 – область построения графиков, отображения справки (Help) и др.

Детальный обзор интегрированной среды разработки RStudio выходит за рамки настоящего пособия и должен рассматриваться на практических занятиях по статистическому анализу данных на языке программирования R19.

Практическая часть применения статистических методов анализа данных построена на открытых источниках данных, присутствующих в пакете MASS20 языка R, и на открытом наборе данных, содержащем исследования метрик диагностической точности 100 врачей21. Перечень основных наборов данных, содержащихся в пакете MASS:

1. Aids222 – набор данных, содержащий обезличенную информацию о пациентах, у которых диагностирован СПИД в Австралии до 1 июля 1991 г.

2. Cushings23 – набор данных, содержащий наблюдаемые показатели экскреции с мочой двух стероидных метаболитов у пациентов с подтвержденным диагнозом синдрома Кушинга (гипертензивное заболевание, связанное с избыточной секрецией кортизола надпочечниками).

3. GAGurine24 – набор данных, содержащий значения концентрации гликозаминогликанов (GAG) в моче у детей в возрасте от 0 до 17 лет.

4. Melanoma25 – набор данных, содержащий обезличенные данные 205 пациентов в Дании с подтвержденным диагнозом злокачественной меланомы.

5. Pima.te26 – набор данных, содержащий информацию о популяции женщин в возрасте не менее 21 года, принадлежащих к индейскому племени пима и проживающих в окрестностях Феникса (штат Аризона), которые были обследованы на наличие диабета в соответствии с критериями Всемирной организации здравоохранения. Сбор данных осуществлялся Национальным институтом диабета и болезней органов пищеварения и почек США. Содержит 532 полные записи после исключения (в основном отсутствующих) данных об инсулине в сыворотке крови. Обучающий набор Pima.tr содержит случайно выбранный набор данных 200 испытуемых, а Pima.te – оставшихся 332 испытуемых. Pima.tr2 содержит Pima.tr плюс 100 испытуемых с отсутствующими значениями объясняющих переменных.

6. anorexia27 – набор данных, содержащий обезличенную информацию об изменении веса молодых женщин, страдающих анорексией.

7. bacteria28 – набор данных, содержащий тесты на наличие бактерии H. influenzae у детей со средним отитом на северной территории Австралии.

8. biopsy29 – набор данных о раке молочной железы, полученный из госпиталей Висконсинского университета в Мэдисоне от доктора Уильяма Х. Вольберга. Он оценивал биопсии опухолей молочной железы 699 пациенток до 15 июля 1992 г. Каждый из девяти признаков оценивался по шкале от 1 до 10, известен также исход заболевания; имеются 699 строк и 11 столбцов.

9. birtwt30 – набор данных, содержащий факторы риска, связанные с низкой массой тела младенца при рождении. Данные были собраны в Медицинском центре Baystate, Спрингфилд, штат Массачусетс, в течение 1986 года.

10. epil31 – набор данных о количестве двухнедельных приступов у 59 эпилептиков. Количество приступов регистрировалось в течение базового периода в 8 недель, после чего пациенты были рандомизированы в группу лечения или контрольную группу. Затем подсчеты проводились в течение четырех последовательных двухнедельных периодов. Возраст пациента является единственной ковариатой.

11. gehan32 – набор данных, содержащий исследования 42 больных лейкемией. Часть из них получала лечение препаратом 6-меркаптопурин, остальные – контрольная группа. Испытание было организовано в виде подобранных пар, обе из которых были выведены из исследования при выходе из ремиссии.

12. muscle33 – набор данных, содержащий результаты исследования по влиянию концентрации хлорида кальция на сокращение мышц сердца крыс.

13. Indometh34 – набор данных, содержащий фармакокинетику индометацина.

14. Theoph35 – набор данных, содержащий фармакокинетику теофиллина.

15. lh36 – набор данных, содержащий временной ряд изменения концентрации лютеинизирующего гормона в образцах крови.

16. women37 – набор данных, содержащий средний рост и вес женщин в Америке в возрасте от 30 до 39 лет.

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

Рис.3 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 2.1 – Алгоритм проведения статистического анализа смешанных данных

Рис.4 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие
Рис.5 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 2.2 – Алгоритм проведения статистического анализа количественных данных

Рис.6 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

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

Авторы учебного пособия выражают благодарность М. Р. Коденко и Р. В. Решетникову за ценные советы, данные при подготовке рукописи.

1. ТИПЫ ДАННЫХ

При проведении статистического анализа аналитик сталкивается с тремя основными типами данных:

1) количественными;

2) качественными;

3) смешанными (сочетающими количественные и качественные характеристики).

Количественные данные38 – численные данные, имеющие шкалу измерения. Они могут быть разделены на дискретные и непрерывные.

Дискретные количественные данные – это числовые данные, полученные путем подсчета какой-либо величины.

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

Непрерывные количественные данные – изменение какой-либо количественной величины, измеренной за определенный период времени.

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

Рис.7 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Качественные данные – это данные, описывающие признак предмета исследования естественным языком. Они могут быть номинальными и порядковыми.

Номинальные данные – это подгруппа качественных данных, используемая для именования переменных, не имеющих числового значения.

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

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

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

1. Да.

2. Скорее да.

3. Затрудняюсь ответить.

4. Скорее нет.

5. Нет.

Каждому из пяти представленных ответов может соответствовать число от 1 до 5 в случае применения порядковой шкалы или от 0 до 1 в случае вероятностной шкалы. Выбор шкалы соответствия ограничивается только фантазией исследователя, и единственное требование, которое возникает при планировании сбора качественных данных – единообразие используемых шкал.

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

Рис.8 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

В данном случае идентификатор представлен численно буквенным кодом, идентифицирующим пациента в некоторой базе данных, а пол пациента обозначен буквами «М» (мужской) и «Ж» (женский).

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

Рис.9 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

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

Ниже представлены примеры наборов данных, содержащих смешанные данные, но с превалирующим количеством качественных переменных и с превалирующим числом количественных данных.

1.1. Пример количественных и качественных данных

В практике анализа наборы данных, содержащие только качественные переменные, возникают при сборе методом опроса или анкетирования (даже в этом случае результаты опроса или анкетирования, скорее всего, будут содержать возраст пациента и время (календарную дату) проведения опроса). То же самое относится и к наборам данных, содержащим только количественные переменные: как правило, присутствует порядковый номер образца, и/или идентификатор пациента и/или гендерный признак пациента. Рассмотрим на примерах некоторые наборы данных, содержащиеся в пакетах языка R, в частности в пакете MASS. Знак «#» применяется для экранирования (компилятор языка не будет воспринимать текст, находящийся после данного знака, как текст программы) комментариев в тексте программы.

Листинг 141

library (MASS) #Подключаем библиотеку, содержащую набор данных bacteria

head (bacteria) # выводим первую часть набора данных

#=======================================================

# Результат вывода первой части набора данных

#=====================================================

y ap hilo week ID trt

1 y p hi 0 X01 placebo

2 y p hi 2 X01 placebo

3 y p hi 4 X01 placebo

4 y p hi 11 X01 placebo

5 y a hi 0 X02 drug+

6 y a hi 2 X02 drug+

#=======================================================

#Проводим определение структуры набора данных

#=======================================================

str (bacteria) # Выводим структуру данных, содержащуюся в наборе данных

# bacteria

#=======================================================

# Результаты применения функции

#=======================================================

'data.frame’: 220 obs. of 6 variables:

$ y: Factor w/ 2 levels «n», «y»: 2 2 2 2 2 2 1 2 2 2…

$ ap: Factor w/ 2 levels «a», «p»: 2 2 2 2 1 1 1 1 1 1…

$ hilo: Factor w/ 2 levels «hi», «lo»: 1 1 1 1 1 1 1 1 2 2…

$ week: int 0 2 4 11 0 2 6 11 0 2…

Продолжение листинга 1

$ ID: Factor w/ 50 levels «X01», «X02», «X03»,..: 1 1 1 1 2 2 2 2 3 3…

$ trt: Factor w/ 3 levels «placebo», «drug»,..: 1 1 1 1 3 3 3 3 2 2…

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

Листинг 2

library (MASS) #Подключаем пакет, содержащий набор данных muscle

head (muscle) #Выводим начало набора данных

#=======================================================

#Результат применения команды

#=======================================================

Strip Conc Length

3 S01 1 15.8

4 S01 2 20.8

5 S01 3 22.6

6 S01 4 23.8

9 S02 1 20.6

10 S02 2 26.8

#=======================================================

#Выводим структуру набора данных

#=======================================================

str (muscle)

#=======================================================

'data.frame’: 60 obs. of 3 variables:

$ Strip: Factor w/ 21 levels «S01», «S02», «S03»,..: 1 1 1 1 2 2 2 2 3 3…

Продолжение листинга 2

$ Conc: num 1 2 3 4 1 2 3 4 0.25 0.5…

$ Length: num 15.8 20.8 22.6 23.8 20.6 26.8 28.4 27 7.2 15.4…

Набор данных muscle содержит значения концентрации хлорида кальция, кратные величине 2,2 ммоль (Conc), и длину полосы сокращения сердечной мышцы, измеряемую в миллиметрах (Length) – представленные данные являются количественными. Одновременно набор данных содержит и качественный параметр, а именно обозначение линии сердечной мышцы при проведении измерений (Strip).

2. НОРМАЛЬНЫЙ ЗАКОН РАСПРЕДЕЛЕНИЯ СЛУЧАЙНОЙ ВЕЛИЧИНЫ

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

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

На рисунке 3 представлен пример графика (гистограммы42) случайной величины, значительно приближенной к нормальному закону распределения.

Рис.10 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 3 – Пример частоты встречаемости наблюдаемого и/или измеренного значения для нормального закона распределения

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

2.1. Базовый статистический анализ количественных данных

Базовый статистический анализ составляет основу любой аналитической работы с данными (независимо от того, какого типа данные анализируются).

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

1. Доля каждого уровня в факторе.

2. Среднее квадратичное отклонение доли в факторе.

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

1. Выборочное среднее и/или среднее взвешенное значение.

2. Медиану.

3. Среднее квадратическое отклонение.

4. Доверительный интервал выборочного среднего на основании первой и третьей величины.

5. Максимальное значение.

6. Минимальное значение.

7. «Размах» значений на основании максимального и минимального значений.

8. Первый квартиль в распределении данных.

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

10. Межквартильный интервал на основании первого и последнего квартиля в распределении данных.

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

2.1.1. Выборочное среднее

При проведении анализа данных первая величина, которую вычисляет исследователь – это выборочное среднее значение43. В данном учебном пособии не рассматривается вопрос математически строгого представления средних величин, а представлены наиболее часто использующиеся на практике. Выборочная средняя величина вычисляется по уравнению (1):

Рис.11 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где – количество исследований, вычисленное по одному параметру в наборе данных; X– фактическое значение усредняемой величины.

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

Рис.12 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 4 – Выборочное среднее (зеленая вертикальная линия)

для нормального закона распределения44

На языке программирования R выборочное среднее значение вычисляется с помощью функции mean () из пакета base.

В случае, если врачу необходимо более точно описать средний вес пациентов (например) в возрасте 20 лет с учетом их (например) роста, то для этих целей нужно использовать среднее взвешенное значение (2):

Рис.13 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где N – количество исследований, вычисленное по одному параметру в наборе данных; X– фактическое значение усредняемой величины; ωi – вес i-го значения усредняемой величины в общей выборке.

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

На языке программирования R выборочное среднее значение вычисляется с помощью функции weighted.mean () из пакета base.

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

Рис.14 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где p – доля единиц, обладающих исследуемым признаком; q – доля единиц, не обладающих исследуемым признаком, равна 1-p.

Пример вычисления выборочного среднего и средневзвешенного на языке R

Для примера вычисления средних и средневзвешенных значений используем набор данных anorexia из пакета MASS. Вычислим среднее и средневзвешенное значение веса пациента. В качестве весового коэффициента (уравнение 2 и текст под ним) будем использовать долю пациентов в каждой группе.

Листинг 3

library (MASS) #45Подключаем библиотеку, содержащую набор данных anorexia

#=====================================================

#Исследуем структуру набора данных

#=====================================================

str (anorexia)

#=======================================================

# Выводим структуру данных

#=======================================================

'data.frame’: 72 obs. of 3 variables:

$ Treat: Factor w/ 3 levels «CBT», «Cont», «FT»: 2 2 2 2 2 2 2 2 2 2..

Продолжение листинга 3

$ Prewt: num 80.7 89.4 91.8 74 78.1 88.3 87.3 75.1 80.6 78.4…

$ Postwt: num 80.2 80.1 86.4 86.3 76.1 78.1 75.1 86.7 73.5 84.6…

#========================================================

# Выводим заголовочную часть набора данных

#========================================================

head (anorexia)

#=======================================================

# Выводим заголовочную часть файла

#========================================================

Treat Prewt Postwt

1 Cont 80.7 80.2

2 Cont 89.4 80.1

3 Cont 91.8 86.4

4 Cont 74.0 86.3

5 Cont 78.1 76.1

6 Cont 88.3 78.1

#========================================================

# Вычисляем выборочное среднее в контрольной группе пациентов до

# проведения лечения

#=====================================================

mean (anorexia [anorexia$Treat==«Cont», ] $Prewt)

#========================================================

# результат вычисления среднего веса пациента в контрольной группе

#========================================================

[1] 81.55769

#========================================================

mean (anorexia [anorexia$Treat==«CBT», ] $Prewt)

#========================================================

# результат вычисления среднего веса пациента в группе с

Продолжение листинга 3

# когнитивно-поведенческой терапией

#========================================================

[1] 82.68966

#========================================================

mean (anorexia [anorexia$Treat==«FT», ] $Prewt)

#========================================================

# результат вычисления среднего веса пациента в группе с семейной терапией

#========================================================

[1] 83.22941

#========================================================

#Вычисление взвешенного среднего значения

#========================================================

# Определяем количество пациентов в каждой группе и общее количество пациентов

numInCont <– length46 (anorexia [anorexia$Treat==«Cont», ] $Prewt)

numInCBT <– length (anorexia [anorexia$Treat==«CBT», ] $Prewt)

numInFT <– length (anorexia [anorexia$Treat==«FT», ] $Prewt)

numAll <– length (anorexia$Prewt)

#=======================================================

# Формируем вектор весов и вектор данных

# В данном примере в качестве веса выступает доля пациентов в каждой

# группе

#=======================================================

weightData <– c (numInCont/numAll, numInCBT/numAll, numInFT/numAll)

Продолжение листинга 3

meanData <– c (mean (anorexia [anorexia$Treat==«Cont», ] $Prewt),

mean (anorexia [anorexia$Treat==«CBT», ] $Prewt),

mean (anorexia [anorexia$Treat==«FT», ] $Prewt)

weighted.mean (meanData, weightData)

#=======================================================

# Результат вычисления средневзвешенного значения веса пациента

#=======================================================

[1] 82.40833

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

2.1.2. Вычисление среднего квадратического отклонения

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

Рис.15 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где N – полное количество исследований в генеральной совокупности;  – среднее значение исследуемой величины; xi – фактическое значение, полученное при измерении величины.

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

Рис.16 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

Рис.17 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 5 – Белой вертикальной линией отмечено выборочное среднее значение данных, распределенных по нормальному (Гауссову) закону. Расстояние от белой вертикальной линии до зеленой (влево или вправо) задается средним квадратическим отклонением

В случае, если исследователю необходимо оценить среднее квадратическое отклонение вероятности возникновения признака, то составляется уравнение (6):

Рис.18 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где p̂ – вероятность возникновения исследуемого признака:

Рис.19 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где N – общее количество значений, обладающих различными признаками; n – количество исследований, обладающих анализируемым признаком.

На языке программирования R для вычисления среднего квадратического значения применяется функция sd () из пакета stats. В случае данных, распределенных по нормальному закону, выборочное среднее квадратическое отклонение будет соответствовать рисунку 5.

Пример вычисления среднего квадратического отклонения

Для примера проведения вычислений среднего квадратического отклонения используем набор данных anorexia из пакета MASS.

Листинг 4

library (MASS) #Подключаем пакет MASS, содержащий набор данных anorexia

#========================================================

#Выделяем из набора данных подгруппы пациентов с разным типом лечения

#========================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt

ftData <– anorexia [anorexia$Treat==«FT», ] $Prewt

#=====================================================

#Вычисляем среднее квадратическое отклонение веса пациента до

# прохождения лечения

Продолжение листинга 4

#=====================================================

sd (contData)

#====================================================

# Результат вычисления в контрольной группе

#====================================================

[1] 5.70706

#====================================================

sd (cbtData)

#====================================================

# Результат вычисления в группе с когнитивно-поведенческой терапией

#=====================================================

[1] 4.845495

#========================================================

sd (ftData)

#=====================================================

# Результаты вычислений в группе с семейной терапией

#=====================================================

[1] 5.016693

#=====================================================

# Вычисляем количество пациентов до прохождения лечения

#=====================================================

lenPrewt <– length (anorexia$Prewt) #Общее количество данных

lenContPrew <– length (anorexia [anorexia$Treat==«Cont», ] $Prewt) # Количество

# данных в контрольной группе

lenCBTPrewt <– length (anorexia [anorexia$Treat==«CBT», ] $Prewt) # Количество

# данных в группе с когнитивно-поведенческой терапией

lenBTPrew <– length (anorexia [anorexia$Treat==«FT», ] $Prewt) # Количество

# данных в группе с семейной терапией

Продолжение листинга 4

#========================================================

# Вычисляем доли пациентов в каждой группе

#=====================================================

pCP <– lenContPrew/ lenPrewt # Доля в контрольной группе

pCBTP <– lenCBTPrewt/ lenPrewt # Доля в когнитивно-поведенческой группе

pBTP <– lenBTPrew/lenPrewt # Доля в семейной группе

#========================================================

sdCP <– sqrt47 (pCP* (1-pCP)) # Среднее квадратичное отклонение долей в

# контрольной группе.

sdCBT <– sqrt (pCBTP* (1- pCBTP))

sdBT <– sqrt (pBTP* (1- pBTP))

#=====================================================

# Результаты вычисления

#=====================================================

print (sdCP)

#=====================================================

[1] 0.4803227

#=====================================================

print (sdCBT)

#=====================================================

[1] 0.4904568

#=====================================================

print (sdBT)

#=====================================================

[1] 0.4246912

2.1.3. Вычисление доверительного интервала

Вычислив значения выборочной средней величины (или средневзвешенной величины)48 и среднего квадратического отклонения, можно построить доверительный интервал средней величины. Вычисление доверительного интервала для средней величины тесно связано с понятием доверительной вероятности, ошибки средней величины и предельной ошибкой выборки.

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

Рис.20 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где S – выборочное среднее квадратическое отклонение; N – количество исследований.

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

Предельная ошибка выборки вычисляется по уравнению (9):

Рис.21 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где значение t представлено в таблице 4.

Рис.22 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

В медицинских исследованиях доверительный интервал принимается равным (10)49:

Рис.23 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где  – среднее значение исследуемой величины; Δlim – предельная ошибка выборки исследуемой величины.

В случае оценки доли фактора и отклонения долей величина доверительного интервала вычисляется по уравнению (11):

Рис.24 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где – средняя доля исследуемого признака, определенная по уравнению (3); Δelim – предельная ошибка выборки долей вхождения признака в данные.

На рисунке 6 изображено графическое представление доверительного интервала при условии данных, распределенных в соответствии с нормальным (Гауссовым) законом.

Рис.25 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 6 – Доверительный интервал (уравнение 10) выборочного среднего значения (расстояние от белой вертикальной линии до зеленой вертикальной линии)

Пример вычисления доверительных интервалов

На примере значений веса пациентов с подтвержденным диагнозом «анорексия» (набор данных anorexia пакета MASS) проведем анализ доверительных интервалов весов и долей пациентов в контрольной группе, группе с когнитивно-поведенческой терапией и в группе с назначенной семейной терапией.

Листинг 5

library (MASS) # Подключаем библиотеку, содержащую набор данных anorexia

library (ggplot2)

#========================================================

# Выделяем из набора данных подгруппы пациентов с разным типом лечения

#========================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt

ftData <– anorexia [anorexia$Treat==«FT», ] $Prewt

#=====================================================

# Вычисляем средние значения

#=====================================================

meanCont <– mean (contData) # Средний вес в контрольной группе

meanCBT <– mean (cbtData) # Средний вес в когнитивно-поведенческой группе

meanFT <– mean (ftData) # Средний вес в группе семейной терапии

#========================================================

# Вычисляем среднее квадратическое отклонение

#========================================================

sdCont <– sd (contData) / (sqrt (length (contData))) # Среднее квадратическое

# отклонение веса в контрольной группе

Продолжение листинга 5

sdCBT <– sd (cbtData) / (sqrt (length (cbtData))) # Среднее квадратическое отклонение

# веса в когнитивно-поведенческой группе

sdFT <– sd (ftData) / (sqrt (length (ftData))) # Среднее квадратическое отклонение

# веса в группе семейной терапии

#=====================================================

# Вычисление доверительных интервалов в группах

#=====================================================

upCont <– meanCont+2*sdCont # Верхняя граница доверительного интервала в

# контрольной группе

downCont <– meanCont-2*sdCont # Нижняя граница доверительного интервала в

# контрольной группе

#=====================================================

upCBT <– meanCBT+2*sdCBT # Верхняя граница доверительного интервала в

# группе с когнитивно-поведенческой терапией

downCBT <– meanCBT-2*sdCBT # Нижняя граница доверительного интервала в

# группе с когнитивно-поведенческой терапией

#=====================================================

upFT <– meanFT+2*sdFT # Верхняя граница доверительного интервала в

# группе с семейной терапией

downFT <– meanFT-2*sdFT # Нижняя граница доверительного интервала в

# группе с семейной терапией

#=====================================================

# Построение графика средних значений и доверительных интервалов

#=====================================================

Продолжение листинга 5

dataAn <– data.frame (Type = c («Cont», «CBT», «FT»), Mean=c (meanCont, meanCBT, meanFT), Sd = c (sdCont, sdCBT, sdFT))

#=======================================================

grPP <– ggplot (data = dataAn, mapping = aes (Type, Mean))

grPP <– grPP + geom_point (mapping = aes (Type, Mean),colour=«blue», size=5)

grPP <– grPP + geom_errorbar (mapping = aes (ymin=Mean-2*Sd, ymax=Mean+2*Sd), colour=«red», linewidth=1.5,width = 0.5)

grPP <– grPP + theme_light ()

grPP <– grPP + theme(panel.border = element_rect (linewidth = 6, colour = «black»),

axis. h2 = element_text (size = 20, face = «bold», colour = «black»),

axis. text. x = element_text (size = 20, face = «bold», colour = «black»),

axis. text. y = element_text (size = 20, face = «bold», colour = «black»),

axis. ticks = element_line (linewidth = 3, colour = «black»),

legend. h2 = element_text (size = 20, face = «bold», color = «black»),

legend. text = element_text (size = 20, face = «bold», color = «black»))

grPP <– grPP + labs (x=«Therapy type», y=«Weight, kg»)

print (grPP)

#=====================================================

# Вывод графика

#=====================================================

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

Рис.26 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 7 – Средние значения (синие кружочки) и доверительный интервал для доверительной вероятности 95,5% (красные линии, нижние и верхние горизонтальные линии обозначают границы доверительных интервалов) веса пациентов в трех группах (Cont – контрольной группе; CBT – группе с назначенной когнитивно-поведенческой терапией; FT – с назначенной семейной терапией) до проведения терапии

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

Листинг 6

# Вычисляем количество пациентов до прохождения лечения

#=====================================================

lenPrewt <– length (anorexia$Prewt) #Общее количество данных

Продолжение листинга 6

lenContPrew <– length (anorexia [anorexia$Treat==«Cont», ] $Prewt) # Количество

# данных в контрольной группе

lenCBTPrewt <– length (anorexia [anorexia$Treat==«CBT», ] $Prewt) # Количество

# данных в группе с когнитивно-поведенческой терапией

lenBTPrew <– length (anorexia [anorexia$Treat==«FT», ] $Prewt) # Количество

# данных в группе с семейной терапией

#=====================================================

# Вычисляем доли пациентов в каждой группе

#=====================================================

pCP <– lenContPrew/ lenPrewt # Доля в контрольной группе

pCBTP <– lenCBTPrewt/ lenPrewt # Доля в когнитивно-поведенческой группе

pBTP <– lenBTPrew/lenPrewt # Доля в семейной группе

#=====================================================

sdCP <– sqrt (pCP* (1-pCP)) # Среднее квадратичное отклонение долей в

# контрольной группе

sdCBT <– sqrt (pCBTP* (1- pCBTP))

sdBT <– sqrt (pBTP* (1- pBTP))

#=====================================================

# Результаты вычисления

#=====================================================

dataAn <– data.frame (Type = c («Cont», «CBT», «FT»), Mean=c (pCP, pCBTP, pBTP),

Sd = c (sdCP, sdCBT, sdBT))

#=====================================================

grPP <– ggplot (data = dataAn, mapping = aes (Type, Mean))

grPP <– grPP + geom_point (mapping = aes (Type, Mean),colour=«blue», size=5)

Продолжение листинга 6

grPP <– grPP + geom_errorbar (mapping = aes (ymin=Mean-2*Sd, ymax=Mean+2*Sd), colour=«red», linewidth=1.5,width = 0.5)

grPP <– grPP + theme_light ()

grPP <– grPP + theme(panel.border = element_rect (linewidth = 6, colour = «black»),

axis. h2 = element_text (size = 20, face = «bold», colour = «black»),

axis. text. x = element_text (size = 20, face = «bold», colour = «black»),

axis. text. y = element_text (size = 20, face = «bold», colour = «black»),

axis. ticks = element_line (linewidth = 3, colour = «black»),

legend. h2 = element_text (size = 20, face = «bold», color = «black»),

legend. text = element_text (size = 20, face = «bold», color = «black»))

grPP <– grPP + labs (x=«Therapy type», y=«Proportion of patients»)

print (grPP)

#=====================================================

# Вывод графика

#=====================================================

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

Рис.27 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 8 – Доля пациентов в каждой группе (синяя точка) и доверительный интервал для 95,5% доверительной вероятности (красные линии обозначают ширину доверительного интервала, горизонтальными линиями обозначены границы доверительного интервала) доли пациентов в каждой группе пациентов, с назначенными различными типами терапии (Cont – контрольной группе; CBT – группе с назначенной когнитивно-поведенческой терапией; FT – с назначенной семейной терапией)

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

2.1.4. Поиск максимального, минимального значения и размах

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

Листинг 7

library (MASS) #Подключаем библиотеку, содержащую набор данных anorexia

library (ggplot2) #Подключаем библиотеку построения графиков

#=====================================================

# Выделяем из набора данных подгруппы пациентов с разным типом лечения

#=====================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt

ftData <– anorexia [anorexia$Treat==«FT», ] $Prewt

#=====================================================

# Определяем максимальные значения в данных

#=====================================================

maxCont <– max50 (contData) # Максимальный вес до проведения лечения

# в контрольной группе пациентов

maxCBT <– max (cbtData) # Максимальный вес до проведения лечения

# в группе с назначенной когнитивно-поведенческой терапией

maxFT <– max (ftData) # Максимальный вес до проведения лечения

# в группе с назначенной семейной терапией

Продолжение листинга 7

#=====================================================

# Определяем минимальные значения в данных

#=====================================================

minCont <– min51 (contData) # Минимальный вес пациентов до прохождения лечения

# в контрольной группе

minCBT <– min (cbtData) # Минимальный вес пациентов до прохождения лечения

# в группе с назначенной когнитивно-поведенческой терапией

minFT <– min (ftData) # Минимальный вес пациентов до прохождения лечения

# в группе с назначенной семейной терапией

#=====================================================

# Определяем размах значений веса в каждой группе

#=====================================================

deltaCont <– maxCont – minCont # Размах значений веса пациентов до прохождения

# лечения в контрольной группе

deltaCBT <– maxCBT – minCBT # Размах значений веса пациентов до прохождения

# лечения в группе с назначенной когнитивно-поведенческой терапией

deltaFT <– maxFT – minFT # Размах значений веса пациентов до прохождения

# лечения в группе с назначенной семейной терапией

#=====================================================

# Группируем результаты вычислений

#=====================================================

Продолжение листинга 7

dataAn <– data.frame (Type = c («Cont», «CBT», «FT»),

Max=c (maxCont, maxCBT, maxFT),

Min = c (minCont, minCBT, minFT),

Delta = c (deltaCont, deltaCBT, deltaFT))

#=====================================================

grPP <– ggplot (data = dataAn, aes (Type, Max))

grPP <– grPP + geom_point (mapping = aes (Type, Min),colour=«magenta», size=7)

grPP <– grPP + geom_point (mapping = aes (Type, Max),colour=«blue», size=7)

grPP <– grPP + geom_errorbar (mapping = aes (ymin=Min, ymax=Max), colour=«red», linewidth=1.5,width = 0.5)

grPP <– grPP + theme_light ()

grPP <– grPP + theme(panel.border = element_rect (linewidth = 6, colour = «black»),

axis. h2 = element_text (size = 20, face = «bold», colour = «black»),

axis. text. x = element_text (size = 20, face = «bold», colour = «black»),

axis. text. y = element_text (size = 20, face = «bold», colour = «black»),

axis. ticks = element_line (linewidth = 3, colour = «black»),

legend. h2 = element_text (size = 20, face = «bold», color = «black»),

legend. text = element_text (size = 20, face = «bold», color = «black»))

grPP <– grPP + labs (x=«Therapy type», y=«Value range»)

print (grPP)

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

Рис.28 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 9 – Размах значений веса пациентов (синие закрашенные кружочки – максимальный вес; фиолетовые кружочки – минимальный вес пациентов) до проведения лечения в трех группах (CBT – группа с назначенным когнитивно-поведенческим лечением; Cont – контрольная группа; FT – назначенная семейная терапия)

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

2.1.5. Понятие о квантилях, децилях, квартилях распределения

При проведении статистического анализа данных возникает необходимость оценки значения, соответствующего 5%52 от общего количества данных или 95% от общего количества данных. Для этих целей применяются различные уровни квантилей.

Квантили – это значения, которые делят упорядоченную выборку на равные доли.

Допустим, имеется произвольный ряд десятичных чисел:

85.50 99.69 37.19 47.43 40.26 93.58 68.97 19.50 87.39 43.81 42.96 6.985.22 62.67 47.16 76.30 69.56 59.40 92.33 31.22 41.59 33.27 30.25 36.7749.43 33.85 27.44 8.45 99.84 52.81

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

5.21 6.98 8.45 19.50 27.44 30.25 31.22 33.27 33.85 36.77 37.18 40.26 41.59 42.96 43.81 47.16 47.43 49.43 52.81 59.40 62.67 68.97 69.56 76.30 85.50 87.39 92.33 93.58 99.69 99.84

В данном ряду содержится 30 значений, номер значения, соответствующего 5% данного ряда, равен 1.5, т.е. между первым и вторым значением соответственно квантиль будет равен:

Рис.29 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

Рис.30 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Наиболее часто применяемыми на практике являются квартили – значения, которые делят упорядоченную выборку на четыре примерно равные части. Для приведенного ранее ряда значения квартилей равны:

Рис.31 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

Рис.32 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 10 – Межквартильный интервал (между первым и третьим квартилем) представлен зелеными вертикальными линиями

В межквартильном интервале находятся 50% всех встречаемых значений измеряемой величины. Первый квартиль ограничивает слева 25% (первая зеленая вертикальная линия при просмотре рисунка 10 слева направо) значений, а третий – 75% (вторая зеленая вертикальная линия при просмотре рисунка 10 слева направо).

Пример вычисления квантилей, децилей и квартилей

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

Листинг 8

library (MASS) # Подключаем библиотеку, содержащую набор данных anorexia

Продолжение листинга 8

library (ggplot2) #Подключаем библиотеку построения графиков

#=======================================================

# Выделяем из набора данных подгруппы пациентов с разным типом

# назначенного лечения

#=======================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt #Вес пациентов в

# контрольной группе до проведения лечения

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt # Вес пациентов в группе

# с назначенным когнитивно-поведенческим лечением до проведения лечения

ftData <– anorexia [anorexia$Treat==«FT», ] $Prewt # Вес пациентов в группе

# с назначенной семейной терапией

#=======================================================

#Задаем значения интересующих нас квантилей

propQ <– c (0.05, 0.95)

propDec <– c (0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)

propQvar <– c (0.25, 0.5, 0.75, 1.0)

#=======================================================

contQuan <– quantile (contData, propQ, type = 4)

print (contQuan)

cbtQuan <– quantile (cbtData, propQ, type = 4)

print (cbtQuan)

ftQuan <– quantile (ftData, propQ, type = 4)

print (ftQuan)

2.1.6. Вычисление медианы

Выборочное среднее значение при большом объеме данных, распределенных в соответствии с нормальным законом, стремится к моде53 или наиболее вероятному значению в данной выборке. Такая оценка значений не всегда бывает адекватной, особенно в случае наличия аномалий (значений существенно меньших или существенно больших, чем большинство значений из выборочной совокупности). Для более адекватного описания всей совокупности при наличии выбросов или данных, распределенных отлично от нормального закона распределения, лучше использовать медианную оценку, или медиану – это значение, которое разделяет ранжированную по возрастанию выборку пополам (50% квантиль).

Предположим, имеется упорядоченный по возрастанию ряд чисел 1, 4, 6, 9, 11. Центр этого ряда составляет число 6, это и будет медианой данного ряда. В случае, если ряд имеет четное число значений, то медианой будет являться среднее арифметическое значение между двумя центральными значениями. Например, имеется ряд чисел, упорядоченных по возрастанию: 1, 4, 6, 9, 11, 12 – двумя центральными значениями будут являться 6 и 9, их среднее арифметическое значение равно 7,5 – оно и будет являться медианой.

Пример вычисления медианы

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

Листинг 9

library (MASS) # Подключаем пакет, содержащий набор данных anorexia

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

median (anorexia [anorexia$Treat==«Cont», ] $Prewt)

#=======================================================

# Результат вычисления

#=======================================================

[1] 80.65

#Вычисляем медиану в группе с когнитивно-поведенческой терапией

median (anorexia [anorexia$Treat==«CBT», ] $Prewt)

#=======================================================

#Результат вычисления

#=======================================================

[1] 82.6

#Вычисляем медиану в группе с семейной терапией

median (anorexia [anorexia$Treat==«FT», ] $Prewt)

#=======================================================

#Результат вычисления

#=======================================================

[1] 83.3

Результаты вычислений показывают, что медианная оценка веса пациентов с подтвержденным диагнозом «анорексия» во всех трех группах примерно равна выборочному среднему значению (см. пример в п. 2.1.1), что согласуется с одним из свойств нормального закона распределения количественной величины – медиана, среднее и мода приблизительно равны между собой.

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

Рис.33 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

Рис.34 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 11 – Диаграмма размаха «ящик с усами» веса пациентов: а – до прохождения лечения; б – после прохождения лечения

Центральная (жирная линия) ящика означает медиану, нижняя граница ящика (прямоугольника) означает первый квартиль распределения значений, верхняя граница ящика (прямоугольника) – третий квартиль распределения исследуемой величины (в данном случае веса пациентов), «усы ящика» вычисляются по уравнениям (12, 13):

Рис.35 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где Udown – значение нижней границы «усов ящика»; – Q1 первый квартиль; IQR – межквартильный интервал.

Рис.36 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где Uup – значение верхней границы усов ящика; Q– третий квартиль; IQR – межквартильный интервал.

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

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

Контрольные вопросы и задачи

1. Напишите уравнение для вычисления выборочного среднего значения.

2. Запишите уравнение для вычисления выборочного среднего квадратического отклонения.

3. Опишите способ поиска медианы в числовом векторе, расположенном в случайном порядке.

4. Используя набор данных Indometh и Theoph из пакета MASS, вычислите медиану, среднее квадратическое отклонение и выборочное среднее значение концентраций индометацина и теофиллина в плазме крови пациентов.

3. ПОНЯТИЕ О СТАТИСТИЧЕСКОЙ ГИПОТЕЗЕ

Статистическая гипотеза – выдвинутое предположение о виде распределения и свойствах случайной величины, которое можно подтвердить или опровергнуть применением статистических методов к данным, содержащимся в исследуемой выборке54.

Пусть в эксперименте доступна наблюдению случайная величина X, распределение которой P полностью или частично неизвестно. Тогда любое утверждение относительно P называется статистической гипотезой. Выше были представлены примеры базового статистического анализа веса пациентов с подтвержденным диагнозом anorexia, т.е. вес пациентов, участвовавших в эксперименте, представляет собой случайную величину Х. В главе 1 было дано понятие о Гауссовом (нормальном) типе распределения данных. Предположение о том, что вес пациентов распределен по закону, близкому к нормальному (близко к рисунку 1), будет являться статистической гипотезой.

Гипотезы различают по виду предположений, содержащихся в них:

· Статистическая гипотеза, однозначно определяющая распределение P, то есть H: {P = P0}, где P0 – какой-то конкретный закон (например, вес пациентов во всех группах подчинен одному нормальному закону распределения), называется простой. H – гипотеза, принято различать нулевую гипотезу H0 (вес пациентов с подтвержденным диагнозом «анорексия» распределен нормальным образом) и альтернативную гипотезу H(вес пациентов с подтвержденным диагнозом «анорексия» распределен отличным от нормального закона распределения).

· Статистическая гипотеза, утверждающая принадлежность распределения P к некоторому семейству распределений, то есть вида H: {P ∈ 𝒫0}, где 𝒫 – семейство распределений, называется сложной55.

На практике обычно требуется проверить какую-то конкретную и, как правило, простую гипотезу H0. Такую гипотезу принято называть нулевой. При этом параллельно рассматривается противоречащая ей гипотеза H1, называемая конкурирующей, или альтернативной (вес пациента принадлежит нормальному закону распределения – нулевая гипотеза, вес пациента не принадлежит нормальному закону распределения – альтернативная гипотеза). В таблице 6 представлены формулировки трех простых нулевых и альтернативных гипотез, которые будут встречаться в тексте пособия при решении трех основных задач:

1. Задача принадлежности данных к нормальному закону распределения.

2. Задача сравнения данных, выделенных по какому-либо признаку в различные группы.

3. Задача выявления статистической зависимости между переменными.

Рис.37 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

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

· Формулировка основной гипотезы H0 и конкурирующей гипотезы H(для примера см. таблицу 5).

· Задание уровня значимости α56, на котором в дальнейшем и будет сделан вывод о справедливости гипотезы. Он равен вероятности допустить ошибку первого рода.

· Расчет статистики j критерия такой, что57:

– ее величина зависит от исходной выборки X = (X1…Xn): φ = φ (X1…Xn);

– по ее значению можно делать выводы об истинности гипотезы H0;

– статистика φ, как функция случайной величины X, также является случайной величиной и подчиняется определенному закону распределения.

· Построение критической области. Из области значений φ выделяется подмножество C таких значений, по которым можно судить о существенных расхождениях с предположением. Его размер выбирается таким образом, чтобы выполнялось равенство P (φC) = α. Это множество C и называется критической областью, α – ошибка первого рода.

· Вывод об истинности гипотезы. Наблюдаемые значения выборки подставляются в статистику φ и по попаданию (или непопаданию) в критическую область C выносится решение об отвержении (или принятии) выдвинутой гипотезы H0.

В качестве примера рассмотрим нулевую гипотезу о принадлежности распределения данных нормальному закону. На рисунке 12 представлена гистограмма распределения случайной величины – вес пациента с подтвержденным диагнозом «анорексия» (вес пациента является исходной выборкой X, а предполагаемый закон распределения – φ).

Рис.38 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 12 – Распределение веса пациентов с подтвержденным диагнозом «анорексия». Вертикальная зеленая линия соответствует 95% распределения случайной величины. Красным цветом закрашена критическая область α = 5%

Соответственно, если P (φC)> 0,05, то расхождения считаются статистически незначимыми, а если P (φ ∈ C) ≤ 0,05, то расхождения статистически значимы, и необходимо отвергнуть нулевую гипотезу и принять альтернативную.

В большинстве случаев статистические критерии основаны на случайной выборке (X1, X2, …, Xn) фиксированного объема n ≥ 1 для распределения P. В последовательном анализе выборка формируется в ходе самого эксперимента, и потому ее размер является случайной величиной58.

4. ФОРМУЛИРОВКА НУЛЕВОЙ ГИПОТЕЗЫ

Одним из подходов предварительной формулировки нулевой гипотезы является построение гистограмм распределения случайной величины. На рисунке 13 представлена гистограмма распределения абстрактной случайной величины X.

Рис.39 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 13 – Гистограмма распределения абстрактной случайной величины X

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

Требование проверки нулевой гипотезы связано с особенностью построения гистограммы распределения случайной величины, а именно с выбором ширины интервалов, в которых подсчитывается число попаданий случайных значений. На рисунке 14 представлены изменения гистограммы случайной величины X (рисунок 13).

Рис.40 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 14 – Изменение вида гистограммы распределения случайной величины X в зависимости от выбора ширины интервалов, в которых подсчитывается количество случайных величин, попавших в данный интервал: а – зауженный интервал; б – интервал увеличенной ширины; в – интервал средней ширины; г – широкий интервал

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

Результатом визуального анализа гистограммы, представленной на рисунке 14б, может служить постановка нулевой гипотезы о мультимодальности распределения случайной величины Х (в этом случае необходимо проверить сложную статистическую гипотезу; рассмотрение анализа сложных статистических гипотез выходит за рамки данного пособия).

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

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

4.1. Расчет оптимального интервала на гистограмме

Расчет оптимального количества интервалов и диапазона значений, попадающих в интервал гистограммы распределения, является важной составляющей базовой статистики и может служить основой для выделения групп равномерно распределенных данных и выработки классификации на их основе. В настоящем пособии рассматривается несколько простых подходов расчета оптимального количества интервалов и диапазона изменения значений. Первый подход основан на эвристической формуле Стерджесса (14)60:

Рис.41 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где N – объем анализируемой выборки (количество значений); n – количество интервалов разбиения данных.

В работе61, описывающей применение статистического анализа при контроле качества продукции, применяют уравнение Брукса—Каррузера (15):

Рис.42 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Наиболее простым методом оценки количества интервалов является (16)62:

Рис.43 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

При больших объемах данных рекомендуется использовать уравнение (17)63:

Рис.44 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

После расчета количества интервалов разбиения гистограммы распределения проводят вычисления ширины интервала по уравнению (18):

Рис.45 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где max (X) – максимальное значение исследуемой переменной X; min (X) – минимальное значение исследуемой переменной X; n – количество интервалов на гистограмме.

Соответственно, с использованием уравнения (18) вычисляются первый и последующие интервалы по уравнению (19):

Рис.46 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где Xi+1 – правая граница i-го интервала, не превышающая max (X); Xi – левая граница i-го интервала, начало отсчета которой равно min (X).

Высота столбца диаграммы определяется по уравнению (20):

Рис.47 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

где N – общее количество исследований; N– количество исследований в i-м интервале; Hi – высота интервала.

Более точная (и она же более сложная) оценка размера интервала может быть получена при оценках статистической мощности64, данный подход не рассматривается в настоящем пособии.

4.2. Построение гистограмм распределения на языке R

В языке программирования R существует несколько способов построения гистограмм распределения случайной величины:

– с применением функции hist (), входящей в пакет graphics;

– посредством функции geom_histogram (), входящей в состав пакета ggplot2;

– с помощью столбчатой диаграммы с предварительным расчетом частот и интервалов распределения величин. Построение столбчатых диаграмм можно произвести с помощью:

– функции barplot (), входящей в пакет graphics;

– функции geom_bar (), входящей в пакет ggplot2.

В примерах данной главы приведены все перечисленные способы построения гистограммы распределений.

Примеры построения гистограмм распределений на языке R

Для построения диаграмм распределения использовались данные по выживаемости заболевших вирусом иммунодефицита, собранных в Австралии после 1 июля 1991 года. Все данные содержатся в пакете MASS, наборе данных Aids2.

Листинг 10

#Построение гистограммы распределения с помощью функции hist () пакета graphics

library («MASS») #Подключаем пакет MASS, содержащий набор данных Aids2

N <– length (Aids2$Age) #Вычисляем количество пациентов в наборе данных

dBreak <-5*log10 (N) #Определяем количество интервалов для гистограммы

dBreak <– round (dBreak) #Округляем значение до целых чисел

dX <– (max (Aids2$Age) -min (Aids2$Age)) / dBreak #Рассчитываем шаг

step <– seq (min (Aids2$Age),max (Aids2$Age), dX) # Вектор интервалов

hist (x = Aids2$age, break = step, xlab= «Возраст выявления, полных лет»,

ylab = «Количество, чел», main = «Выживаемость, заболевших СПИДом»,

col = «blue») #Строим гистограмму распределения возрастов пациентов с

# с выявленным вирусом иммунодефицита

# x – вектор значений исследуемых распределений, полученный из Data Frame

Продолжение листинга 10

#;

# break – количество участков на гистограмме;

# xlab – подпись оси ОХ;

# ylab – подпись оси OY;

# main – название гистограммы;

# col – задание цвета гистограммы распределения.

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

Рис.48 Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Рисунок 15 – Результат применения функции

hist () из пакета grahics

Функция hist () хороша для применения при необходимости быстро построить гистограмму и посмотреть на распределение данных, однако более гибким инструментом для построения и дальнейшей публикации гистограмм является функция geom_histogram (), входящая в пакет ggplot2.

Листинг 11

# Построение гистограммы распределения с помощью функции

# geom_histogram () пакета ggplot2

library («MASS») # Подключаем пакет MASS, содержащий набор данных Aids2

library («ggplot2») # Подключаем пакет ggplot2, содержащий функцию # geom_histogram ()

p <– ggplot () #Создаем объект p, содержащий65 слои графика

p <– p + geom_histogram (mapping = aes (x= Aids2$age), fill= «blue», binwith=30)

p <– p+labs (x = «Возраст выявления, полных лет»,

y= «Количество, чел»,

h2 = «Выживаемость, заболевших СПИДом»)

print (p)

Результат выполнения кода листинга 11 представлен на рисунке 16.

1 Более глубокого понимания критериев и тестов можно добиться, ознакомившись с оригинальными публикациями, которые можно найти с помощью поисковой системы https://scholar.google.com.
2 Построение математической модели является обязательным, если конечной целью исследования выступает предсказание каких-либо свойств, описание явлений и процессов (феноменологические модели).
3 Даже если исследователь обладает широким кругозором и высоким уровнем образования в области возникшего вопроса, предварительное проведение литературного обзора необходимо для понимания актуальности вопроса, в частности: какие части возникшего вопроса уже детально исследованы другими авторами, а какие остались без внимания и почему.
4 Для поиска соответствующей литературы рекомендуется использовать специализированные поисковые платформы, такие как Google Scholar (https://scholar.google.com), электронные библиотеки e-library (https://www.elibrary.ru) или PubMed (https://pubmed.ncbi.nlm.nih.gov). Также следует использовать каталоги Российской государственной библиотеки (https://www.rsl.ru) и Государственной публичной научно-технической библиотеки России (https://www.gpntb.ru).
5 В исследовательской практике очень редко рождаются уникальные вопросы – те, с которыми никто ранее не сталкивался. Часто вопрос, возникающий у исследователя, уже был кем-то изучен или изучен не до конца.
6 Хорошим методическим руководством по решению математических (да и в целом исследовательских задач) является книга «Как решать задачу: понимание постановки задачи, составление и осуществление плана, анализ решения». См.: Пойа Д. Как решать задачу: понимание постановки задачи, составление и осуществление плана, анализ решения / пер. с англ. В. Г. Звонаревой и Д. Н. Белла; под ред. и с предисл. Ю. М. Гайдука. 4-е изд. М.: URSS, 2009. 206 с.
7 Феноменологический (от слова «феномен») – эмпирическое описание наблюдаемого явления или эффекта.
8 Коммерческий программный продукт, разработанный компанией Dell (США), а настоящим владельцем является компания TIBCO (США).
9 Коммерческий программный продукт, разработанный в Чикагском университете США, в настоящее время права на данный продукт принадлежат компании IBM (США).
10 Коммерческий программный продукт, разработанный в университете штата Пенсильвания (США), распространяемый компанией Minitab Inc. со штаб-квартирой в Пенсильвании (США).
11 Свободно распространяемое программное обеспечение, разработчиком которого являются Алан Дж. Салмони и Марк Ливингстон. Выпуск новых версий ПО закончился в 2003 году.
12 Свободно распространяемый аналог SPSS Statistics со встроенным языком программирования R поддерживается Университетом Амстердама (Нидерланды).
13 Свободно распространяемый программный продукт, предназначенный для статистического анализа данных, считается аналогом SPSS Statistics.
14 Язык программирования высокого уровня, разработанный сотрудниками статистического факультета Оклендского университета (США) для статистического анализа данных. Свободно распространяется.
15 RStudio не является единственной интегрированной средой разработки на языке R, но практика применения показала, что данная среда наиболее удобна для применения.
16 В этот язык программирования входит набор библиотек, позволяющих проводить статистический анализ данных, собственно, как и компилируемых языков высокого уровня, таких как Си и Си++. Основным минусом Python для статистического анализа данных является его более общее назначение (в ряде случаев то, что на R решается двумя строчками кода, на Python может потребовать написания кода в несколько десятков строк). Да и в R практически каждая библиотека, набор данных и часто функции сопровождаются публикациями в академической печати, чего не скажешь о библиотеках и функциях, входящих в Python.
17 Более подробно о данном типе лицензии можно прочесть: https://www.gnu.org/licenses/agpl-3.0.txt.
18 См.: https://posit.co/download/rstudio-desktop. В случае, если ваши системы отличны от систем общего назначения (например, исследователь использует ПК с архитектурой arm), то лучше обратиться за помощью к системному администратору.
19 Обзор системы RStudio представлен на сайте: https://docs.posit.co/ide/user.
20 Процесс установки пакетов в языке программирования R и IDE RStudio: https://search.r-project.org/R/refmans/utils/html/install. packages.html.
21 Открытый набор данных, доступный на сайте Московского эксперимента: https://www.telemed.ai.
22 Venables W. N., Ripley B. D. Modern Applied Statistics with S. 4th edition. Springer, 2002.
23 Aitchison J., Dunsmore I. R. Statistical Prediction Analysis. Cambridge University Press, 1975. Tables 11.1—3.
24 Venables W., Ripley B. D. S programming. Springer Science & Business Media, 2000.
25 Andersen Per K., Borgan Ø., Gill R. D., et al. Statistical models based on counting processes. Springer Science & Business Media, 2012.
26 Smith J. W., Everhart J. E., Dickson, W. C., et al. Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. In Proceedings of the Symposium on Computer Applications in Medical Care / ed. R. A. Greenes. Washington, 1988. P. 261—265.
27 Hand D. J., Daly F., McConway K., et al. A Handbook of Small Data Sets. Chapman & Hall, 1993. P. 229. Data set 285.
28 Menzies School of Health Research 1999—2000. Annual Report. P. 20. URL:https://www.menzies.edu.au/icms_docs/172302_2000_Annual_report.pdf.
29 Murphy P. M., Aha D. W. UCI Repository of machine learning databases. [Machine-readable data repository]. Irvine, CA: University of California; Department of Information and Computer Science, 1992.
30 Hosmer D. W., Lemeshow S. Applied Logistic Regression. New York: Wiley, 1989.
31 Thall P. F., Vail S. C. Some covariance models for longitudinal count data with over-dispersion // Biometrics. 1990. Vol. 46, №3. Р. 657—671.
32 Cox D. R., Oakes D. Analysis of Survival Data. Chapman & Hall, 1984. P. 7. Taken from: Gehan E.A. A generalized Wilcoxon test for comparing arbitrarily single-censored samples // Biometrika. 1965. №52. Р. 203—233.
33 Linder A., Chakravarti I. M., Vuagnat P. Fitting asymptotic regression curves with different asymptotes. In Contributions to Statistics. Presented to Professor P. C. Mahalanobis on the occasion of his 70th birthday / ed. C. R. Rao. Oxford: Pergamon Press, 1964. P. 221—228.
34 Kwan К. С., Breault G. O., Umbenhauer E. R., et al. Kinetics of Indomethacin absorption, elimination, and enterohepatic circulation in man // Journal of Pharmacokinetics and Biopharmaceutics. 1976. №4. Р. 255—280.
35 Boeckmann A. J., Sheiner L. B., Beal S. L. Nonmem Users Guide. Part V. Nonmem Project Group; University of California, San Francisco, 1994.
36 Diggle P. J. Time Series: A Biostatistical Introduction. Oxford, 1990. Table A.1, series 3.
37 The World Almanac and Book of Facts, 1975.
38 В языке программирования R количественные данные могут быть представлены типами numeric, integer, double (в языке R отсутствует тип данных с одинарной точностью).
39 Фактор (лат. factor «делающий, производящий») – причина, движущая сила какого-либо процесса, определяющая его характер или отдельные его черты. См.: Фактор // Большая советская энциклопедия: в 30 т. / гл. ред. А. М. Прохоров. 3-е изд. М.: Советская энциклопедия, 1969—1978.
40 Васильев Ю. А., Арзамасов К. М., Владзимирский А. В. [и др.]. Подготовка набора данных для обучения и тестирования программного обеспечения на основе технологии искусственного интеллекта: учебное пособие. Издательские решения, 2024. 140 с.
41 Здесь и далее во всем тексте пособия примеры программного кода на языке R будут обозначены словом «Листинг» и иметь сквозную нумерацию.
42 Более подробное построение гистограмм распределения экспериментальных величин рассмотрено в главе 4.
43 Колмогоров А. Н. Избранные труды. Математика и механика. М.: Наука, 1985.
44 Совпадает со значением, соответствующим максимуму частоты встречаемости признака или измеряемой величины в случае нормального закона распределения данных.
45 Знак экранирования однострочных комментариев.
46 Функция length () предназначена для определения длины вектора, более подробно см. справку в RStudio -?length.
47 Функция sqrt () используется для вычисления квадратного корня из количественной величины.
48 См.: параграф 2.1.1. Выборочное среднее.
49 Херцог М., Френсис Г., Кларк А. [и др.]. Статистика и планирование эксперимента для непосвященных: как отучить статистику лгать. М.: ДМК Пресс, 2023. 174 с.
50 Функция max () – определение максимального значения в числовом ряду.
51 Функция min () – определение минимального значения в числовом ряду.
52 Значения в процентах выбраны произвольно, чаще это 25 % и 75 %.
53 Значение исследуемой переменной, которое встречается наиболее часто в исследуемых данных.
54 Ивановский Р. И. Теория вероятностей и математическая статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad: учеб. пос. СПб.: БХВ-Петербург, 2008. 528 с.
55 В рамках данного учебного пособия не рассматриваются варианты возникновения сложных статистических гипотез, материал приведен для справок.
56 Более подробно уровень статистической значимости, ошибки первого и второго рода рассмотрены в главе 5 учебного пособия.
57 Данный материал приведен как справочный и редко применяется на практике, только в том случае, когда вычисления по критерию проводятся посредством самостоятельно реализованного программного кода.
58 См.: https://ru.wikipedia.org/wiki/Проверка_статистических_гипотез.
59 Кендалл М., Стьюарт А. Теория распределений. М.: Наука, 1966. 588 с.
60 Herbert A. S. The choice of a class interval // Journal of the American statistical association. 1926. Vol. 21, №153. Р. 65—66.
61 Шторм Р. Теория вероятностей. Математическая статистика. Статистический контроль качества. М.: Мир, 1970. 368 с.
62 Heinhold I., Gaede K. W. Ingeniur statistic. München; Wien, Springler Verlag, 1964. 352 p.
63 Ченцов Н. Н. Статистические решающие правила и оптимальные выводы. М.: Наука, 1972. 520 с.
64 Лемешко Б. Ю., Чимитова Е. В. О выборе числа интервалов в критериях согласия типа c2 // Заводская лаборатория. Диагностика материалов. 2003. Т. 69, №1. С. 61—67.
65 Более подробно структура и применение пакета ggplot2 представлена в работе: Мастицкий С. Э. Визуализация данных с помощью ggplot2. М.: ДМК Пресс, 2017. 222 с.
Продолжить чтение