predict.lm
位于 stats
包(package)。 说明
基于线性模型对象的预测值。
用法
## S3 method for class 'lm'
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,
interval = c("none", "confidence", "prediction"),
level = 0.95, type = c("response", "terms"),
terms = NULL, na.action = na.pass,
pred.var = res.var/weights, weights = 1,
rankdeficient = c("warnif", "simple", "non-estim", "NA", "NAwarn"),
tol = 1e-6, verbose = FALSE,
...)
参数
object |
继承自 |
newdata |
一个可选的 DataFrame ,用于查找用于预测的变量。如果省略,则使用拟合值。 |
se.fit |
指示是否需要标准错误的开关。 |
scale |
std.err 的标度参数。计算。 |
df |
规模的自由度。 |
interval |
区间计算的类型。可以缩写。 |
level |
容忍度/置信度。 |
type |
预测类型(响应或模型项)。可以缩写。 |
terms |
如果 |
na.action |
函数确定应如何处理 |
pred.var |
为预测区间假设的未来观测值的方差。查看具体信息'。 |
weights |
用于预测的方差权重。这可以是数值向量或片面模型公式。在后一种情况下,它被解释为在 |
rankdeficient |
|
tol |
非负数决定了在秩不足的情况下如何确定不可估计性。 |
verbose |
|
... |
传入或传出其他方法的进一步参数。 |
细节
predict.lm
生成预测值,通过评估框架 newdata
中的回归函数获得(默认为 model.frame(object)
)。如果逻辑 se.fit
是 TRUE
,则计算预测的标准误差。如果设置了数字参数 scale
(带有可选的 df
),则将其用作标准误差计算中的残余标准差,否则从模型拟合中提取。设置 intervals
指定在指定的 level
处计算置信度或预测(容差)间隔,有时称为窄间隔与宽间隔。
如果拟合为 rank-deficient,则在 lm
计算期间将删除设计矩阵的某些列,并将相应的 coef()
组件设置为 NA
。仅当 newdata
包含在与原始数据相同的子空间中时,这种拟合的预测才有意义。其他 newdata
条目(行)是 non-estimable
。现在对此进行检查(高达数值公差 tol
),除非对应于先前行为的 rankdeficient
== "simple"
始终发出警告并使用非 NA
系数与设计矩阵的相应列进行预测。新的默认选项 rankdeficient == "warnif"
检查是否存在 “non-estimable” 情况(最多容差 tol
),并且仅在这种情况下发出警告。所有其他 rankdeficient
选项也会检查并预测 NA
或以不同方式标记不可估计的情况。
如果省略newdata
,则预测基于用于拟合的数据。在这种情况下,如何处理原始拟合中缺失值的情况由该拟合的 na.action
参数确定。如果 na.action = na.omit
省略的情况不会出现在预测中,而如果 na.action = na.exclude
则会出现(在预测、标准误差或区间限制中),且值为 NA
。另请参阅napredict
。
预测区间针对 newdata
中每种情况的单个观察(或默认情况下,用于拟合的数据),误差方差为 pred.var
。这可以是 res.var
的倍数,即 的估计值:默认情况是假设未来的观测值与用于拟合的观测值具有相同的误差方差。如果提供weights
,则将其倒数用作比例因子。对于加权拟合,如果预测针对原始数据帧,weights
默认为用于模型拟合的权重,并会出现警告,因为它可能不是预期结果。如果对拟合进行加权并给出newdata
,则默认情况下假设预测方差恒定,并带有警告。
值
predict.lm
生成预测向量或预测矩阵和列名称为 fit
、 lwr
和 upr
(如果设置了 interval
)。对于 type = "terms"
来说,这是一个每项有一列的矩阵,并且可能具有属性 "constant"
。
如果 se.fit
是 TRUE
,则返回包含以下组件的列表:
fit |
向量或矩阵如上 |
se.fit |
预测平均值的标准误差 |
residual.scale |
残余标准差 |
df |
残差自由度 |
注意
首先在 newdata
中查找变量,然后以通常的方式搜索(其中包括拟合中使用的公式的环境)。如果找到的变量长度与 newdata
中提供的变量长度不同,则会发出警告。
请注意,预测方差和预测区间始终指未来的观测值,可能对应于用于拟合的相同预测变量。残差的方差会更小。
严格来说,用于预测极限的公式假设拟合的自由度与残差方差的自由度相同。如果res.var
不是从拟合中获得的,情况可能并非如此。
例子
require(graphics)
## Predictions
x <- rnorm(15)
y <- x + rnorm(15)
predict(lm(y ~ x))
new <- data.frame(x = seq(-3, 3, 0.5))
predict(lm(y ~ x), new, se.fit = TRUE)
pred.w.plim <- predict(lm(y ~ x), new, interval = "prediction")
pred.w.clim <- predict(lm(y ~ x), new, interval = "confidence")
matplot(new$x, cbind(pred.w.clim, pred.w.plim[,-1]),
lty = c(1,2,2,3,3), type = "l", ylab = "predicted y")
## Prediction intervals, special cases
## The first three of these throw warnings
w <- 1 + x^2
fit <- lm(y ~ x)
wfit <- lm(y ~ x, weights = w)
predict(fit, interval = "prediction")
predict(wfit, interval = "prediction")
predict(wfit, new, interval = "prediction")
predict(wfit, new, interval = "prediction", weights = (new$x)^2)
predict(wfit, new, interval = "prediction", weights = ~x^2)
##-- From aov(.) example ---- predict(.. terms)
npk.aov <- aov(yield ~ block + N*P*K, npk)
(termL <- attr(terms(npk.aov), "term.labels"))
(pt <- predict(npk.aov, type = "terms"))
pt. <- predict(npk.aov, type = "terms", terms = termL[1:4])
stopifnot(all.equal(pt[,1:4], pt.,
tolerance = 1e-12, check.attributes = FALSE))
也可以看看
SafePrediction 用于根据(单变量)多项式和样条拟合进行预测。
相关用法
- R predict.loess 预测黄土曲线或表面
- R predict.smooth.spline 通过平滑样条拟合进行预测
- R predict.HoltWinters 拟合 Holt-Winters 模型的预测函数
- R predict.Arima ARIMA 的预测适合
- R predict.nls 根据非线性最小二乘拟合进行预测
- R predict.glm GLM 拟合的预测方法
- R predict 模型预测
- R preplot 绘图对象的预计算
- R profile.nls 分析 nls 对象的方法
- R proj 模型预测
- R prcomp 主成分分析
- R printCoefmat 打印系数矩阵
- R profile 分析模型的通用函数
- R prop.test 等比例或给定比例检验
- R profile.glm 分析 glm 对象的方法
- R print.ts 时间序列对象的打印和格式化
- R prop.trend.test 检验比例趋势
- R princomp 主成分分析
- R print.power.htest 假设检验和功效计算对象的打印方法
- R plot.stepfun 绘制阶跃函数
- R pairwise.t.test 成对 t 检验
- R plot.profile.nls 绘制 profile.nls 对象
- R plot.isoreg isoreg 对象的绘图方法
- R plot.HoltWinters HoltWinters 对象的绘图函数
- R ppoints 概率图的坐标
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Predict method for Linear Model Fits。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。