【发布时间】:2013-01-08 14:17:31
【问题描述】:
我需要创建一个没有截距的概率模型。那么,如何从 R 中的概率模型中删除截距?
【问题讨论】:
-
只需在您的公式中添加一个
-1,如:glm(y ~ x1 + x2 - 1, family = binomial(link = "probit"), data = yourdata)这将估计一个没有截距的概率模型。
我需要创建一个没有截距的概率模型。那么,如何从 R 中的概率模型中删除截距?
【问题讨论】:
-1,如:glm(y ~ x1 + x2 - 1, family = binomial(link = "probit"), data = yourdata) 这将估计一个没有截距的概率模型。
您没有说如何您打算拟合概率模型,但如果它使用 R 的公式符号来描述模型,那么您可以提供 + 0 或 - 1 作为一部分抑制截距的公式:
mod <- foo(y ~ 0 + x1 + x2, data = bar)
或
mod <- foo(y ~ x1 + x2 - 1, data = bar)
(当然都使用伪 R 代码 - 替换您的建模函数和数据/变量。)
如果这是glm() 拟合的模型,则类似于:
mod <- glm(y ~ x1 + x2 - 1, data = bar, family = binomial(link = "probit"))
应该这样做(再次酌情替换您的数据和变量名称。)
【讨论】:
另外,如果您有一个现有的公式对象 foo,您可以使用 update 删除截距,如下所示:
foo <- y ~ x1 + x2
bar <- update(foo, ~ . -1)
# bar == y ~ x1 + x2 - 1
【讨论】: