R-квадрат в квантильной регрессии

21

Я использую квантильную регрессию, чтобы найти предикторы 90-го процентиля моих данных. Я делаю это в R, используя quantregпакет. Как я могу определить для квантильной регрессии, которая укажет, насколько изменчивость объясняется переменными предиктора?r2

Что я действительно хочу знать: «Любой метод, который я могу использовать, чтобы найти, сколько изменчивости объясняется?». Уровни значимости по значениям P доступны в выходе команды: summary(rq(formula,tau,data)). Как я могу получить хорошее состояние?

rnso
источник
7
R2 не имеет отношения к квантильной регрессии.
whuber
@whuber: Любой альтернативный метод, который я могу использовать, чтобы выяснить, насколько изменчивость объясняется?
rnso
2
Это было бы неплохо задать в теле вашего вопроса, а не в комментариях! «Объясненная изменчивость» (во всяком случае, измеряемая в терминах отклонений) является по существу концепцией наименьших квадратов; возможно, то, что вы хотите, - это подходящая мера статистической значимости или, возможно, добротность соответствия.
whuber
Для любого достоинства вы должны подумать о том, что будет хорошей производительностью, что будет плохой работой, а что не имеет значения. Например, это не критика 90-го процентиля, если это паршивый предсказатель 10-го процентиля. Ваш тест может быть тем, что вы могли бы использовать, если бы вы не использовали квантильную регрессию. Если ваши предикторы непрерывны, это может быть трудно определить.
Ник Кокс
1
@whuber: я добавил это в теле вопроса. Уровень значимости по значению P доступен в сводном (rq (формула, тау, данные)) выводе. Как я могу получить хорошее состояние?
rnso

Ответы:

23

Koenker и Machado описывают , локальную меру качества соответствия в определенном ( ) квантиле. R 1 τ[1]R1τ

ПустьV(τ)=minbρτ(yixib)

Пусть и будут оценками коэффициентов для полной модели и ограниченной модели, и пусть и будут соответствующие термины. ~ β (τ) V ~ V Vβ^(τ)β~(τ)V^V~V

Они определяют критерий соответствия .R1(τ)=1V^V~

Кенкер дает код для здесь ,V

rho <- function(u,tau=.5)u*(tau - (u < 0))
V <- sum(rho(f$resid, f$tau))

Поэтому, если мы вычисляем для модели с использованием только перехвата ( - или в фрагменте кода ниже) и затем неограниченной модели ( ), мы можем вычислить это - по крайней мере, условно - чем-то похож на обычный .~ V V R 2VV~V0V^R1 <- 1-Vhat/V0R2

Изменить: В вашем случае, конечно, второй аргумент, который будет вставлен в, где f$tauнаходится в вызове во второй строке кода, будет любым значением, которое tauвы использовали. Значение в первой строке просто устанавливает значение по умолчанию.

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

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

-

[1] Koenker, R and Machado, J (1999),
Goodness of Fit и связанные процессы вывода для квантильной регрессии,
журнал Американской статистической ассоциации, 94 : 448, 1296-1310.

Glen_b - Восстановить Монику
источник
Должен ли тау = 0,9, а не 0,5?
Дмитрий Васильевич Мастеров
Да, так и должно быть, но если вы предоставите правильный второй аргумент (как это сделано во второй строке, которую я цитировал выше), то вот как это работает. Значение 0,5 в первой строке является просто аргументом по умолчанию, если вы не укажете, tauкогда вызываете функцию. Я уточню в посте.
Glen_b
@Glen_b Спасибо за объяснение. Если я не делаю глупостей, V представляется суммой взвешенных отклонений в оценочном квантиле, а не псевдо- . R2
Дмитрий Владимирович Мастеров
@Dimitriy О, ты прав, я кое-что пропустил. Я исправлю это в ближайшее время.
Glen_b
@Dimitriy Думаю, я исправил это сейчас.
Glen_b
19

Мера псевдо- предложенная Koenker и Machado (1999) в JASA, измеряет степень соответствия, сравнивая сумму взвешенных отклонений для интересующей модели с той же суммой из модели, в которой появляется только пересечение. Рассчитывается какR2

R1(τ)=1yiy^iτ|yiy^i|+yi<y^i(1τ)|yiy^i|yiy¯τ|yiy¯|+yi<y¯i(1τ)|yiy¯|,

где - подогнанный квантиль th для наблюдения , а - подогнанное значение только для перехвата модель.y^i=ατ+βτxτiy¯=βτ

R1(τ) должно лежать в , где 1 будет соответствовать идеальной подгонке, поскольку числитель, состоящий из взвешенной суммы отклонений, будет равен нулю. Это локальная мера соответствия для QRM, поскольку она зависит от , в отличие от глобального из OLS. Это, возможно, и является источником предупреждений об использовании этого: если ваша модель подходит к хвосту, нет гарантии, что она подходит в любом другом месте. Этот подход также может быть использован для сравнения вложенных моделей.[0,1]τR2

Вот пример в R:

library(quantreg)
data(engel)

fit0 <- rq(foodexp~1,tau=0.9,data=engel)
fit1 <- rq(foodexp~income,tau=0.9,data=engel)

rho <- function(u,tau=.5)u*(tau - (u < 0))
R1 <- 1 - fit1$rho/fit0$rho

Это может быть выполнено более элегантно.

Димитрий Васильевич Мастеров
источник
Ваша формула не отображается хорошо. После знака минус: R_1(\tau) = 1 - 􀀀последний символ - это какой-то беспорядок. Не могли бы вы проверить это? Может быть, вы вставили какой-то нестандартный символ вместо того, чтобы использовать текст
Тим
@ Тим, я не вижу ничего странного ни в тексте, ни на экране.
Дмитрий Васильевич Мастеров
Это похоже на Linux и Windows: snag.gy/ZAp5T.jpg
Тим
@Tim Это поле ни к чему не относится, поэтому его можно игнорировать. Я постараюсь отредактировать его позже с другого компьютера.
Дмитрий Васильевич Мастеров