如果您查看 R 帮助文档,您会注意到该函数没有family参数lm。根据定义,lmR 中的模型(普通线性回归)使用普通最小二乘回归 (OLS) 进行拟合,该回归假定模型的误差项是正态分布的(即family = gaussian),均值为零且具有共同方差。您不能lm使用其他链接功能运行模型(还有其他功能可以做到这一点,但如果您愿意,您就是不能使用lm)。实际上,当您尝试运行lm上面提供的代码时,R 会生成如下警告:
> > Warning message: In lm.fit(x, y, offset = offset, singular.ok =
> > singular.ok, ...) : extra argument ‘family’ is disregarded.
glm另一方面,当您使用 拟合模型时,您使用 logit 链接函数指定模型中的误差项是二项式的。这实质上限制了您的模型,使其假设没有恒定的误差方差,并且假设每个观察的误差项只能为 0 或 1。当您使用时,lm您没有做出这样的假设,而是您的拟合模型假设您的错误可以在实数线上取任何值。换句话说,是(假设误差项是正常的)的lm一种特殊情况。glm您完全有可能使用lm而不是得到一个很好的近似值,glm但它可能并非没有问题。例如,您的lm模型中的任何内容都不会阻止您的预测值位于外部y∈[0,1]. 那么,例如,您将如何处理 1.05 的预测值(或者甚至更棘手的 0.5)?通常选择最能描述您的数据的模型还有很多其他原因,而不是使用简单的线性模型,而不是我在这里重新散列它们,您可以在过去的帖子中阅读它们,例如这个,这个,或者也许这一个。
当然,如果您愿意,您始终可以使用线性模型——这取决于您在预测中需要有多精确,以及使用可能存在缺陷的预测或估计的后果是什么。