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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。