2013-12-02 3 views
1

я пролил набор данных в поезде и испытания следующим образом:предсказания GLM в г

splitdata<-split(sb[1:nrow(sb),], sample(rep(1:2, as.integer(nrow(sb)/2)))) 
test<-splitdata[[1]] 
train<-rbind(splitdata[[2]]) 

С.Б. это имя исходного набора данных, так что поезд 50/50 и испытания.

Затем я установил glm, используя тренировочный комплект.

fitglm<- glm(num_claims~year+vt+va+public+pri_bil+persist+penalty_pts+num_veh+num_drivers+married+gender+driver_age+credit+col_ded+car_den, family=poisson, train) 

Теперь я хочу предсказать, используя этот glm, скажем, следующие 10 наблюдений.

У меня есть проблемы, чтобы указать NewData в предсказать(),

Я пробовал:

pred<-predict(fitglm,newdata=data.frame(train),type="response", se.fit=T) 

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

и, наконец, как построить эти прогнозы с доверительными интервалами?

Спасибо за помощь

+0

Воспроизводимый пример http://tinyurl.com/reproducible- 000 будет очень предпочтительным. Кроме того, вы говорите, что вы пробовали, но вы не говорите, что пошло не так: вы получили ошибку (если да, что это было)? Были ли неправильные результаты/не то, что вы ожидали (если да, то откуда вы знаете)? –

+0

+ вы действительно хотите «предсказать» данные 'test' not' train', которые я предполагаю? и что вы подразумеваете под «следующими 10 наблюдениями»? –

ответ

5

Если вы спрашиваете, как строить прогнозы на ближайшие 10 в ходе испытания, то:

pred10<-predict(fitglm,newdata=data.frame(test)[1:10, ], type="response", se.fit=T) 
Смежные вопросы