Метрики ошибок для перекрестной проверки моделей Пуассона

29

Я перекрестно проверяю модель, которая пытается предсказать счет. Если бы это была проблема бинарной классификации, я бы вычислял AUC вне складывания, а если бы это была проблема регрессии, я бы вычислял среднеквадратичное среднеквадратичное значение или MAE.

Для модели Пуассона какие метрики ошибок я могу использовать для оценки «точности» прогнозов вне выборки? Существует ли расширение AUC по Пуассону, в котором рассматривается, насколько хорошо прогнозы упорядочивают фактические значения?

Похоже, что во многих соревнованиях Kaggle по подсчетам (например, количество полезных голосов, которые получит обзор с визгом, или количество дней, которые пациент проведет в больнице) используют среднеквадратическую ошибку или RMLSE.


/ Правка: я занимался вычислением децилей по прогнозируемым значениям, а затем просматривал фактические значения, сгруппированные по децилям. Если дециль 1 низкая, дециль 10 высокая, а децили между ними строго возрастают, я называю модель «хорошей», но у меня возникли проблемы с количественной оценкой этого процесса, и я убежден, что есть лучший подходить.

/ Правка 2: я ищу формулу, которая принимает прогнозные и фактические значения и возвращает некоторую метрику «ошибки» или «точности». Мой план состоит в том, чтобы вычислить эту функцию на основе данных, превышающих кратные, во время перекрестной проверки, а затем использовать ее для сравнения самых разных моделей (например, регрессии Пуассона, случайного леса и GBM ).

Например, одна такая функция RMSE = sqrt(mean((predicted-actual)^2)). Другой такой функцией будет AUC . Кажется, ни одна из этих функций не подходит для данных Пуассона.

Zach
источник
Для моделей Пуассона вы можете использовать отклонение; который похож на MSE, но лучше подходит для Пуассона. Если у вас размеры выборок не маленькие, взвешенная MSE будет очень похожа.
Glen_b
@Glen_b какова формула отклонения?
Зак
1
Deviance . Как вы подходите к своей модели Пуассона?
Glen_b
Пара разных способов, от штрафной регрессии Пуассона до ГБМ. Я ищу хороший показатель ошибки для сравнения разных моделей. Спасибо за совет.
Зак
По крайней мере, регрессия Пуассона должна автоматически дать вам отклонение
Glen_b

Ответы:

37

Есть пара правильных и строго правильных правил подсчета для данных подсчета, которые вы можете использовать. Правилами подсчета являются штрафы введенные с являющимся прогнозным распределением, и наблюдаемым значением. Они имеют ряд желательных свойств, в первую очередь то, что прогноз, который ближе к истинной вероятности, всегда будет получать меньше штрафов, и существует (уникальный) лучший прогноз, и это тот случай, когда прогнозируемая вероятность совпадает с истинной вероятностью. Таким образом, минимизация ожидания означает сообщение об истинных вероятностях. Смотрите также Википедия .P y s ( y , P )s(y,P)Pys(y,P)

Зачастую в качестве усредненных значений по всем прогнозируемым значениям

S=1ni=1ns(y(i),P(i))

Какое правило выбрать, зависит от вашей цели, но я приведу приблизительную характеристику, когда каждый из них подходит для использования.

В дальнейшем я использую для функции прогнозирующей массовой вероятности и для прогнозной кумулятивной функции распределения. А пробегает всю поддержку распределения счета (т.е. ). обозначаю функцию индикатора. и - это среднее и стандартное отклонение прогнозирующего распределения (которые обычно являются непосредственно оцененными величинами в моделях данных подсчета). f(y)Pr(Y=y)F(y)k0,1,,Iμσ

Строго правильные правила подсчета очков

  • Оценка Бриера : (стабильно для дисбаланса размера в категориальных предикторах)s(y,P)=2f(y)+kf2(k)
  • Оценка Давида-Себастьяни : (подходит для общего выбора модели прогнозирования; стабильно для дисбаланса размера в категориальных предикторах)s(y,P)=(yμσ)2+2logσ
  • Оценка отклонения : ( - нормализующий член, зависящий только от , в моделях Пуассона он обычно принимается за насыщенное отклонение; подходит для использования с оценками из рамки ML)s(y,P)=2logf(y)+gygyy
  • Логарифмическая оценка : (очень легко вычисляется; стабильно для дисбаланса размера в категориальных предикторах)s(y,P)=logf(y)
  • Оценка вероятности : (подходит для контрастирования различных прогнозов очень высоких показателей; подвержена дисбалансу размеров в категориальных предикторах)s(y,P)=k{F(k)I(yk)}2
  • Сферическая оценка : (стабильно для дисбаланса размера в категориальных предикторах)s(y,P)=f(y)kf2(k)

Другие правила подсчета очков (не очень правильные, но часто используемые)

  • Абсолютная оценка ошибки :(не правильно)s(y,P)=|yμ|
  • Квадратный показатель ошибки : (не совсем правильно; подвержен выбросам; подвержен дисбалансу размеров в категориальных предикторах)s(y,P)=(yμ)2
  • Пирсона нормализованы квадрат показатель ошибки : (строго говоря , не собственно, восприимчивы к выбросам, может быть использована для проверки , если проверка моделей , если усредненный балл очень отличается от 1; стабильно для размера дисбаланса в категориальных предикторах)s(y,P)=(yμσ)2

Пример кода R для строго правильных правил:

library(vcdExtra)
m1 <- glm(Freq ~ mental, family=poisson, data=Mental) 

# scores for the first observation
mu <- predict(m1, type="response")[1]
x  <- Mental$Freq[1]

# logarithmic (equivalent to deviance score up to a constant) 
-log(dpois(x, lambda=mu))

# quadratic (brier)
-2*dpois(x,lambda=mu) + sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) })

# spherical
- dpois(x,mu) / sqrt(sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) }))

# ranked probability score
sum(ppois((-1):(x-1), mu)^2) + sum((ppois(x:10000,mu)-1)^2)

# Dawid Sebastiani
(x-mu)^2/mu + log(mu)
Момо
источник
@ Момо, это старая тема, но очень хорошая и полезная. Вопрос однако о логарифмической шкале. Вы использовали функцию -log(f(y)). Является ли -знак действительно должен быть там? В вашей ссылке на правило Википедии правила ( en.wikipedia.org/wiki/Scoring_rule#Logarithmic_scoring_rule ) логарифмическая оценка как отрицательный знак: L(r,i)=ln(ri)это нормально? Наконец, в таком случае, более высокий балл лучше или хуже?
Бастьен
Является ли лучше (или, по крайней мере, более консервативным и более реалистичным) рассчитать эти показатели для набора данных проверки, который не был частью данных, используемых для оценки моделей?
Фред
Учитывая, что GLM подгоняются с использованием итеративно перевешенных наименьших квадратов, как в bwlewis.github.io/GLM , что было бы возражением против фактического вычисления взвешенного R2 по шкале связи GLM, используя веса 1 / дисперсии в качестве весов (которые glm возвращает в слот весов в глм подойдет)? Это также будет работать для Пуассона GLM не так ли?
Том Венселерс
См. Stats.stackexchange.com/questions/412580/… для воспроизводимого примера ...
Том Венселерс