Как выполнить регрессию для ненормальных данных, которые остаются ненормальными при преобразовании?

15

У меня есть некоторые данные (158 случаев), которые были получены из ответа по шкале Лайкерта на 21 вопросник. Я действительно хочу / нужно провести регрессионный анализ, чтобы увидеть, какие пункты в анкете предсказывают реакцию на общий элемент (удовлетворенность). Ответы обычно не распределяются (в соответствии с тестами KS), и я преобразовал их всеми возможными способами (обратный, log, log10, sqrt, квадрат), и он упрямо отказывается от нормального распределения. Остаточный график выглядит повсеместно, поэтому я считаю, что на самом деле нельзя делать линейную регрессию и делать вид, что она ведет себя нормально (это также не распределение Пуассона). Я думаю, что это потому, что ответы очень тесно сгруппированы (среднее значение составляет 3,91, 95% ДИ от 3,88 до 3,95).

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

Рэйчел С
источник
1
Рассмотрим преобразование Бокса-Кокса ( en.wikipedia.org/wiki/… ). Добавление остаточного сюжета к вашему вопросу может быть полезным.
М. Берк
3
Да, пожалуйста, покажите нам свой участок остатков. возможно также сюжет qq.
Дэвид Маркс
5
Если ваши значения дискретны, особенно если они сжаты до одного конца, может не быть преобразования, которое сделает результат даже приблизительно нормальным. Но формальные проверки гипотез о нормальности не отвечают на правильный вопрос и приводят к тому, что выполняемые вами другие процедуры зависят от того, отклоняете ли вы нормальность, чтобы они больше не имели своих номинальных свойств.
Glen_b
1
Логическая регрессия пропорциональных шансов, вероятно, была бы разумным подходом к этому вопросу, но я не знаю, доступна ли она в SPSS.
Бен Болкер
3
Я не уверен, что регрессия - это правильный подход, и не из-за проблем с нормой. Ваши ответы на вопросник могут даже не быть кардинальными. Например, если вы спросите парня «Довольны ли вы?» И получите ответ 3, а в прошлом месяце было 4, значит ли это, что он на 25% менее счастлив? Скорее всего, нет. Поэтому, прежде чем даже начать думать о нормальности, вам нужно выяснить, имеете ли вы дело даже с кардинальными числами, а не с порядковыми. Существуют особые способы работы с мыслями, такими как опросы, и регрессия не является выбором по умолчанию. Сначала вы должны показать, что это уместно
Аксакал,

Ответы:

32

Вам не нужно принимать нормальные распределения, чтобы сделать регрессию. Регрессия по методу наименьших квадратов - СИНИЙ (лучший линейный, несмещенный оценщик) независимо от распределений. См. Теорему Гаусса-Маркова (например, википедию). Нормальное распределение используется только для того, чтобы показать, что оценка также является оценкой максимального правдоподобия. Это распространенное заблуждение, что OLS каким-то образом предполагает нормально распределенные данные. Это не. Это гораздо более общее.

Dave31415
источник
2
Это так верно. Многие люди часто игнорируют этот факт.
Repmat
согласен с @Repmat. Я не уверен, что когда-либо проходил тест на нормальность ... но мои модели работают.
HEITZ
5

Вместо того, чтобы полагаться на тест на нормальность остатков, попробуйте оценить нормальность с рациональной оценкой. Тесты нормальности не говорят вам, что ваши данные нормальные, только то, что это не так. Но, учитывая, что данные являются образцом, вы можете быть совершенно уверены, что они не являются нормальными без теста. Требование примерно нормальное. Тест не может вам этого сказать. Тесты также становятся очень чувствительными при больших N или, более серьезно, различаются по чувствительности с N. Ваш N находится в том диапазоне, где чувствительность начинает повышаться. Если вы запустите следующую симуляцию в R несколько раз и посмотрите на графики, то увидите, что тест нормальности говорит «ненормально» для большого числа нормальных распределений.

# set the plot area to show two plots side by side (make the window wide)
par(mfrow = c(1, 2)) 
n <- 158 # use the N we're concerned about

# Run this a few times to get an idea of what data from a 
# normal distribution should look like.
# especially note how variable the histograms look
y <- rnorm(n) # n numbers from normal distribution
# view the distribution
hist(y)
qqnorm(y);qqline(y)

# run this section several times to get an idea what data from a normal
# distribution that fails the normality test looks like
# the following code block generates random normal distributions until one 
# fails a normality test
p <- 1 # set p to a dummy value to start with
while(p >= 0.05) {
    y <- rnorm(n)
    p <- shapiro.test(y)$p.value }
# view the distribution that failed
hist(y)
qqnorm(y);qqline(y)

Надеемся, что после прохождения симуляции вы увидите, что тест на нормальность может легко отклонить довольно нормальные данные и что данные из нормального распределения могут выглядеть довольно далеко от нормальных. Если вы хотите увидеть крайнюю ценность этого, попробуйте n <- 1000. Все распределения будут выглядеть нормально, но все равно не пройдут тест примерно с той же скоростью, что и более низкие значения N. И наоборот, с низким N распределения, которые проходят тест, могут выглядеть очень далеко от нормального.

Стандартный остаточный график в SPSS не очень полезен для оценки нормальности. Вы можете увидеть выбросы, диапазон, качество подгонки и, возможно, даже рычаг. Но нормальность трудно вывести из этого. Попробуйте следующее моделирование, сравнивая гистограммы, квантиль-квантиль нормальных графиков и остаточных графиков.

par(mfrow = c(1, 3)) # making 3 graphs in a row now

y <- rnorm(n)
hist(y)
qqnorm(y); qqline(y)
plot(y); abline(h = 0)

Невероятно сложно отличить нормальность или многое от последнего графика и, следовательно, не очень хорошо диагностировать нормальность.

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

Джон
источник
Привет. Спасибо всем за предложения. В итоге я посмотрел на мои остатки, как предложено, и использовал синтаксис выше с моими переменными. Мои данные не были настолько катастрофически ненормальными, как я думал, поэтому я использовал свои параметрические линейные регрессии с гораздо большей уверенностью и чистой совестью! Еще раз спасибо.
Рэйчел С
4

Во-первых, регрессия OLS не делает никаких предположений о данных, она делает предположения об ошибках, оцененных по остаточным значениям.

Во-вторых, преобразование данных для приведения в соответствие модели, на мой взгляд, является неправильным подходом. Вы хотите, чтобы ваша модель соответствовала вашей проблеме, а не наоборот. В старые времена регрессия OLS была «единственной игрой в городе» из-за медленных компьютеров, но это уже не так.

В-третьих, я не использую SPSS, поэтому не могу помочь, но я был бы удивлен, если бы он не предлагал некоторые формы нелинейной регрессии. Некоторые возможности - квантильная регрессия, деревья регрессии и устойчивая регрессия.

В-четвертых, я немного обеспокоен вашим заявлением:

Я действительно хочу / нужно провести регрессионный анализ, чтобы увидеть, какие пункты в анкете предсказывают реакцию на общий элемент (удовлетворенность)

Если элементы были суммированы или каким-либо образом объединены, чтобы составить общий масштаб, то регрессия не является правильным подходом вообще. Вы, вероятно, хотите факторный анализ.

Питер Флом - Восстановить Монику
источник
Вы предположили, что он может хотеть факторного анализа, но факторный анализ также не затронут, если данные обычно не распространяются?
упорядочить
Вы можете выполнить факторный анализ данных, которые даже не являются непрерывными. Но это отдельное обсуждение - и это обсуждалось здесь.
Питер Флом - Восстановить Монику
1
Привет, Питер, я ценю твой опыт и очень ценю твой совет. Спасибо, что нашли время ответить. Просто чтобы прояснить, я знаю, что можно делать FA на ненормально распределенных элементах (а также обсуждать нормальность остатков). Мне было просто любопытно узнать (от кого-то с вашим опытом), если ОП не столкнется с той же дилеммой. Но, я полагаю, вы уже ответили :)
упорядочить
1

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

Теоретически оптимальный подход (который вы, к сожалению, вряд ли сможете использовать) заключается в том, чтобы вычислить регрессию, вернувшись к прямому применению так называемого метода максимальной вероятности. Связь между оценкой максимального правдоподобия (которая на самом деле является предшествующей и более фундаментальной математической концепцией) и регрессией обычных наименьших квадратов (OLS) (обычный подход, действительный для конкретного, но чрезвычайно распространенного случая, когда все переменные наблюдения независимо являются случайными и нормально распределенными ) описан во многих учебниках по статистике; Одно из обсуждений, которое мне особенно нравится, это раздел 7.1 «Статистического анализа данных» Глена Коуэна. В тех случаях, когда ваши переменные наблюдения обычно не распределяются,

В этом случае, поскольку вы, кажется, на самом деле не знаете базового распределения, которое управляет вашими переменными наблюдения (т. Е. Единственное, что точно известно, это то, что оно определенно не гауссово, но не то, чем оно является на самом деле), вышеприведенный подход выиграл ' Я не работаю на тебя. Обычно, когда OLS дает сбой или возвращает сумасшедший результат, это происходит из-за слишком большого количества точек выброса. Точки выброса, которые фактически нарушают предположение о нормально распределенных переменных наблюдения, вносят слишком большой вес в подбор, потому что точки в МНК взвешиваются на квадраты их отклонения от кривой регрессии, а для выбросов - это отклонение большой. Обычный эвристический подход в этом случае состоит в том, чтобы разработать некоторую настройку или модификацию OLS, которая приводит к уменьшению или уменьшению вклада точек выброса относительно базового метода OLS. В совокупности они обычно известны какустойчивая регрессия . Список, содержащий некоторые примеры конкретных надежных методов оценки, которые вы, возможно, захотите попробовать, можно найти здесь .

stachyra
источник