только для медицинских специалистов

Консультант врача

Электронная медицинская библиотека

Раздел 6 / 12
Страница 11 / 13

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

Внимание! Часть функций, например, копирование текста к себе в конспект, озвучивание и т.д. могут быть доступны только в режиме постраничного просмотра.Режим постраничного просмотра
 
 
 
 
 
 
 
 
 

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 <- maxФункция max() – определение максимального значения в числовом ряду.(contData) # Максимальный вес до проведения лечения

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

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

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

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

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

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

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

minCont <- minФункция min() – определение минимального значения в числовом ряду.(contData) # Минимальный вес пациентов до прохождения лечения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.title = 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.title = 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 графически изображены размах значений массы тела в каждой из исследуемых групп пациентов до прохождения лечения.

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

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

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

При проведении статистического анализа данных возникает необходимость оценки значения, соответствующего 5 %Значения в процентах выбраны произвольно, чаще это 25 % и 75 %. от общего количества данных или 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, т.е. между первым и вторым значением соответственно квантиль будет равен:

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

10 %
20 %
30 %
40 %
50 %
60 %
70 %
80 %
90 % 
100 %
8.45
30.25
33.85
40.26
43.81
49.43
62.67
76.30
92.33 
99.84

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

25 %
50 %
75 %
100 %
32.24
43.81
69.27
99.84

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

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

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

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

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

Листинг 8

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

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)