r - 使用 cbind 从分组二项式 glm 进行似然计算的问题
问题描述
使用 cbind 时与 glm 拟合的二项式模型的似然计算是否存在问题,或者我遗漏了什么。请参阅下面的可重现示例:
set.seed(123)
n <- 100
sze <- 5
x <- rnorm(n, 0, 1)
p <- binomial()$linkinv(x)
y <- rbinom(n, sze, p)
tot <- rep(sze, n)
# Fit binomial model on grouped data
modA <- glm(cbind(y, tot - y) ~ x, family = binomial())
modA
# Ungroup the bernoulli trials
xy <- lapply(1:n, function(i) cbind(c(rep(1,y[i]), rep(0,sze-y[i])), c(rep(x[i], sze))))
xy <- do.call(rbind, xy)
# Fit binomial model on ungrouped 0/1 data
modB <- glm(xy[,1] ~ xy[,2], family = binomial())
modB
logLik(modA)
logLik(modB)
如果我没记错的话,两个模型应该是一样的。系数估计值完全相同。但是,对数似然是不同的。
解决方案
推荐阅读
- javascript - canvas.drawImage 裁剪图像
- sql-server - 无法通过powershell连接到RDS SQL Server
- json - 如何根据传递的 eventType 的值在响应的 Json 中具有动态属性名称
- progressive-web-apps - 如何使用 Laravel Mix Workbox 使网站离线可用
- php - 字符串没有以正确的格式组合
- asp.net-mvc - ASP.NET MVC 5 - 当前线程可以在单个 http 请求期间更改吗?
- javascript - 如何向 intl.formatMessage 添加数据?
- node.js - 将 NestJ 部署到 ElasticBeanstalk
- javascript - 在 JS 中操作嵌套对象
- java - 不要从特定的源文件夹编译 java 文件