当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。