我正在R中运行以下形式的逻辑回归:
results<-glm(Y~X,family=binomial(link='logit'))
我从中得出估计系数和拟合观测值。
我想知道是否可以使用其他任意固定值来计算不同的。
请注意,我已经尝试更改估计系数results$cofficients<-c(0.9,1.2)
(此处仅为0.9和1.2)并使用函数predict(results,type="response")
,尽管它不起作用,因为它们之间没有区别拟合值。
答案 0 :(得分:3)
更改系数应该这样做。但是,如果您仅使用原始数据依赖预测函数来预测原始数据,如果未传递任何其他数据进行预测(即不使用newdata=something
),则使用模型中的拟合值直接反对。
您可以通过告诉您在预约中使用newdata=your_original_data
来绕过这一点。
一个例子
> dat <- mtcars[1:5,]
> results <- glm(vs ~ mpg, data = dat, family = binomial(link = 'logit'))
Warning message:
glm.fit: fitted probabilities numerically 0 or 1 occurred
> predict(results)
Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout
-23.66411 -23.66411 186.49174 23.03719 -292.19658
> coefficients(results)
(Intercept) mpg
-2475.4823 116.7532
> results$coefficients[1] <- 0
> predict(results) # uses original fitted values
Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout
-23.66411 -23.66411 186.49174 23.03719 -292.19658
> predict(results, newdata = dat)
Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout
2451.818 2451.818 2661.974 2498.519 2183.286