我有一个带有二进制变量[是/否]和连续变量(X)的数据集。我正在尝试建立模型以对[是/否] X进行分类。
根据我的数据集,当X = 0.5时,有48%的观察结果为“是”。但是,我知道当X = 0.5时,“是”的真实概率应该是50%。当我使用逻辑回归创建模型时,X = 0.5!= P [是= 0.5]。
我该如何纠正?如果不能通过正确的点,我猜所有的概率都应该被低估。
只是在我的样本中添加一堆观察值以调整比例是正确的吗?
并不仅限于逻辑回归,LDA,QDA等也很有趣。
我已经搜索了Stack Overflow,但是只找到有关线性回归的主题。
我相信在R(假设您使用的glm
是基数R)中,您只需要
glm(y~I(x-0.5)-1,data=your_data,family=binomial)
将I(x-0.5)
协变量更新为0.5时,-1
抑制了截距(在=时拦截= 0,在x=0.5
->时= 0.5 x=0.5
)。
例如:
set.seed(101)
dd <- data.frame(x=runif(100,0.5,1),y=rbinom(100,size=1,prob=0.7))
m1 <- glm(y~I(x-0.5)-1,data=dd,family=binomial)
predict(m1,type="response",newdata=data.frame(x=0.5)) ## 0.5
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句