當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R lm.fit 線性模型的擬合函數


R語言 lm.fit 位於 stats 包(package)。

說明

這些是 lm 調用的基本計算引擎,用於擬合線性模型。除非有經驗的用戶,否則通常不應直接使用它們。 .lm.fit() 是最裏麵基於 QR 的 C 代碼的 bare-bones 包裝器,glm.fitlsfit 也基於該代碼,適用於更有經驗的用戶。

用法

lm.fit (x, y,    offset = NULL, method = "qr", tol = 1e-7,
       singular.ok = TRUE, ...)

lm.wfit(x, y, w, offset = NULL, method = "qr", tol = 1e-7,
        singular.ok = TRUE, ...)

.lm.fit(x, y, tol = 1e-7)

參數

x

尺寸為 n * p 的設計矩陣。

y

長度為 n 的觀測值向量,或具有 n 行的矩陣。

w

用於 wfit 函數擬合過程的權重向量(長度 n )。加權最小二乘法與權重 w 一起使用,即 sum(w * e^2) 被最小化。

offset

(長度為 n 的數字)。這可用於指定擬合期間要包含在線性預測器中的先驗已知分量。

method

目前僅支持method = "qr"

tol

qr 分解的容忍度。默認值為 1e-7。

singular.ok

合乎邏輯的。如果 FALSE ,奇異模型是一個錯誤。

...

目前被忽視。

細節

如果 y 是矩陣,則 offset 可以是相同維度的數值矩陣,在這種情況下,每一列都應用於 y 的相應列。

帶有組件的 list (適用於 lm.fitlm.wfit )

coefficients

p 矢量

residuals

n 向量或矩陣

fitted.values

n 向量或矩陣

effects

n 正交 single-df 效應向量。其中第一個 rank 對應於非混疊係數,並相應命名。

weights

n 矢量 — 僅適用於 *wfit* 函數。

rank

整數,給出排名

df.residual

殘差自由度

qr

QR 分解,請參閱qr

沒有任何列或非零權重的擬合沒有 effectsqr 分量。

.lm.fit() 返回上述內容的子集,qr 部分展開,加上一個邏輯組件 pivoted 指示底層 QR 算法是否進行了旋轉。

例子

require(utils)

set.seed(129)

n <- 7 ; p <- 2
X <- matrix(rnorm(n * p), n, p) # no intercept!
y <- rnorm(n)
w <- rnorm(n)^2

str(lmw <- lm.wfit(x = X, y = y, w = w))

str(lm. <- lm.fit (x = X, y = y))

## fits w/o intercept:
all.equal(unname(coef(lm(y ~ X-1))),
          unname(coef( lm.fit(X,y))))
all.equal(unname(coef( lm.fit(X,y))),
                 coef(.lm.fit(X,y)))

if(require("microbenchmark")) {
  mb <- microbenchmark(lm(y~X-1), lm.fit(X,y), .lm.fit(X,y))
  print(mb)
  boxplot(mb, notch=TRUE)
}


也可以看看

lm 您應該將其用於線性最小二乘回歸,除非您更了解。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Fitter Functions for Linear Models。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。