Сравнение средних значений в неравных группах с большим числом наблюдений

Sep 30, 2014 03:14

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

Задача, в общем-то простая. Нужно сравнить 2 группы, разделённые по принципу клиенты/не-клиенты по ряду переменных (в основном интервальных, типа "потраченная сумма на услуги в месяц"). В первую очередь интересует сравнение средних значений ("пользователи клиента в среднем тратят на услуги ХХХХ р. в месяц в отличие от других пользователей").

Проблема заключается в том, что данных много и они разделены по группам неравномерно (примерно 60 000 "целевых" на 160 000 "нецелевых"). Плюс, как несложно догадаться интересующие переменные распределены отнюдь не нормально.

Собственно, главный вопрос, на котором я "залип", заключается в том как сравнивать 2 группы: пренебрегая разницей в размерах или как-то её нивелируя?

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

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

Однако konhis надоумил глянуть в сторону бутстрепа и с помощью R cookbook я состряпал следующую вещь:
rand_medians <- numeric(1000)
for (i in 1:1000) {
rand_medians[i] <- median(sample(group2$variable_of_interest, size=60000, replace=T))
}
hist(rand_medians)
ci <- quantile(rand_medians, c(0.025, 0.975))
cat("95% confidence interval is (", ci,")\n")

То бишь взял из "нецелевой" группы 1000 выборок размером с целевую группу и построил доверительный интервал, который оказался всё равно больше медианы в "целевой" группе.

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