t-тест на сильно искаженных данных


18

У меня есть набор данных с десятками тысяч наблюдений за данными о медицинских расходах. Эти данные сильно искажены вправо и имеют много нулей. Это выглядит так для двух групп людей (в данном случае две возрастные группы с> 3000 человек в каждой):

 Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.0      0.0      0.0   4536.0    302.6 395300.0 
Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.0      0.0      0.0   4964.0    423.8 721700.0 

Если я выполню t-тест Уэлча на этих данных, я получу результат обратно:

Welch Two Sample t-test

data:  x and y
t = -0.4777, df = 3366.488, p-value = 0.6329
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2185.896  1329.358
sample estimates:
mean of x mean of y 
 4536.186  4964.455 

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

Использование пакета perm в R и permTS с точным Монте-Карло

    Exact Permutation Test Estimated by Monte Carlo

data:  x and y
p-value = 0.6188
alternative hypothesis: true mean x - mean y is not equal to 0
sample estimates:
mean x - mean y 
      -428.2691 

p-value estimated from 500 Monte Carlo replications
99 percent confidence interval on p-value:
 0.5117552 0.7277040 

Почему статистика теста на перестановку выходит так близко к значению t.test? Если я беру журналы данных, то получаю p-значение t.test 0,28 и то же самое из теста перестановки. Я думал, что значения t-теста будут больше мусора, чем то, что я получаю здесь. Это относится ко многим другим наборам данных, которые мне нравятся, и мне интересно, почему t-тест работает, когда он не должен.

Меня беспокоит то, что индивидуальные затраты не учитываются. Существует много подгрупп людей с очень разным распределением затрат (женщины по сравнению с мужчинами, хронические состояния и т. Д.), Которые, по-видимому, нарушают требование iid для центральной теоремы о пределе, или мне не следует беспокоиться об этом?


Как получилось, что как минимальное значение, так и медиана ваших данных равны нулю?
Алекос Пападопулос

Более половины значений равны нулю, что указывает на то, что половина людей не имела медицинской помощи в этом году.
Крис

И почему вы думаете, что тест перестановки должен быть другим? (если у обеих групп одинаковое ненормальное распределение)
FairMiles

Имейте в виду, что iid - это два отдельных предположения. Первый - «независимый». Второй «одинаково распределен». Вы, кажется, предполагаете, что наблюдения не «одинаково распределены». Это не должно влиять на ответы, представленные до сих пор, поскольку мы все еще можем предположить, что все наблюдения взяты из одной большой смеси распределений. Но если вы думаете, что наблюдения не являются независимыми, это очень другая и потенциально более сложная проблема.
zkurtz

Ответы:


29

Ни t-критерий, ни критерий перестановки не имеют достаточной силы для определения разницы в средних между двумя такими чрезвычайно искаженными распределениями. Таким образом, они оба дают анодные p-значения, не указывающие на значение вообще. Проблема не в том, что они, кажется, согласны; это потому, что им трудно обнаружить какие-либо различия, они просто не могут не согласиться!


Для некоторой интуиции подумайте, что произойдет, если в одном наборе данных произойдет изменение одного значения. Предположим, например, что во втором наборе данных не было максимум 721 700. Среднее значение упало бы примерно на 721700/3000, что составляет около 240. Тем не менее, разница в средних значениях составляет всего 4964-4536 = 438, даже не вдвое больше. Это говорит о том (хотя это и не доказывает), что при любом сравнении этих средств разница не будет существенной.

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

  • 5/8
  • Остальные данные имеют логнормальное распределение.
  • Параметры этого распределения расположены так, чтобы воспроизводить наблюдаемые средние и третьи квартили.

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

Давайте повторим первый набор данных 10000 раз и отследим его среднее значение. (Результаты будут почти такими же, когда мы сделаем это для второго набора данных.) Гистограмма этих средних оценивает выборочное распределение среднего. T-критерий действителен, когда это распределение приблизительно нормальное; степень, в которой он отклоняется от нормальности, показывает степень, в которой распределение студента будет ошибочным. Итак, для справки, я также нарисовал (красным цветом) PDF нормального распределения, соответствующего этим результатам.

Гистограмма 1

Мы не видим деталей, потому что есть некоторые колоссальные выбросы. (Это проявление чувствительности упомянутых мною средств.) 123 из них - 1,23% - выше 10000. Давайте сосредоточимся на остальном, чтобы мы могли видеть детали и потому, что эти выбросы могут быть результатом предполагаемой логнормальности распределения, что необязательно имеет место для исходного набора данных.

Гистограмма 2

(3000/428)2знак равно50


Вот Rкод, который произвел эти цифры.

#
# Generate positive random values with a median of 0, given Q3,
# and given mean. Make a proportion 1-e of them true zeros.
#
rskew <- function(n, x.mean, x.q3, e=3/8) {
  beta <- qnorm(1 - (1/4)/e)
  gamma <- 2*(log(x.q3) - log(x.mean/e))
  sigma <- sqrt(beta^2 - gamma) + beta
  mu <- log(x.mean/e) - sigma^2/2
  m <- floor(n * e)
  c(exp(rnorm(m, mu, sigma)), rep(0, n-m))
}
#
# See how closely the summary statistics are reproduced.
# (The quartiles will be close; the maxima not too far off;
# the means may differ a lot, though.)
#
set.seed(23)
x <- rskew(3300, 4536, 302.6)
y <- rskew(3400, 4964, 423.8)
summary(x)
summary(y)
#
# Estimate the sampling distribution of the mean.
#
set.seed(17)
sim.x <- replicate(10^4, mean(rskew(3367, 4536, 302.6)))
hist(sim.x, freq=FALSE, ylim=c(0, dnorm(0, sd=sd(sim.x))))
curve(dnorm(x, mean(sim.x), sd(sim.x)), add=TRUE, col="Red")
hist(sim.x[sim.x < 10000], xlab="x", freq=FALSE)
curve(dnorm(x, mean(sim.x), sd(sim.x)), add=TRUE, col="Red")
#
# Can a t-test detect a difference with more data?
#
set.seed(23)
n.factor <- 50
z <- replicate(10^3, {
  x <- rskew(3300*n.factor, 4536, 302.6)
  y <- rskew(3400*n.factor, 4964, 423.8)
  t.test(x,y)$p.value
})
hist(z)
mean(z < .05) # The estimated power at a 5% significance level

1
Пример набора искаженных данных, где, тем не менее , применим t-критерий (из-за большого объема данных), см. В stats.stackexchange.com/questions/110418/… . Эти два случая вместе показывают, что нет единого ответа на вопрос: вы должны учитывать как распределение данных, так и объем данных, когда решаете, будет ли t-тест значимым и точным.
whuber

3
Я одобрил этот вопрос в надежде найти его снова, когда столкнусь с людьми, которые думают, что n = 30 или n = 300 достаточно, чтобы просто пойти дальше и предположить, что выборочные средства нормально распределены (и так далее). У меня есть хорошие смоделированные примеры, но приятно показать, что это проблема с реальными данными.
Glen_b

1
+1, но мне интересно, какова будет ваша практическая рекомендация в такой ситуации. Стоит ли пытаться использовать тест перестановки, основанный на некоторой другой статистике, вместо среднего (возможно, некоторого высокого квантиля)? Стоит ли пытаться применить какое-то преобразование перед запуском стандартных тестов на средства? Или лучше отказаться от какой-либо надежды обнаружить значительную разницу между двумя образцами?
говорит амеба, восстанови Монику

@amoeba Если задача состоит в том, чтобы проверить различия в средствах, то тест перестановки не поможет: вы не найдете здесь существенной разницы. Если вы тестируете какую-то другую статистику, то вы не тестируете среднее значение (которое особенно важно для данных о затратах!), Поэтому то, может ли это быть рекомендовано, зависит от целей.
whuber

4

Когда n большое (например, 300, даже намного меньше 3000), t-критерий по существу такой же, как и z-критерий. Таким образом, t-критерий становится не чем иным, как применением центральной предельной теоремы, которая говорит, что MEAN для каждой из ваших двух групп распределена почти точно нормально (даже если наблюдения, лежащие в основе этих двух средств, очень далеки от того, чтобы быть нормально раздаваться!). Это также причина того, что ваша типичная t-таблица не показывает значения n больше 1000 (например, эта t-таблица) . Таким образом, я не удивлен, увидев, что вы получаете такие хорошие результаты.

Редактировать: Я, кажется, недооценил конечность асимметрии и ее важность. Хотя моя точка зрения выше имеет смысл в менее экстремальных обстоятельствах, ответ Уубер на этот вопрос в целом гораздо лучше.


2
Когда асимметрия является экстремальной, как свидетельствуют приведенные статистические данные, у нас нет уверенности в том, что распределение выборки среднего значения для 300 или даже 3000 выборок будет где-то вблизи нормального значения. Вот почему ОП удивлен. Вы противостоите этому, говоря, что вы не удивлены, но это, кажется, сводится к интуиции одного человека по сравнению с интуицией другого. Какой объективный аргумент вы можете предоставить для этих данных, демонстрирующих, что 300 (или 3000) - это достаточно большая выборка, чтобы t-тест хорошо работал?
whuber

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

1
Я разместил ответ на этот вопрос. Мы знаем (по крайней мере приблизительно), как искаженные данные основаны на сводной статистике в вопросе. Этот перекос настолько силен, что ни 300, ни 3000, ни даже 30000 наблюдений на группу не сделают выборочное распределение среднего «почти нормальным». Вам, вероятно, потребуется около 300 000 или около того, прежде чем это утверждение станет правдоподобным. Таким образом, мы должны искать другое объяснение того, почему два теста совпадают. Мое в том, что ни один из них "хорошо себя ведет", а не то, что оба хорошо себя ведут.
whuber

0

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.