Что означает отрицательный R-квадрат?


17

Допустим, у меня есть некоторые данные, а затем я подгоняю данные с помощью модели (нелинейная регрессия). Затем я вычисляю R-квадрат ( р2 ).

Когда R-квадрат отрицательный, что это значит? Значит ли это, что моя модель плохая? Я знаю, что диапазон р2 может быть [-1,1]. Когда р2 равен 0, что это также означает?


4
Это означает, что вы сделали что-то не так, поскольку р2 лежит в [0,1] . р2 скорректированный с другой стороны, может быть отрицательным, что можно с уверенностью предположить, что ваша модель очень плохо соответствует данным. Когда р2 точно равен нулю, это означает, что Y¯ является таким же хорошим предиктором как и сама линия регрессии наименьших квадратов. Y
dsaxton

1
Это возможно для регрессии без перехвата смотри , например , stats.stackexchange.com/questions/164586/...



@ Gung Я собирался предположить, что это, возможно, дубликат этого вопроса ... Как вы думаете, они достаточно различны? (Во всяком случае, этот вопрос кажется более приятным, чем другой, потому что нет отвлекающего синтаксиса SPSS, но ответы в другой ветке очень хороши и, кажется, тоже охватывают этот вопрос.)
Silverfish,

Ответы:


37

может быть отрицательным, это просто означает, что:р2

  1. Модель очень плохо вписывается в ваши данные
  2. Вы не установили перехват

Для людей, которые говорят, что находится между 0 и 1, это не так. Хотя отрицательное значение для чего-либо со словом «квадрат» может звучать так, как будто оно нарушает правила математики, это может произойти в модели R 2 без перехвата. Чтобы понять почему, нам нужно посмотреть, как рассчитывается R 2 .р2р2р2

Это немного долго. Если вы хотите получить ответ, не понимая его, переходите к концу. В противном случае я попытался написать это простыми словами.

Во- первых, давайте определим 3 переменные: , T S S и Е S S .рSSTSSЕSS

Расчет RSS :

Для каждой независимой переменной мы имеем зависимую переменную y . Мы строим линейную линию наилучшего соответствия, которая предсказывает значение y для каждого значения x . Давайте называть значения у линии предсказывает у . Ошибка между тем, что предсказывает ваша линия, и фактическимзначением y, может быть вычислена как вычитание. Все эти различия возводятсяквадрат и суммируются, что дает Остаточная сумма квадратов R S S .ИксYyxyy^yRSS

Полагая , что в уравнение, RSS=(yy^)2

Расчет TSS :

Мы можем рассчитать среднее значение , которое называется ˉ уyy¯ . Если мы , то это просто горизонтальная линия через данные, потому что она постоянна. Что мы можем сделать с этим, однако, вычесть ˉ y (среднее значение y ) из каждого фактического значения y . Результат в квадрат и суммируются, что дает общую сумму квадратов Т S S .y¯y¯yyTSS

Подставляя это в уравнение TSS=(yy¯)2

Расчет ESS :

Различия между у (значения у предсказанной линия) и среднее значениеy^y возводятсяквадрат и суммируются. Это Разъяснение сумма квадратов, которая равна Е( у - ˉ у )2y¯(y^y¯)2

Помните, что , но мы можем добавить + у - у в нее, потому что она отменяет вне. Таким образом, Т S S = Σ ( у - у + у -TSS=(yy¯)2+y^y^. Расширение этих скобок, мы получаемTSS=Σ(у - у )2+TSS=(yy^+y^y¯)2TSSзнак равноΣ(Y-Y^)2+2*Σ(Y-Y^)(Y^-Y¯)+Σ(Y^-Y¯)2

Когда, и только тогда , когда линия вычерчивается с перехватом, следующий всегда верно: . Таким образом, Т S S = Σ ( у - у ) 2 + Σ ( у - ˉ у ) 2 , который можно заметить только означает , что Т S S = R S S +2*Σ(Y-Y^)(Y^-Y¯)знак равно0TSSзнак равноΣ(Y-Y^)2+Σ(Y^-Y¯)2 . Если мы разделим все члены на T S S и переставим, получим 1 - R S STSSзнак равнорSS+ЕSSTSS .1-рSSTSSзнак равноЕSSTSS

Вот важная часть :

определяется как то, насколько дисперсия объясняется вашей моделью (насколько хороша ваша модель). В форме уравнения это R 2 = 1 - R S Sр2 . Выглядит знакомо? Когда линия построена с пересечением, мы можем заменить это какR2=ESSр2знак равно1-рSSTSS . Поскольку числитель и демонинатор являются суммами квадратов,R2должен быть положительным.р2знак равноЕSSTSSр2

НО

Когда мы не указываем перехват, не обязательно равен 0 . Это означает , что Т S S = R S S + Е S S + 2 * Σ ( у - у ) ( у - ˉ у ) .2*Σ(Y-Y^)(Y^-Y¯)0TSSзнак равнорSS+ЕSS+2*Σ(Y-Y^)(Y^-Y¯)

Разделив все члены на , получим 1 - R S STSS .1-рSSTSSзнак равноЕSS+2*Σ(Y-Y^)(Y^-Y¯)TSS

Наконец, подставим , чтобы получить . На этот раз в числителе есть термин, который не является суммой квадратов, поэтому он может быть отрицательным. Это сделало быR2отрицательным. Когда это произойдет? 2*Σ(у - у )( у - ˉ у )будет отрицательнымкогдау - у отрицателен и у - ˉ у положителен, или наоборот. Это происходиткогда горизонтальная линия ˙ у фактически объясняет данные лучшечем линии наилучшего соответствия.р2знак равноЕSS+2*Σ(Y-Y^)(Y^-Y¯)TSSр22*Σ(Y-Y^)(Y^-Y¯)Y-Y^Y^-Y¯Y¯

Вот преувеличенный пример отрицательного значения (Источник: Университет Хьюстон Клир Лейк)р2

Преувеличенный пример, когда R ^ 2 отрицателен (Источник: Университет Хьюстон Клир Лейк)

Проще говоря:

  • Когда , горизонтальная линия объясняет данные лучше, чем ваша модель.р2<0

Вы также спрашивали о .р2знак равно0

  • Когда , горизонтальная линия объясняет данные так же, как и вашу модель.р2знак равно0

Я рекомендую вам сделать это через это. Если вы посчитали это полезным, вы также должны подтвердить ответ fcop здесь, на который я должен был сослаться, потому что это было давно.


5
Серьезно фантастический ответ! Единственное , чего не хватает для меня интуиция позади , почему тогда и только тогда, когда существует множество перехватывать? 2*Σ(Y-Y^)(Y^-Y¯)знак равно0
Оуэн

6

Пока ни один из ответов не является полностью правильным, поэтому я попытаюсь дать представление о R-Squared. Я дал более подробное объяснение этого в своем блоге здесь "Что такое R-Squared"

Сумма в квадрате Ошибка

Цель обычной регрессии по методу наименьших квадратов состоит в том, чтобы получить линию, которая минимизировала ошибку суммы в квадрате. Линия по умолчанию с минимальной квадратической ошибкой является горизонтальной линией через среднее значение. По сути, если вы не можете сделать лучше, вы можете просто предсказать среднее значение, и это даст вам минимальную квадратическую ошибку

горизонтальная линия через среднее

R-Squared - это способ измерения, насколько лучше, чем средняя линия, которую вы сделали, на основе суммы квадратов ошибок. Уравнение для R-Squared является

уравнение для г-квадрата

Теперь SS Regression и SS Total являются суммами квадратов. Оба из них всегда положительны. Это означает, что мы берем 1 и вычитаем положительное значение. Таким образом, максимальное значение R-Squared имеет положительное значение 1, а минимальное - отрицательную бесконечность. Да, это правильно, диапазон R-квадратов находится между -infinity и 1, а не -1 и 1 и не 0 и 1

Что такое ошибка в квадрате суммы

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

введите описание изображения здесь

Как уравнение именно это

уравнение суммы квадратов

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

введите описание изображения здесь

Уравнение для квадрата ошибки регрессии это

введите описание изображения здесь

В идеале, у вас должна быть нулевая ошибка регрессии, т.е. ваша линия регрессии будет идеально соответствовать данным. В этом случае вы получите значение R-Squared 1

квадратное значение 1

Отрицательный R в квадрате

Вся информация выше довольно стандартная. А как насчет отрицательного R-Squared?

Что ж, получается, что нет причины, по которой ваше уравнение регрессии должно давать меньшую квадратическую ошибку, чем среднее значение. Обычно считается, что если вы не можете сделать лучший прогноз, чем среднее значение, вы просто используете среднее значение, но ничто не заставляет это быть причиной. Например, вы можете предсказать медиану для всего.

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

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

фиксированная точка

По умолчанию в уравнениях регрессии в качестве точки, через которую проходит линия регрессии, используются среднее значение x и среднее значение y. Но если вы проведете его через точку, которая находится далеко от того места, где обычно находится линия регрессии, вы можете получить ошибку квадрата суммы, которая выше, чем при использовании горизонтальной линии

На изображении ниже обе линии регрессии были вынуждены иметь точку пересечения y, равную 0. Это вызвало отрицательный R-квадрат для данных, которые сильно смещены от начала координат.

отрицательный квадрат

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

Неопределенный R-Squared

Существует один особый случай, о котором никто не упомянул, где вы можете получить неопределенный R-Squared. То есть, если ваши данные полностью горизонтальны, то ваша общая квадратичная ошибка равна нулю. В результате у вас будет ноль, деленный на ноль в уравнении R-квадрата, который не определен.

введите описание изображения здесь

введите описание изображения здесь


очень яркий ответ, хотелось бы увидеть гораздо больше ответов такого типа!
Бен

0

Как отмечает предыдущий комментатор, r ^ 2 находится между [0,1], а не [-1, + 1], поэтому нельзя быть отрицательным. Вы не можете возвести в квадрат значение и получить отрицательное число. Возможно, вы смотрите на корреляцию? Это может быть между [-1, + 1], где ноль означает, что нет никакой связи между переменными, -1 означает, что есть прекрасная отрицательная связь (когда одна переменная увеличивается, другая уменьшается), и +1 - это абсолютно положительный отношения (обе переменные идут вверх или вниз соответственно).

Если вы действительно смотрите на r ^ 2, то, как описывает предыдущий комментатор, вы, вероятно, видите скорректированное значение r ^ 2, а не фактическое значение r ^ 2. Подумайте, что означает статистика: я преподаю статистику по поведенческим наукам, и самый простой способ научить моих учеников значению r ^ 2 - это «% дисперсии объяснено». Таким образом, если у вас r ^ 2 = 0,5, модель объясняет 50% вариации зависимой (исходной) переменной. Если у вас отрицательный r ^ 2, это будет означать, что модель объясняет отрицательный% переменной результата, что не является интуитивно разумным предложением. Однако скорректированное значение r ^ 2 учитывает размер выборки (n) и количество предикторов (p). Формула для расчета здесь, Если у вас очень низкое значение r ^ 2, то получить отрицательные значения достаточно просто. Конечно, отрицательно скорректированное значение r ^ 2 не имеет более интуитивного значения, чем обычное значение r ^ 2, но, как говорит предыдущий комментатор, это просто означает, что ваша модель очень плохая, если не просто бесполезная.


3
Что касается объясненного процента дисперсии, возможно, если модель настолько плоха, что увеличивает дисперсию (ESS> TSS), можно получить отрицательный результат.р2, где р2определяется как% объясненной дисперсии, а не квадратной корреляции между фактическими и установленными значениями. Это может не произойти в регрессии с перехватом, оцененным OLS, но это может произойти в регрессии без перехвата или, возможно, в других случаях.
Ричард Харди

4
р2 невозможно быть <0 в выборке, но может быть отрицательным при вычислении вне выборки , то есть в выборке удержания после фиксации всех коэффициентов регрессии. Как объяснено выше, это представляет худшие, чем случайные прогнозы.
Фрэнк Харрелл

@FrankHarrell, вы уверены, что он должен быть в образце? Конечно, вам придется довольно сильно игнорировать данные, чтобы сгенерировать модель, которая хуже среднего, но я не понимаю, почему вы не можете сделать это только с данными в выборке.
Мэтт Краузе

Я предполагаю в выборке средние выборки, по которым рассчитывались коэффициенты. Тогда не может быть отрицательным.
Фрэнк Харрелл

1
@FrankHarrell, предположим, что модель действительно ужасна - вам подходит какая-то функция без перехвата, напримергрех(ω*Икс+φ)по диагонали. Не долженр2быть отрицательным и здесь, даже для данных в выборке? Matlab дает мне достаточно большое отрицательное число, когда я это делаю ...
Мэтт Краузе
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.