R - 初学者水平的加权Logistic回归

时间:2014-04-23 12:18:43

标签: r logistic-regression glm

我正在尝试使用权重在R中进行逻辑回归,但我真的不知道它是如何工作的。当我应用权重时,会发生奇怪的事情并且所有值都出现在1但是我不明白为什么? (我怎么能在点上穿过一条线?) 我尝试计算观测值与预测值的相关系数。此外,我的目标是与" fra"在y轴上,范围从0到1,x轴上的临时值,图中的fra值和回归线(类似于此示例:http://imgur.com/FWevi36) 谢谢!

到目前为止(编写代码):

#Dataframe
temp=c(1,1,2,2,3,4,4,5,5,6,6,7,7,8,8)
fra=c(0.0,0.0,0.0,0.0,0.0,0.0,0.5,0.2,0.2,0.3,0.1,0.3,0.4,0.0,0.5)
bin=c(0,0,0,0,0,0,1,1,1,1,1,1,1,0,1)
test1 <- as.data.frame(cbind(temp,bin,fra))

#Overview                       
plot(test1$temp, test1$bin)
plot(test1$fra)
boxplot(test1$temp ~ test1$bin, horizontal=TRUE)
#Logistic Regression without weight
glmt1 <- glm(test1$bin~test1$temp, family=binomial)
coefficients(summary(glmt1)) 
fit1 <- fitted(glmt1)
#plot
plot(test1$temp, fit1, ylim=range(0,1))
#line should go to points..???
lines(test1$bin, glmt1$fitted, type="l", col="red")

#with weighted
glmt2 <- glm(test1$bin~test1$temp, family=binomial, weights=test1$fra)
coefficients(summary(glmt2)) 
fit2 <- fitted(glmt2)
plot(test1$temp, fit2, ylim=range(0,1))

1 个答案:

答案 0 :(得分:1)

您只对bin == 1的情况给予正面权重。这将删除响应变量中的所有变体(这次你在LHS中有fit1$bin)。这意味着无论temp1$temp

的值是什么,您的模型总是预测1