У меня есть данные от 3 групп биомассы водорослей ( , , ), которые содержат неравные размеры выборки ( , , ), и я хотел бы сравнить, если эти группы принадлежат к одной популяции.B C n A = 15 n B = 13 n C = 12
Односторонний ANOVA определенно был бы подходящим вариантом, однако при проведении тестов нормальности на моих данных основной проблемой является гетероскедотность. Мои необработанные данные без какого-либо преобразования дали соотношение отклонений ( ), которое намного выше критического значения ( F _ {\ rm crit} = 4,16 ), и поэтому я не могу выполнить односторонний ANOVA ,
Я также попытался преобразование, чтобы нормализовать мои данные. Даже после испытаний различных преобразований (log, square root, square) самое низкое значение полученное после преобразования с преобразованием составляло , что было все еще выше по сравнению с .
Может кто-нибудь здесь посоветовать мне, куда идти отсюда? Я не могу думать о других методах преобразования, чтобы нормализовать данные. Есть ли альтернативы односторонней ANOVA?
PS: мои необработанные данные ниже:
A: 0.178 0.195 0.225 0.294 0.315 0.341 0.36 0.363 0.371 0.398 0.407 0.409 0.432
0.494 0.719
B: 0.11 0.111 0.204 0.416 0.417 0.441 0.492 0.965 1.113 1.19 1.233 1.505 1.897
C: 0.106 0.114 0.143 0.435 0.448 0.51 0.576 0.588 0.608 0.64 0.658 0.788 0.958
Ответы:
Есть несколько вариантов, доступных при работе с гетероскедастическими данными. К сожалению, ни один из них не гарантированно всегда работает. Вот несколько вариантов, с которыми я знаком:
Обновление: Вот демонстрация
R
некоторых способов подгонки линейной модели (например, ANOVA или регрессии), когда у вас есть гетероскедастичность / гетерогенность дисперсии.Давайте начнем с просмотра ваших данных. Для удобства я загрузил их в два названных фрейма данных
my.data
(который структурирован, как указано выше, с одним столбцом на группу) иstacked.data
(который имеет два столбца:values
с числами иind
с индикатором группы).Мы можем официально проверить на гетероскедастичность с помощью теста Левена:
Конечно же, у вас есть гетероскедастичность. Мы проверим, каковы дисперсии групп. Эмпирическое правило заключается в том, что линейные модели достаточно устойчивы к неоднородности дисперсии, если максимальная дисперсия не более чем в Раза превышает минимальную дисперсию, поэтому мы также найдем это соотношение:4×
Ваши дисперсии существенно отличаются, с самым большим,19×
B
, будучи самый маленький . Это проблемный уровень гетероскедсатичности.A
Вы думали использовать преобразования, такие как лог или квадратный корень, чтобы стабилизировать дисперсию. В некоторых случаях это будет работать, но преобразования типа Бокса-Кокса стабилизируют дисперсию, сжимая данные асимметрично, либо сжимая их вниз с максимальными сжимаемыми данными, либо сжимая их вверх с наименьшими сжимаемыми данными наиболее. Таким образом, вам нужно, чтобы дисперсия ваших данных изменялась со средним значением для оптимальной работы. Ваши данные имеют огромную разницу в дисперсии, но относительно небольшую разницу между средними и средними значениями, т. Е. Распределения в основном перекрываются. В качестве учебного упражнения мы можем создать некоторые2.7 .7
parallel.universe.data
, добавив ко всем значениям и к.7B
C
Чтобы показать, как это будет работать:Использование преобразования квадратного корня довольно хорошо стабилизирует эти данные. Вы можете увидеть улучшение для данных параллельной вселенной здесь:
Вместо того, чтобы просто пытаться использовать разные преобразования, более систематический подход заключается в оптимизации параметра Бокса-Кокса (хотя обычно рекомендуется округлить его до ближайшего интерпретируемого преобразования). В вашем случае допустимы либо квадратный корень , либо лог , хотя на самом деле ни один из них не работает. Для данных параллельной вселенной лучше использовать квадратный корень: λ = .5 λ = 0λ λ=.5 λ=0
Поскольку этот случай представляет собой ANOVA (т. Е. Не имеет непрерывных переменных), один из способов справиться с неоднородностью - это использовать поправку Уэлча к знаменателям степеней свободы в тесте (nb , вместо дробного значения ):F
df = 19.445
df = 38
Более общий подход заключается в использовании взвешенных наименьших квадратов . Поскольку некоторые группы (
B
) разбросаны больше, данные в этих группах предоставляют меньше информации о расположении среднего значения, чем данные в других группах. Мы можем позволить модели включить это, предоставляя вес для каждой точки данных. Обычной системой является использование обратной величины групповой дисперсии в качестве веса:Это дает немного отличающиеся значения и от невзвешенного ANOVA ( , ), но оно хорошо учитывает неоднородность: pF p
4.5089
0.01749
Однако взвешенные наименьшие квадраты не являются панацеей. Один неприятный факт заключается в том, что весовые коэффициенты верны, и это означает, что они известны априори. Он также не учитывает ненормальность (например, перекос) или выбросы. Использование весов, оцененных по вашим данным, часто будет работать нормально, особенно если у вас достаточно данных для оценки отклонения с разумной точностью (это аналогично идее использования таблицы вместо таблицы, когда у вас есть илиt 50 100 Nz t 50 100 степеней свободы), ваши данные достаточно нормальны, и у вас, похоже, нет никаких выбросов. К сожалению, у вас относительно мало данных (13 или 15 на группу), некоторые искажены и, возможно, некоторые выбросы. Я не уверен, что они достаточно плохи, чтобы из них что-то сделать, но вы могли бы смешать взвешенные наименьшие квадраты с помощью надежных методов. Вместо того, чтобы использовать дисперсию в качестве меры разброса (которая чувствительна к выбросам, особенно с низким ), вы можете использовать обратную величину интерквартильного диапазона (на которую не влияют до 50% выбросов в каждой группе). Эти веса можно затем объединить с устойчивой регрессией, используя другую функцию потерь, такую как биквадрат Тьюки: N
Вес здесь не такой экстремальный. Прогнозируемые средства группы незначительно отличаются (
A
: WLS0.36673
, надежным0.35722
;B
: ВМНК0.77646
, надежным0.70433
;C
: WLS0.50554
, надежный0.51845
), с помощьюB
иC
того меньше тянут экстремальных значения.В эконометрике очень популярна стандартная ошибка Хубера-Уайта («сэндвич») . Как и поправка Уэлча, это не требует, чтобы вы знали априорные отклонения, и не требует, чтобы вы оценивали веса по вашим данным и / или зависели от модели, которая может быть неверной. С другой стороны, я не знаю, как включить это в ANOVA, а это означает, что вы получаете их только для тестов отдельных фиктивных кодов, что в данном случае кажется мне менее полезным, но я все равно продемонстрирую их:
Функцияt t t
vcovHC
рассчитывает гетероскедастичную согласованную дисперсионно-ковариационную матрицу для ваших бета-версий (фиктивных кодов), то есть то, что обозначают буквы в функции. Чтобы получить стандартные ошибки, вы извлекаете основную диагональ и берете квадратные корни. Чтобы получить тесты для ваших бета-версий, вы делите оценки коэффициентов на SE и сравниваете результаты с соответствующим распределением (а именно, распределением с вашими остаточными степенями свободы). т тR
Специально для пользователей @TomWenseleers отмечает в комментариях ниже, что функция ? Anova вcar
пакете может приниматьwhite.adjust
аргумент для получения значения для фактора, использующего ошибки, согласованные с гетероскедастичностью.Вы можете попытаться получить эмпирическую оценку того, как выглядит фактическое распределение выборки вашей тестовой статистики с помощью начальной загрузки . Во-первых, вы создаете истинный ноль, делая все группы равными. Затем вы производите повторную выборку с заменой и рассчитываете свою статистику теста ( ) для каждой начальной загрузки, чтобы получить эмпирическую оценку распределения выборки под нулевым значением с вашими данными независимо от их статуса в отношении нормальности или однородности. Доля того распределения выборки, которое является таким же экстремальным или более экстремальным, чем наблюдаемая вами статистика теста, является значением: F pF F p
В некотором смысле, самозагрузка является окончательным подходом с уменьшенным допущением для проведения анализа параметров (например, средних), но она предполагает, что ваши данные являются хорошим представлением совокупности, то есть у вас есть разумный размер выборки. Так как ваши маленькие, это может быть менее надежным. Вероятно, окончательная защита от ненормальности и неоднородности состоит в использовании непараметрического теста. Основной непараметрической версией ANOVA является тест Крускала-Уоллиса :n
Хотя тест Крускала-Уоллиса, безусловно, является лучшей защитой от ошибок типа I, его можно использовать только с одной категориальной переменной (т. Е. Без непрерывных предикторов или факторных планов), и он имеет наименьшую мощность из всех обсуждаемых стратегий. Другой непараметрический подход заключается в использовании порядковой логистической регрессии . Многим это кажется странным, но вам нужно только предположить, что ваши ответные данные содержат достоверную порядковую информацию, что они, безусловно, делают, иначе любая другая стратегия, указанная выше, также недействительна:
Это может быть не ясно из результатов, но проверка модели в целом, которая в данном случае является проверкой ваших групп, являетсяp
chi2
нижеDiscrimination Indexes
. Перечислены две версии: тест отношения правдоподобия и тест оценки. Тест отношения правдоподобия обычно считается лучшим. Это дает значение .0.0363
источник
car
также есть опция дляwhite.adjust=T
работы с гетероскелетом с использованием скорректированных по белому стандарту ошибок, скорректированных на гетероскедастичностьlm
«с, но это также , кажется, работает дляaov
» s (вариантыwhite.adjust
являютсяwhite.adjust=c(FALSE, TRUE, "hc3", "hc0", "hc1", "hc2", "hc4")
- для получения дополнительной информации см?hccm
)