我有一套训练集,其中包含2000-2011年期间的数据以及2012年至2016年期间的测试集。我在训练集(2000-2011年期间)中运行了具有年固定效应的logit模型,我想使用测试集的预测值。在测试集上使用年固定效应
由于在训练集中使用的模型使用完全不同的年份(2000-2011),因此我在测试集(2012-2016年)中添加年度固定效果时遇到了一些问题。
我该如何调整这种差异?这是我面临的问题。任何想法?
训练集模式:
model.2 <- glm(MAKE ~ NAME + DIST + DIST2 + DIST3 + SEASON +
GRASS + COLD49 + WINDY + ALTITUDE + PRECIP -1,
family = "binomial"(link = logit), data = df.train)
测试仪型号:
df.test$model.2.predictions <- predict(model.2, newdata = df.test,
type = "response")
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
factor SEASON has new levels 2012, 2013, 2014, 2015, 2016
只是想知道,如果您使用季节(以年份作为级别),那么您正在试图查看每个级别对您的响应的具体影响吗?因为这些影响是特定因素水平的(例如,A年的概率相对于B年的概率增加了),您如何预期该模型能够预测未包含在培训中的年数的影响? - 我真的很好奇。是否有可能拥有涵盖所有年份的培训集? – din
这是真的。季节性固定效应的系数是在特定季节估计的,将这些系数乘以新季节的虚拟变量(2012 - 2016年)是没有意义的。我需要提出2012 - 2016年季节系数的新估计。 我无法构建涵盖所有年份的训练集。 – josehernandez
退出年份变量或假定趋势被假设,然后将其建模为数字。 –