Хорошая идея не пропадает зря или о пакете gMWT

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

Собственно, именно про это и рассказывается в статье Fisher, D., Oja, H. Mann-Whitney Type Tests for Microarray Experiments: The R Package gMWT / Journal of Statistical Software. 2015. Volume 65, Issue 9.

Минутка теории

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

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

I() - функция, возвращающая 1 при выполнения условия в скобках, и 0 – при невыполнении
I() - функция, возвращающая 1 при выполнения условия в скобках, и 0 – при невыполнении

Соответственно, проверка нулевой гипотезы – это проверка гипотезы о равенстве матожидания ½ (если одно из распределений будет смещено существенно правее, то матожидание устремится к 0 или 1)

Куда интереснее все для случая, например, трех выборок.

Там уже необходимо искать матожидание выражения

Тогда нулевая гипотеза о равенстве всех этих распределение эквивалентна проверке гипотезы о равенстве статкритерия 1/6.

С альтернативными же гипотезами несколько сложнее. Авторы выделили следующие виды альтернативных гипотез:

- первый тип альтернативных гипотез – распределение какой-то пары переменные неодинаково;

- второй тип альтернативных гипотез – в одной из какой-то пары переменных распределение одной из них смещено вправо;

- третий тип альтернативных гипотез: распределение двух переменных смещено вправо относительно третьей;

- четвертый тип гипотезы: распределения всех трех переменных последовательно смещены вправо относительно друг друга

Практика

Теперь попробуем что-то посчитать. Для этого в пакете есть две основные функции – estPI и gmw

Функция estPI вычисляет непосредственно математическое ожидание приведенных выше функций (фактически, величину статкритерия), gmw – непосредственно проводит статистический тест.

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

library(AER)
library(dplyr)
library(gMWT)
data("CASchools")
data <- as.matrix(CASchools[,c(4,5)] %>% arrange(desc(grades)))
gmw(data[,2], data[,1],test="kw",type="external")

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

Посмотрим на то, как это работает в случае трех выборок. Возьмем датафрейм PSID1776 и проверим гипотезу о равенстве распределений количества часов работы для работников с разным количеством молодых детей (от 0 до 2, тех, у кого 3 ребенка, из выборки убираем)

data("PSID1976")
glimpse(PSID1976)
table(PSID1976$youngkids)
data <- as.matrix(PSID1976[PSID1976$youngkids < 3,c(2,3)] %>% arrange(desc(youngkids)))
gmw(X=data[,1], g=data[,2],test="triple")

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

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

res_2 <- estPI(data[,1], data[,2], type="pair", goi=NULL, mc=1, order=TRUE, alg="Cnaive")
res_2
res_2 <- estPI(data[,1], data[,2], type="triple", goi=NULL, mc=1, order=TRUE, alg="Cnaive")
res_2

В данном случае обозначения групп связаны с количеством детей: группа 1 – работники, у которых нет детей; группа 2 – работники, у которых 1 ребенок, группа 3 – работники, у которых 2 ребенка.

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

Об этом свидетельствует значения критериев – все они меньше 0.5, что говорит о невыполнимости условия x<y – чаще встречается x>y

Дополнительно

Дополнительно функционал данного пакета может применяться для проверки гипотез о соответствии распределения некоторому закону.

Возьмем пакет LNPar, где рассматривается распределение, состоящее из смеси логнормального и распределения Парето; однако в пакете не рассматривается функционал проверки гипотез.

Берем данные датафрейма CASchools и построим график распределения величины дохода школьников

library(LNPar)
ggplot(CASchools, aes(x = income)) +
  geom_density(alpha = 0.2) 
# Подгоним под данные значения функции распределения
LPfit(CASchools$income,90,0)
# Вытащим исходные значения и создадим данные по распределению:
income <- (CASchools$income)
income_Sim <- (rLnormParMix(420,pi=.9574806,mu=2.598694,sigma=0.3307882,xmin=33.455,alpha=5.753251))
# Проверим гипотезу о равенстве распределений 
data_3 <- as.data.frame(cbind(income,income_Sim))
gmw(data_3[,2], data_3[,1],test="kw",type="external")

По результатам теста – нельзя отвергнуть гипотезу о равенстве распределений. Посмотрим на график:

Графики плотности распределений исходных и симулированных данных похожи – значит, можно сказать, что распределение значений доходов школьников подчиняется смеси логнормального и Парето-распределений

Источник: https://habr.com/ru/articles/763112/


Интересные статьи

Интересные статьи

В конце марта на сайте Future of Life появилось письмо, которое вызвало широкий общественный резонанс и дискуссии в СМИ. В письме авторы выражают свою обеспокоенность тем, что технологии искусственн...
Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость. Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на пер...
Вчера Cloudflare анонсировала замену Капчи с помощью FIDO аттестации. Вы можете почитать об этом в их блоге https://blog.cloudflare.com/introducing-cryptographic-attestat...
Роман Шувалов — разработчик инди-игр из Тольятти, который в начале этого года выпустил игру «Generation Streets», основанную на данных OpenStreetMap. Не так давно он открыл часть ко...
Законы физики не меняются от смены точки зрения. Однако эта идея помогает компьютерам распознавать определённые особенности в искривлённом пространстве высших измерений. Компьютеры учатся во...