Как делать прогнозы даже с АН, использующими предикат () - PullRequest
0 голосов
/ 18 января 2019

Я хочу использовать predict() с моделью polr() для прогнозирования переменной z согласно следующему коду. Это первое df для обучения модели и последующие test данные.

df <- data.frame(x=c(1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2),
                 y=c(32, 67, 12, 89, 45, 78, 43, 47, 14, 67, 16, 36, 25, 23, 56, 26, 35, 79, 13, 44),
                 z=as.factor(c(1, 2, 3, 2, 1, 2, 3, 2, 1, 2, 3, 2, 3, 2, 1, 2, 1, 2, 1, 2)))
test <- data.frame(x=c(1, 2, 1, 1, 2, 1, 2, 2, 1, 1),
                   y=c(34, NA, 78, NA, 89, 17, 27, 83, 23, 48),
                   z=c(1, 2, 3, 1, 2, 3, 1, 2, 3, 1))

Это модель polr():

mod <- polr(z ~ x + y, data = df, Hess = TRUE)

И это predict() функция с ее результатом:

predict(mod, newdata = test)
[1] 2    <NA> 2    <NA> 2    2    2    2    2    2 

Моя проблема в том, что я хочу, чтобы модель делала прогнозы даже при наличии NAs, как во 2-м и 4-м случаях. Я пробовал следующее, с тем же результатом:

predict(mod, newdata = test, na.action = "na.exclude")
predict(mod, newdata = test, na.action = "na.pass")
predict(mod, newdata = test, na.action = "na.omit")
predict(mod, newdata = test, na.rm=T)
[1] 2    <NA> 2    <NA> 2    2    2    2    2    2 

Как я могу заставить модель делать прогнозы, даже если отсутствуют некоторые данные?

...