You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

有限总体分层抽样的误差投影:Python/R工具问询

分层抽样误差投影的Python & R工具方案

Python 实现工具

  • scipy.stats(内置科学计算库):利用其hypergeom类的interval()方法,直接计算超几何分布下的总体误差数置信区间,自动处理边界情况(不会出现超出0或总体规模的结果)。
    示例代码:
    from scipy.stats import hypergeom
    
    # 定义各层参数
    strata_params = [
        {"name": "A", "N": 100, "n": 20, "x": 1},
        {"name": "B", "N": 100, "n": 20, "x": 3},
        {"name": "C", "N": 1000, "n": 30, "x": 4}
    ]
    confidence_level = 0.95
    
    # 批量计算各层上下限
    for param in strata_params:
        lower, upper = hypergeom.interval(confidence_level, param["N"], param["n"], param["x"])
        print(f"{param['name']}层总体误差数上下限: {round(lower)} - {round(upper)}")
    

R 实现工具

  • epiR包:专门用于流行病学统计的第三方包,其中epi.hyper()函数可直接输入分层抽样参数,输出总体误差数的置信区间,完美适配样本量小、误差率为0%/100%的边界场景。
    示例代码:
    # 安装并加载包
    install.packages("epiR")
    library(epiR)
    
    # 定义各层参数
    strata_params <- list(
        A = list(obs = 1, n = 20, N = 100),
        B = list(obs = 3, n = 20, N = 100),
        C = list(obs = 4, n = 30, N = 1000)
    )
    conf_level <- 0.95
    
    # 批量计算各层上下限
    for (name in names(strata_params)) {
        res <- epi.hyper(obs = strata_params[[name]]$obs, 
                        n = strata_params[[name]]$n, 
                        N = strata_params[[name]]$N, 
                        conf.level = conf_level)
        cat(paste0(name, "层总体误差数上下限: ", res$lower, " - ", res$upper, "\n"))
    }
    
  • 若不想安装第三方包,也可使用R内置stats包的qhyper()函数手动计算置信区间,但步骤相对繁琐。

内容的提问来源于stack exchange,提问作者Omi Slash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:57:22