Непрерывные квантили диаграммы рассеяния

У меня есть набор данных, для которого я составил регрессию (используя ggplot2"s stat_smooth):

ggplot(data = mydf, aes(x=time, y=pdm)) + geom_point() + stat_smooth(col="red") 

Plot1

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

ggplot(data = mydf, aes(x=time, y=pdm, z=surface)) + geom_point() + stat_smooth(col="red") + stat_quantile(quantiles = c(0.25,0.75)) 

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

К сожалению не могу поставить method="loess" в stat_quantile(), который, если я не ошибаюсь, решит мою проблему.

(В случае, если неясно, желаемое поведение = нелинейные регрессии для квантилей, и, следовательно, регрессия для Q25 и Q75, находящаяся ниже и выше (соответственно), моя красная кривая (и Q50, в случае графика, будет моей красной кривой)).

Спасибо

1 ответ

stat_quantile по умолчанию строит линии наилучшего соответствия для 25-го и 75-го процентиля для каждого значения x. stat_quantile использует rq функция от quantreg пакет (неявно, method="rq" в stat_quantile вызов). Насколько я знаю, rq не делает лесс регрессии. Однако вы можете использовать другие гибкие функции для квантильной регрессии. Вот два примера:

В-сплайн:

library(splines)

stat_quantile(formula=y ~ bs(x, df=4), quantiles = c(0.25,0.75))

Полином второго порядка:

stat_quantile(formula=y ~ poly(x, 2), quantiles = c(0.25,0.75))

stat_quantile все еще использует rq, но rq принимает формулы указанного выше типа (если вы не предоставите формулу, то stat_quantile неявно использует formula=y~x). Если вы используете ту же формулу в geom_smooth что касается stat_quantileвы будете иметь последовательные методы регрессии, используемые для квантилей и среднего ожидания.

Другие вопросы по тегам