Предсказание.glm () с тремя новыми категориями в тестовых данных (r) (ошибка)

У меня есть набор данных под названиемdata который имеет 481 092 строки.

Я разделилdata на две равные половины:

Первая половина (строка 1: 240 546) называетсяtrain и был использован дляglm();вторая половина (строка 240 547: 481 092) называетсяtest и должен использоваться для проверки модели;

Затем я начал регрессию:

testreg <- glm(train$returnShipment ~ train$size + train$color + train$price + 
               train$manufacturerID + train$salutation + train$state +
               train$age + train$deliverytime, 
               family=binomial(link="logit"), data=train)

Теперь прогноз:

prediction <- predict.glm(testreg, newdata=test, type="response")

выдает мне ошибку:

Error in model.frame.default(Terms, newdata, na.action=na.action, xlev=object$xlevels):
Factor 'train$manufacturerID' has new levels 125, 136, 137

Теперь я знаю, что эти уровни были опущены в регрессии, потому что она не показывает никаких коэффициентов для этих уровней.

Я попробовал это:Предсказание.lm () с неизвестным уровнем фактора в тестовых данных , Но это как-то не работает для меня, или я просто не понимаю, как это реализовать. Я хочу предсказать зависимую двоичную переменную, но, конечно, только с существующими коэффициентами. Ссылка выше предлагает сообщить R, что строки с новыми уровнями должны просто называться / или рассматриваться как NA.

Как я могу продолжить?

Правка-предложенный подход З. Ли

У меня проблема на первом этапе:

xlevels <- testreg$xlevels$manufacturerID
mID125 <- xlevels[1]

ноmID125 являетсяNULL! Что я сделал не так?

Ответы на вопрос(2)

Ваш ответ на вопрос