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

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

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

Раздел 8 / 12
Страница 3 / 4

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

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

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

Расчет оптимального количества интервалов и диапазона значений, попадающих в интервал гистограммы распределения, является важной составляющей базовой статистики и может служить основой для выделения групп равномерно распределенных данных и выработки классификации на их основе. В данных методических рекомендациях рассматривается несколько простых подходов расчета оптимального количества интервалов и диапазона изменения значений. Первый подход основан на эвристической формуле Стерджесса (14)Herbert A. S. The choice of a class interval // Journal of the American statistical association. 1926. Vol. 21, №153. Р. 65–66.:

n = log2 N + 1 = 3.33 ∙ log10 N + 1, (14)

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

В работеШторм Р. Теория вероятностей. Математическая статистика. Статистический контроль качества. М.: Мир, 1970. 368 с., описывающей применение статистического анализа при контроле качества продукции, применяют уравнение Брукса–Каррузера (15):

n = 5 ∙ log10 N, (15)

Наиболее простым методом оценки количества интервалов является (16)Heinhold I., Gaede K. W. Ingeniur statistic. München; Wien, Springler Verlag, 1964. 352 p.:

, (16)

При больших объемах данных рекомендуется использовать уравнение (17)Ченцов Н. Н. Статистические решающие правила и оптимальные выводы. М.: Наука, 1972. 520 с.:

, (17)

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

, (18)

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

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

Xi+1  = Xi + ∆Xhist, (19)

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

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

, (20)

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

Более точная (и она же более сложная) оценка размера интервала может быть получена при оценках статистической мощностиЛемешко Б. Ю., Чимитова Е. В. О выборе числа интервалов в критериях согласия типа c2// Заводская лаборатория. Диагностика материалов. 2003. Т. 69, №1. С. 61–67., данный подход не рассматривается в настоящих методических рекомендациях.

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 #;

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

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

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

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

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

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

 

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

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

Листинг 11

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

# geom_histogram () пакета ggplot2

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

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

# geom_histogram ()

p <- ggplot() #Создаем объект p, содержащийБолее подробно структура и применение пакета ggplot2 представлена в работе: Мастицкий С. Э. Визуализация данных с помощью ggplot2. М.: ДМК Пресс, 2017. 222 с. слои графика

p<- p + geom_histogram (mapping = aes (x= Aids2$age), fill= “blue”, binwith=30)

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

y= “Количество, чел”,

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

print(p)

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

Рисунок 16 – Гистограмма распределения по возрасту пациентов с подтвержденным диагнозом иммунодефицита

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

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

Листинг 12

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

N <- length(Aids2$age) # Выделяем количество пациентов

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

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

interval <- cut (Aids2$age, breaks = dBreak,) #Разбиваем данные на 12 интервалов

freqData <- summary(interval) #Вычисляем количество вхождений в каждый

# интервал

barplot(freqData, xlab = "Возраст выявления, полных лет",

ylab = "Количество, чел",