zoukankan      html  css  js  c++  java
  • R语言在不同样本量下的Little's MCAR检验

    原文链接:http://tecdat.cn/?p=10134


    我进行一个小型仿真,以在不同样本量下测试Little的MCAR检验1。我可以研究线性回归中的异方差。我能够找到一些使用Little's MCAR检验的小样本研究人员的例子,因此我进行了仿真。

    library(BaylorEdPsych)
    library(simglm)
    library(ggplot2)
    library(dplyr)
    library(mice)
    fixed <- ~1 + age + income
    fixed_param <- c(2, 0.3, 1.3)
    cov_param <- list(dist_fun = c('rnorm', 'rnorm'),
                      var_type = c("single", "single"),
                      opts = list(list(mean = 0, sd = 4),
                                  list(mean = 0, sd = 3)))
    ggplot(little.mcar.p, aes(x = n, y = p)) + geom_boxplot() +
      geom_crossbar(aes(ymin = q025, y = q05, ymax = q075), data = summarise(
        group_by(little.mcar.p, n), q025 = quantile(p, .025, na.rm = TRUE),
        q05 = quantile(p, .05, na.rm = TRUE), q075 = quantile(p, .075, na.rm = TRUE)
      )) +
      geom_hline(yintercept = .05) +
      scale_y_continuous(breaks = seq(0, 1, .05), limits = c(0, 1)) +
      labs(x = "Sample size", y = "p-value",
           title = "Little's MCAR test for data that are MCAR",
           subtitle = "2000 replications",
           caption = paste(paste("For the narrow boxes, going from top to bottom, lines",
                                 "represent 7.5th, 5th and 2.5th percentiles of p-values."),
                           "Test maintains nominal error rate across wide range of sample sizes.",
                           sep = "
    "))

    数据是MCAR

    ggplot(little.mcar.p.mar, aes(x = n, y = p)) + geom_boxplot() +
      geom_crossbar(aes(ymin = q925, y = q95, ymax = q975), data = summarise(
        group_by(little.mcar.p.mar, n), q925 = quantile(p, .925, na.rm = TRUE),
        q95 = quantile(p, .95, na.rm = TRUE), q975 = quantile(p, .975, na.rm = TRUE)
      ), linetype = 2) +
      geom_hline(yintercept = .05) +
      scale_y_continuous(breaks = seq(0, 1, .05), limits = c(0, 1)) +
      labs(x = "Sample size", y = "p-value",
           title = "Little's MCAR test for data that are MAR",
           subtitle = "2000 replications",
           caption = paste(paste("For the dashed boxes, going from top to bottom, lines",
                                 "represent 97.5th, 95th and 92.5th percentiles of p-values."),
                           "Test only maintains nominal error rate around sample size of 120.",
                           sep = "
    "))

    数据是MAR

    回归接近完美(没有多重共线性)。

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    [充电]多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作
    [转]架构、框架、模式、模块、组件、插件、控件、中间件的含义
    [网络]网络爬虫
    PHP时间戳和日期转换
    两个input之间有空隙,处理方法
    去除输入框原始效果【原创】
    php做图片上传功能
    PHP获取随机数的函数rand()和mt_rand()
    PHP简单的图片上传
    基于layui的表格异步删除,ajax的简单运用
  • 原文地址:https://www.cnblogs.com/tecdat/p/12205097.html
Copyright © 2011-2022 走看看