的OP写道:
我如何纠正呢?我想所有的概率都应该稍微低估,如果它没有通过正确的观点。
这是不正确的。低估某些价值(如拦截)并高估其他价值是完全可能的。
一个例子以下的情况:
真正的概率:
set.seed(444)
true_prob <- function(x) {
# logit probabilities
lp <- (x - 0.5)
# true probabilities
p <- 1/(1 + exp(-lp))
p
}
true_prob(x = 0.5)
[1] 0.5
但是,如果您模拟数据和拟合模型,拦截可能被低估和其他价值高估:
n <- 100
# simulated predictor
x <- runif(n, 0, 1)
probs <- true_prob(x)
# simulated binary response
y <- as.numeric(runif(n) < probs)
现在拟合模型并比较真实概率与合适概率:
> true_prob(0.5)
[1] 0.5
> predict(m, newdata = data.frame(x = 0.5), type = "response")
1
0.479328
> true_prob(2)
[1] 0.8175745
> predict(m, newdata = data.frame(x = 2), type = "response")
1
0.8665702
因此,在这个例子中,模型低估了在x = 0.5和x = 2时
我尝试这样高估,但它给了其结果是P [是= 0.5]当X约0.55。此外,X开始时高于P [是],稍后“开启”。我知道P [是]应该总是高于X,除非X = 0.5。 – MLEN
这是否可以这样做,因为X只取0.5和1之间的一个值?将尝试明天和我的代码获取一部分数据。 – MLEN
看起来很奇怪。我看不出'X'的范围会与它有什么关系。 [mcve]肯定会有用。 –