2

我有一个已确定系数的逻辑回归模型,我想在 R 中部署。

我知道编写自己的函数来完成它非常简单,但我很好奇是否有一些我缺少的现有功能更简单?

基本上,我希望使用类似于我自己的系数的predict()功能,glm而不是在 R 中拟合模型。

4

2 回答 2

2

不建议这样做,但您始终可以手动更改系数。

iris2 <- iris[, 1:4]; iris2$dep_var <- as.integer(ifelse(iris2$Sepal.Length > 5, 1, 0))
x <- glm(dep_var ~ ., family = binomial(link = logit), iris2)
x$coefficients
# (Intercept)  Sepal.Length   Sepal.Width  Petal.Length   Petal.Width
# -1990.9311682   392.5953392     2.0776581     0.5389770     0.9594286
predict(x, iris2[1, ])
#          1
#   19.52332
x$coefficients['Sepal.Length'] <- 393
predict(x, iris2[1, ])
#        1
# 21.58709

请注意,这可能会与summary(x).

于 2014-03-27T16:15:43.960 回答
2

您可以使用矩阵形式来执行此操作:

logitp_est <- sum(c(1, values) * coefficients)

如果你想要概率,

prob_est <- 1 / (1 + exp(-1 * logitp_est))

或内置plogis()

prob_est <- plogis(logitp_est)

如果要分类:

class_est <- logitp_est > 0
于 2014-03-27T16:20:04.403 回答