【发布时间】:2011-05-26 14:10:42
【问题描述】:
我有一个非常简单的问题,即在 R 中将模拟数据与概率模型一起使用。我用来生成数据然后使用该数据运行概率模型的任何方法都会返回关于完美拟合的警告:具体而言:
Warning message:
In glm.fit(x = X, y = Y, weights = weights, start = start, etastart = etastart, :
fitted probabilities numerically 0 or 1 occurred
是否有某种方法可以为这种类型的模型生成不会出现此错误的数据?每当我尝试使用带有概率的 glm() 命令时,都会收到警告。我已经尝试了大量不同的 set.seed() 值,但每个值仍然返回警告。我也尝试了几种不同的方法(和值),但都没有奏效。这是示例代码:
n <- 1000
set.seed(1211)
b.true1 <- c(-1, 2, .8)
X1 <- cbind(rnorm(n, 1.5, 2), rnorm(n, -2, 1.3))
eps.t1 <- rnorm(n)
y.star1 <- b.true1[1] + X1%*%b.true1[2:3] + eps.t1
y1 <- ifelse(y.star1<=0, 0, 1)
prob2 <- glm(y1~X1, family=binomial(link="probit"))
所以这两个问题是:
这应该是一个主要问题吗?我知道这可能会使标准误差过大,但我不知道我是否仍然可以使用给出警告的模型的结果。
有没有办法为概率模型生成样本数据而不会收到此警告?
模拟数据用于测试复杂的对数似然函数,我需要确保正确编码。如果这些警告导致概率结果无效,那么使用这些数据来测试似然函数将没有任何好处!
非常感谢您的帮助!
【问题讨论】:
-
这个更适合crossvalidated.com
标签: r statistics