📜  将线性模型拟合到 R 编程中的数据集 – glm()函数(1)

📅  最后修改于: 2023-12-03 15:09:38.754000             🧑  作者: Mango

将线性模型拟合到 R 编程中的数据集 – glm()函数

glm()函数是一个广义线性模型拟合函数,可以用来拟合线性回归、逻辑回归、Poisson 回归等模型,是 R 数据科学中的重要函数之一。

语法
glm(formula, family = gaussian, data, weights, subset, 
    na.action, start = NULL, etastart, mustart, offset, 
    control = list(), model = TRUE, method = "glm.fit", 
    x = FALSE, y = TRUE, singular.ok = TRUE, contrasts = NULL, 
    ...)

其中:

  • formula:定义线性模型的公式,例如 y ~ x1 + x2
  • family:指定用于拟合的误差分布类型,例如 binomial 表示二项逻辑回归;
  • data:指定拟合模型所用的数据集;
  • weights:设定每个观测的权重,例如样本抽样时的分层或概率加权;
  • subset:指定用于拟合模型的子集;
  • na.action:指定用于处理缺失值的方法;
  • start:设置参数的起始值,可以自动估算;
  • control:设定拟合过程的控制参数;
  • model:是否返回模型对象;
  • method:设定用于拟合的方法;
  • xy:指定数据集中的自变量和因变量;
  • offset:设置一些已知的系数,例如摄入量或环境因素;
  • contrasts:指定对类别变量使用的对比矩阵;
  • singular.ok:设定是否允许出现奇异拟合的情况;
  • :其他选项。
使用示例
线性回归
# 导入数据集
data(mtcars)

# 线性回归拟合
fit <- glm(mpg ~ wt + cyl, data = mtcars, family = gaussian())

# 打印拟合结果
summary(fit)
二项逻辑回归
# 导入数据集
data(iris)

# 设定一个二元响应变量
iris$y <- ifelse(iris$Species == "versicolor", 1, 0)

# 逻辑回归拟合
fit <- glm(y ~ Petal.Length + Petal.Width, data = iris, family = binomial())

# 打印拟合结果
summary(fit)
Poisson 回归
# 导入数据集
data(faithful)

# Poisson 回归拟合
fit <- glm(eruptions ~ waiting, data = faithful, family = poisson())

# 打印拟合结果
summary(fit)
总结

glm()是一个非常充实且常用的函数,可以帮助 R 用户拟合不同类型的广义线性模型。在实际应用中,可以针对数据集的特点选择对应的拟合模型和参数,并利用拟合结果进行数据分析和预测。