sim1 <- function(n, family=gaussian(), ...) {
m <- lava::lvm() |>
lava::distribution(~y, value=lava::binomial.lvm()) |>
lava::regression('a', value=function(l) l) |>
lava::regression('y', value=function(a,l) a + l)
if (family$family=="binomial")
lava::distribution(m, ~a) <- lava::binomial.lvm()
lava::sim(m, n)
}
library(splines)
f <- binomial()
d <- sim1(1e4, family=f)
e <- alean(
response_model=learner_glm(y ~ a + bs(l, df=3), family=binomial),
exposure_model=learner_glm(a ~ bs(l, df=3), family=f),
data=d,
link = "logit", mc.cores=1, nfolds=1
)
e
e <- alean(response_model=learner_glm(y ~ a + l, family=binomial),
exposure_model=learner_glm(a ~ l),
data=d,
link = "logit", mc.cores=1, nfolds=1)
e
Run the code above in your browser using DataLab