虚拟变量以及样本内和样本外预测?

时间:2016-04-02 16:58:51

标签: r regression prediction

我试图预测零售店的销售情况。以下是我的变量(您可以在很大程度上忽略ZipZone之外的变量值;它们的值与此问题基本无关):

storeId    sales    meanTemperature     meanHumidity    ZipZone
1          1350     56.78               61.12           0
2          1230     59.90               45.67           3
3          8476     63.54               49.87           3
4          4357     62.12               65.09           4
5          2314     69.78               68.99           4
6          7812     74.90               59.78           4
7          1350     56.78               61.12           6
8          1230     59.90               45.67           6
9          8476     63.54               49.87           6
10         4357     62.12               65.09           7
11         2314     69.78               68.99           7
12         7812     74.90               59.78           8
...

有50个唯一的storeId值(即有50个商店)。我建立了一个回归模型:

model <- lm(sales ~ meanTemperature*meanHumidity + ZipZone)

我目前正在测试此模型在样本内和样本外预测方面的效果,因此我创建了inSampleoutSample数据框(前者有40个商店;后者有10)。但问题是,我只在一个ZipZone中有几个商店。例如,inSample表具有存储1(ZipZone 0中的唯一存储),而outSample表具有存储12(ZipZone 8中唯一的存储)。当我运行以下内容时:

pred <- predict(model, newdata = outSample)

我收到以下错误:

Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) : 

因子ZIPzone有新的等级8

我认为这是因为inSampleZipZone 8中没有商店,而outSample则存在。我该如何避免这个问题?

0 个答案:

没有答案