Я использую пакет Quantreg , чтобы создать модель регрессии, используя 99-й процентиль моих значений в наборе данных. Основываясь на совете из предыдущего вопроса о стековом потоке, который я задал, я использовал следующую структуру кода.
mod <- rq(y ~ log(x), data=df, tau=.99)
pDF <- data.frame(x = seq(1,10000, length=1000) )
pDF <- within(pDF, y <- predict(mod, newdata = pDF) )
который я показываю на графике поверх моих данных. Я построил это, используя ggplot2, с альфа-значением для точек. Я думаю, что хвост моего распределения недостаточно учитывается в моем анализе. Возможно, это связано с тем, что существуют отдельные точки, которые игнорируются при измерении типа процентиля.
Один из комментариев предположил, что
Виньетка пакета включает в себя разделы по нелинейной квантильной регрессии, а также модели со сглаживающими сплайнами и т. Д.
Исходя из моего предыдущего вопроса, я предположил логарифмические отношения, но я не уверен, что это правильно. Я думал, что смогу извлечь все точки с интервалом в 99-й процентиль, а затем изучить их отдельно, но я не уверен, как это сделать, или это хороший подход. Буду признателен за любые советы о том, как улучшить выявление этих отношений.
источник
Ответы:
Все модели ошибочны, но некоторые полезны (Джордж Бокс). Вы заставляете логарифмическую форму подходящей кривой, и, честно говоря, все выглядит не так плохо. Плохая посадка на хвосте, потому что там меньше точек; два разрешенных вами параметра будут соответствовать большей части данных. Другими словами, в логарифмическом масштабе этот хвост не достаточно далеко от основной массы ваших данных, чтобы обеспечить рычаги. Это не имеет отношения к квантильной природе регрессии; OLS также игнорирует эти пункты (особенно в логарифмическом масштабе).
Довольно легко учесть еще некоторую нелинейность. Я неравнодушен к естественным сплайнам, но опять же, все модели ошибочны:
В
quantreg
пакете есть несколько специальных крючков для монотонных сплайнов, если это вас беспокоит.источник