Целью является прогнозирование новых наблюдений на основе модели множественной регрессии.
Модель включает в себя два фактора («ec» с кодированием эффекта, «dc» с фиктивным кодированием) и числовую переменную («num») плюс термин взаимодействия «ec» и «num».
Однако функция предиката lm, основанная на новых данных, не работает.
# Dependent variable
y <- rnorm(12, 50, 10)
# Independent variables
# Dummy coding
dc <- factor(x=c("Schlecht", "Gut", "Mittel", "Schlecht", "Gut", "Mittel", "Schlecht", "Gut", "Mittel", "Schlecht", "Gut", "Mittel"))
contrasts(dc) <- contr.treatment(3, 1)
# Effect coding
ec <- factor(x=c("A", "B", "C", "D", "A", "B", "C", "D", "A", "B", "C", "D"))
contrasts(ec) <- contr.sum(4)
num <- rnorm(12, 10, 2)
# Design matrix
df <- data.frame(dc = dc, ec = ec, num = num)
lm_dm <- model.matrix(~ 1 + ec + dc * num, df)
lm <- lm(y ~ 0 + lm_dm)
# prediction
newdata <- data.frame(dc = c("Schlecht", "Gut", "Gut"), ec = c("C", "D", "B"), num = c(9, 8, 12))
predict.lm(lm, newdata)
Как я могу использовать оценочную модель для проведения нового прогноза?