Понимание доверительной полосы от полиномиальной регрессии

14

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

ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth()

Поэтому мои вопросы сводятся к следующему:

  1. Что такое серая область (стрелка № 1) вокруг синей линии регрессии? Это стандартное отклонение полиномиальной регрессии?

  2. Могу ли я сказать, что все, что находится за пределами серой области (стрелка № 2), является «выбросом», а все, что находится внутри серой области (стрелка № 3), находится в пределах стандартного отклонения?

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

adhg
источник

Ответы:

14

Серая полоса - это доверительная полоса для линии регрессии. Я не достаточно знаком с ggplot2, чтобы точно знать, является ли это доверительным интервалом 1 SE или 95% доверительным интервалом , но я считаю, что это первый ( Правка: очевидно, это 95% -й доверительный интервал ). Полоса доверия дает представление о неопределенности вашей линии регрессии. В некотором смысле, вы можете подумать, что истинная линия регрессии столь же высока, как и верх этой полосы, так же низка, как и нижняя, или колеблется по-другому внутри полосы. (Обратите внимание, что это объяснение должно быть интуитивно понятным и не является технически правильным, но большинству людей трудно следовать полностью правильному объяснению.)

Вы должны использовать доверительный интервал, чтобы помочь вам понять / подумать о линии регрессии. Вы не должны использовать это, чтобы думать о точках необработанных данных. Помните, что линия регрессии представляет среднее значение в каждой точке X (если вам нужно понять это более полно, это может помочь вам прочитать мой ответ здесь: Какова интуиция за условными распределениями Гаусса? ). С другой стороны, вы, конечно, не ожидаете, что каждая наблюдаемая точка данных будет равна условному среднему значению. Другими словами, вам не следует использовать доверительный интервал для оценки того, является ли точка данных выбросом. YИкс


( Изменить: эта заметка является второстепенной по отношению к основному вопросу, но пытается прояснить вопрос для ОП. )

Полиномиальная регрессия не является нелинейной регрессией, хотя то, что вы получаете, не выглядит как прямая линия. Термин «линейный» имеет очень конкретное значение в математическом контексте, в частности, что оцениваемые вами параметры - бета-версии - являются коэффициентами. Полиномиальная регрессия просто означает, что ваши ковариаты , X 2 , X 3 и т. Д., То есть они имеют нелинейное отношение друг к другу, но ваши бета-версии все еще являются коэффициентами, поэтому это все еще линейная модель. Если бы ваши беты были, скажем, экспонентами, то у вас была бы нелинейная модель. ИксИкс2Икс3

ИксИкс2Икс2Икс1Икс2Икс(Икс, Y)


Yзнак равноβ0+β1Икс+ε
пер(π(Y)1-π(Y))знак равноβ0+β1Икс
π(Y)знак равноехр(β0+β1Икс)1+ехр(β0+β1Икс)
βββРазница между логитом и пробитами .)
Gung - Восстановить Монику
источник
+1 Приведенные в документации примеры позволяют предположить, что уровень доверия достаточно высок, возможно, 95%.
whuber
@ Gung спасибо за подробный ответ (также вы получили чек!). Я прочитал ваше первое заявление, и я немного запутался. Можете ли вы рассказать подробнее об этом? Если полученная линия не является прямой (y = mx + b), то что делает ее линейной? Еще раз спасибо за ответ.
adhg
Документы на docs.ggplot2.org/0.9.3.1/stat_smooth.html утверждают, что это 95% доверительный интервал для кривой регрессии.
whuber
2
Я думаю, что по умолчанию более гладкий Лесс используется здесь, а не полиномиальная регрессия?
xan
@adhg, я думал, что где-то еще рассмотрел линейное и нелинейное, но не смог найти. Поэтому я добавил сюда дополнительный материал. HTH
gung - Восстановить Монику
11

Чтобы добавить к уже существующим ответам, полоса представляет доверительный интервал среднего, но из вашего вопроса вы явно ищете интервал прогнозирования . Интервалы прогнозирования - это диапазон, который, если вы нарисовали одну новую точку, теоретически эта точка будет содержаться в диапазоне X% времени (где вы можете установить уровень X).

library(ggplot2)
set.seed(5)
x <- rnorm(100)
y <- 0.5*x + rt(100,1)
MyD <- data.frame(cbind(x,y))

Мы можем сгенерировать тот же тип графика, который вы показали в своем первоначальном вопросе, с доверительным интервалом вокруг среднего значения сглаженной линии регрессии Лесса (по умолчанию это 95% доверительный интервал).

ConfiMean <- ggplot(data = MyD, aes(x,y)) + geom_point() + geom_smooth()
ConfiMean

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

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

#Now getting prediction intervals from lm using smoothing splines
library(splines)
MyMod <- lm(y ~ ns(x,4), MyD)
MyPreds <- data.frame(predict(MyMod, interval="predict", level = 0.90))
PredInt <- ggplot(data = MyD, aes(x,y)) + geom_point() + 
           geom_ribbon(data=MyPreds, aes(x=fit,ymin=lwr, ymax=upr), alpha=0.5)
PredInt

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

Теперь еще несколько заметок. Я согласен с Ладиславом в том, что вам следует рассмотреть методы прогнозирования временных рядов, поскольку у вас есть регулярные ряды, начиная с какого-то 2007 года, и из вашего графика ясно, что если вы внимательно посмотрите, есть сезонность (соединение точек сделало бы это более ясным). Для этого я хотел бы предложить проверить на forecast.stl функцию в прогнозном пакете , где вы можете выбрать сезонное окно и обеспечивает надежное разложение сезонности и тенденции , используя лесс. Я упоминаю надежные методы, потому что ваши данные имеют несколько заметных всплесков.

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

Энди У
источник
4

Что ж, синяя линия - это плавная локальная регрессия . Вы можете контролировать волнистость линии с помощью spanпараметра (от 0 до 1). Но ваш пример - это «временные ряды», поэтому постарайтесь найти более подходящие методы анализа, а не только плавную кривую (которая должна служить только для выявления возможной тенденции).

Согласно документации ggplot2(и книгам в комментариях ниже): stat_smooth является доверительным интервалом из гладких серого цвета. Если вы хотите отключить доверительный интервал, используйте se = FALSE.

Ladislav Naďo
источник
1
(1) Я не вижу в вашей справке, где утверждается, что серая область является точечным доверительным интервалом. Из примеров видно, что серая область вместо этого является доверительным интервалом для кривой . (2) Никто не будет разумно объявлять большую долю точек за серой областью как «выбросы»; их слишком много.
whuber
(1) моя ошибка, здесь я добавляю книгу, которая ссылается на «точечный доверительный интервал»: Wickham H (2009) ggplot2 Элегантная графика для анализа данных. СМИ 212. (стр. 14). (2) Я согласен.
Ладислав Наго
В каких ссылках указано, какой уровень достоверности установлен по умолчанию?
whuber
Нет, я не могу найти ссылку на настройки по умолчанию.
Ладислав Наго
На первой странице вашей ссылки я нашел значение по умолчанию: «(по умолчанию 0,95)». Это означает , что либо это ровнее имеют серьезные ошибки, иначе ваша интерпретация ссылки неправильно: потому что такая большая часть точек данных , как правило , находится за пределами серой области и предполагая , что код является правильным, серой область имеет быть доверительной областью для прогноза (подобранная кривая), а не доверительная область для точек.
whuber