Я использую функцию predict.hurdle
из пакета pscl
для оценки вероятностей наблюдения 0, 1, 2, ..., N событий в наборе данных.pscl :: prob.hurdle вероятности не суммируются до 1
Используя пример в ?predict.hurdle
:
data("bioChemists", package = "pscl")
fm_hp1 <- hurdle(art ~ ., data = bioChemists)
summary(fm_hp1)
head(predict(fm_hp1, newdata = bioChemists, type = "prob"))
# returns a matrix of probabilities too large to show here
Каждая строка этой матрицы является наблюдение и каждый столбец представляет собой вероятность того, что графа, 0-19 в этом случае.
summary(rowSums(predict(fm_hp1, newdata = bioChemists, type = "prob")))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.9998 1.0000 1.0000 1.0000 1.0000 1.0000
Но некоторые строки не суммируются до 1, как должны. Но все в порядке, они близки, поэтому, возможно, это не проблема ....
Но мне нужно откалибровать условия перехвата. «Калибровка» в моей отрасли является приемлемым способом сказать «изменить оценочные параметры». Да, я знаю, что есть много причин, почему это не является хорошей идеей статистически (преднамеренно смещение оценок). Тем не менее, я все равно ожидаю, что код будет работать, и предсказание будет придерживаться правил вероятности.
# Change the count model intercept
fm_hp1$coefficients$count["(Intercept)"] <- 3
summary(rowSums(predict(fm_hp1, newdata = bioChemists, type = "prob")))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.001521 0.434300 0.647400 0.602000 0.818400 0.983900
Теперь мы видим некоторые серьезные проблемы с результирующими вероятностями.
я соблазн просто заново нормализовать эти утилиты по шкале 0-1 с помощью:
old.p <- predict(fm_hp1, newdata = bioChemists, type = "prob")
new.p <- t(apply(X = old.p, MARGIN = 1, FUN = function(x) x/sum(x)))
summary(rowSums(new.p))
Но я волнуюсь, что причина проблем с вероятностями суммирования 1 означает, что это Wouldn» т.
Является ли мое беспокойство обоснованным? Есть ли еще один элемент из fm_hp1
, который мне нужно изменить, чтобы изменить срок перехвата, но все же получить правильные прогнозы вероятности?
«Калибровка» в моей отрасли - приемлемый способ сказать «изменить оценочные параметры». Ах, проклятие быть техническим ресурсом в деловой среде ... «Это звучит не так, это число должно быть ниже». – Adam
Это постоянное препятствие (каламбур).После некоторых экспериментов, похоже, что ненулевые столбцы вероятности должны быть переназначены при изменении перехвата модели count. Кажется, что проблема не возникает при изменении перехвата нулевой модели. –