如何通过 CI 获取 svyVGAM 中 svy_vglm 不同可能响应的预期百分比年龄?

问题描述 投票:0回答:1

我希望使用 svyVGAM 的 svy_vglm 函数计算分类结果的调查加权百分比。例如,如果分类变量可以是 A、B 或 C,我只想估计 A、B 和 C 的加权人口水平百分比(带有 CI)。

使用更简单的 svy_glm 可以在二项式模型的响应尺度上获得这些预测值,但通常的函数似乎都无法为分类模型获得这些百分比和 CI。我觉得必须有一些简单的功能或方法来做到这一点,但我找不到任何有效的方法。

用于模型的表示如下,问题是如何从 svy_fit 对象获取每个类别的预期百分比及其 CI:

library(tidyverse)
library(svyVGAM)

set.seed(123)

cat_data <-
  tibble(outcome = sample(c("A", "B", "C"), 1000, replace = TRUE),
         weight = c(rep(2/3, 750), rep(2, 250)))

cat_svy_design <- svydesign(ids = ~1, data = cat_data, weights = cat_data$weight)

cat_svy_fit <- svy_vglm(formula = outcome ~ 1,
                        family = multinomial(refLevel = "A"),
                        design = cat_svy_design)
r statistics survey weighting r-marginaleffects
1个回答
0
投票

您可以像这样使用

predict
获得概率

head(predict(cat_svy_fit$fit,type="response"))

即,使用

$fit
组件,即
vglm
。我认为尚未提供预测的置信区间。

© www.soinside.com 2019 - 2024. All rights reserved.