否则:
predictions <- predict(lm.sqrtFlatprices, interval='prediction', level = 0.68) ^ 2
我明白了:
predictions on current data refer to _future_ responses
为什么会出现此警告,如何抑制它?
答案 0 :(得分:4)
来自?predict.lm
预测间隔是针对新数据(或默认情况下,用于拟合的数据)的每种情况下的单个观察,具有误差方差pred.var。这可以是res.var的倍数,σ^ 2的估计值:默认是假设未来的观测具有与用于拟合的那些相同的误差方差。如果提供权重,则将其反转用作比例因子。对于加权拟合,如果预测是针对原始数据框,则权重默认为用于模型拟合的权重,并带有警告,因为它可能不是预期结果。如果拟合是加权的并且给出了newdata,则默认是假设常数预测方差,并带有警告。
基本上,R正在做一些假设,以便用来计算预测值限制(与拟合值的置信限度相反),并希望您了解它所做的假设。实际警告假定用户已阅读?predict.lm
处的文档。
如果您不关心这些假设并希望取消警告,则可以使用
suppressWarnings(predict(lm.sqrtFlatprices, interval='prediction', level = 0.68) ^ 2)