【发布时间】:2018-05-13 02:46:12
【问题描述】:
正在做:predictions <- predict(lm.sqrtFlatprices, interval='prediction', level = 0.68) ^ 2
我得到:predictions on current data refer to _future_ responses
为什么会出现这个警告,我该如何抑制它?
【问题讨论】:
正在做:predictions <- predict(lm.sqrtFlatprices, interval='prediction', level = 0.68) ^ 2
我得到:predictions on current data refer to _future_ responses
为什么会出现这个警告,我该如何抑制它?
【问题讨论】:
来自?predict.lm
预测区间适用于 newdata(或默认情况下,用于拟合的数据)中每个案例的单个观测值,误差方差为 pred.var。这可以是 res.var 的倍数,σ^2 的估计值:默认是假设未来的观测值与用于拟合的观测值具有相同的误差方差。如果提供了权重,则将其倒数用作比例因子。对于加权拟合,如果预测是针对原始数据框的,则权重默认为用于模型拟合的权重,并会发出警告,因为它可能不是预期的结果。如果对拟合进行加权并给出了新数据,则默认情况下假设预测方差恒定,并带有警告。
本质上,R 正在做出一些假设以用于计算预测值限制(与拟合值的置信限制相反),并希望您了解它所做的假设。实际警告假定用户已阅读 ?predict.lm 处的文档。
如果您不关心假设并希望抑制警告,您可以使用
suppressWarnings(predict(lm.sqrtFlatprices, interval='prediction', level = 0.68) ^ 2)
【讨论】: