首页 > 解决方案 > 为什么随机效应估计器不正确

问题描述

我正在尝试使用二项式数据模拟 glmmLasso。

但随机效应估计器与我给出的 5 不同。

我的代码有问题吗?

如果不是,为什么随机效应会这样显示。

makedata <- function(I, J, p, sigmaB){
  N <- I*J
  # fixed effect generation
  beta0 <- runif(1, 0, 1)
  beta <- sort(runif(p, 0, 1))
  # x generation
  x <- matrix(runif(N*p, -1, 1), N, p)
  # random effect generation
  b0 <- rep(rnorm(I, 0, sigmaB), each=J)
  # group
  group <- as.factor(rep(1:I, each = J))
  
  # y generation
  k <- exp(-(beta0 + x %*% beta + b0))
  y <- rbinom(n = length(k), size = 1, prob = (1/(1+k)))
  
  #standardization
  sx <- scale(x, center = TRUE, scale = TRUE)
  
  simuldata <- data.frame(y = y, x = sx, group)
  
  res <- list(simuldata=simuldata)
    
  return(res)
}

# I : number of groups
I <- 20
# J : number of observation in group
J <- 10
# p : number of variables
p <- 20
# sigmaB : sd of random effect b0
sigmaB <- 5

set.seed(231233)

simdata <- makedata(I, J, p, sigmaB)

lam <- 10
xnam <- paste("x", 1:p, sep=".")
fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))

glmm <- glmmLasso(fmla, rnd = list(group=~1), data = simdata, lambda = lam, control = list(scale = T, center = T))
summary(glmm)

标签: rmixed-models

解决方案


推荐阅读