Рассмотрим график ниже, на котором я смоделировал данные следующим образом. Мы смотрим на двоичный результат для которого истинная вероятность быть 1 указана черной линией. Функциональная связь между ковариатой и является полиномом 3-го порядка с логистической связью (поэтому она является нелинейной в двустороннем порядке).
Зеленая линия - это логистическая регрессия GLM, где вводится как полином 3-го порядка. Пунктирные зеленые линии - это 95% доверительные интервалы вокруг прогноза , где - подогнанные коэффициенты регрессии. Я использовал и для этого.R
glm
predict.glm
Точно так же линия pruple - это среднее значение апостериорного с 95% вероятным интервалом для байесовской модели логистической регрессии с использованием равномерного априора. Для этого я использовал пакет с функцией (настройка дает единый неинформативный априор).MCMCpack
MCMClogit
B0=0
Красные точки обозначают наблюдения в наборе данных, для которых , черные точки - наблюдения с . Обратите внимание, что, как обычно в классификации / дискретном анализе, наблюдается но не .
Можно увидеть несколько вещей:
- Я специально симулировал, что редок на левой руке. Я хочу, чтобы доверие и достоверный интервал стали здесь широкими из-за недостатка информации (наблюдений).
- Оба прогноза смещены вверх слева. Это смещение вызвано четырьмя красными точками, обозначающими наблюдения, что ошибочно предполагает, что истинная функциональная форма будет здесь повышаться. Алгоритм не обладает достаточной информацией, чтобы сделать вывод, что истинная функциональная форма имеет нисходящий изгиб.
- Доверительный интервал становится шире, чем ожидалось, тогда как доверительный интервал - нет . На самом деле доверительный интервал охватывает все пространство параметров, как и должно быть из-за недостатка информации.
Кажется, вероятный интервал здесь неправильный / слишком оптимистичный для части . Это действительно нежелательное поведение для вероятного интервала сужаться, когда информация становится разреженной или полностью отсутствует. Обычно это не то, как реагирует вероятный интервал. Может кто-нибудь объяснить:
- Каковы причины этого?
- Какие шаги я могу предпринять, чтобы прийти к более достоверному интервалу? (то есть тот, который включает в себя, по крайней мере, истинную функциональную форму, или, лучше, достигает ширины доверительного интервала)
Код для получения интервалов прогнозирования на графике напечатан здесь:
fit <- glm(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
x_pred <- seq(0, 1, by=0.01)
pred <- predict(fit, newdata = data.frame(x=x_pred), se.fit = T)
plot(plogis(pred$fit), type='l')
matlines(plogis(pred$fit + pred$se.fit %o% c(-1.96,1.96)), type='l', col='black', lty=2)
library(MCMCpack)
mcmcfit <- MCMClogit(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
gibbs_samps <- as.mcmc(mcmcfit)
x_pred_dm <- model.matrix(~ x + I(x^2) + I(x^3), data=data.frame('x'=x_pred))
gibbs_preds <- apply(gibbs_samps, 1, `%*%`, t(x_pred_dm))
gibbs_pis <- plogis(apply(gibbs_preds, 1, quantile, c(0.025, 0.975)))
matlines(t(gibbs_pis), col='red', lty=2)
Доступ к данным : https://pastebin.com/1H2iXiew благодаря @DeltaIV и @AdamO
dput
на фрейме данных, содержащем данные, а затем включитьdput
вывод в виде кода в своем посте.Ответы:
Для модели, частотная дисперсия в предсказания не увеличится пропорционально квадрату расстояния от центроида . Ваш метод расчета интервалов прогнозирования для байесовской GLM использует эмпирические квантили на основе подобранной кривой вероятности, но не учитывает левереджX X
GLM с биномиальным частотой ничем не отличается от GLM с идентификационной связью, за исключением того, что дисперсия пропорциональна среднему значению.
Обратите внимание, что любое полиномиальное представление вероятностей логита приводит к предсказаниям риска, которые сходятся к 0 как и 1 как или наоборот, в зависимости от знака члена высшего полиномиального порядка .X→−∞ X→∞
Для частых прогнозов доминирует эта тенденция в квадрате отклонений (рычагов) пропорционального увеличения дисперсии прогнозов. Вот почему скорость сходимости к интервалам предсказания, приблизительно равная [0, 1], выше, чем полиномиальная логитная сходимость третьего порядка к вероятностям 0 или 1, в частности.
Это не так для байесовских задних квантилей. Нет явного использования квадрата отклонения, поэтому мы полагаемся просто на долю доминирующих 0 или 1 тенденций для построения интервалов долгосрочного прогнозирования.
Это стало очевидным экстраполяцией очень далеко в крайности .X
Используя приведенный выше код, мы получаем:
Таким образом, в 97,75% случаев третий полиномиальный член был отрицательным. Это подтверждается образцами Гиббса:
Следовательно, предсказанная вероятность сходится к 0, когда уходит в бесконечность. Если мы проверяем SE в байесовской модели, мы находим, что оценка третьего полиномиального члена равна -185,25, а se 108,81 означает, что это 0,70 SD от 0, поэтому, используя нормальные законы вероятности, он должен упасть ниже 0 95,5% времени ( не совсем другой прогноз, основанный на 10 000 итераций). Просто еще один способ понять это явление.X
С другой стороны, подгонка частых ударов до 0,1, как и ожидалось:
дает:
источник
B0
MCMClogit