【问题标题】:How to automatise Kolmogorov - Smirnoff tests using R?如何使用 R 自动化 Kolmogorov - Smirnov 测试?
【发布时间】:2012-10-14 04:08:44
【问题描述】:

可以自动化(使用循环、函数或其他东西)吗?目前我正在“手动”完成所有工作(换句话说,一步一步),这对我来说非常烦人。我使用 kstest()。

考虑原假设 H0 : X ∼ N(0, 1)。

对于不同的 µ 值(例如 µ = 0, 0.25, 0.50, 0.75, 1,)和不同的 n 值(例如 n = 25, 50, 100),请执行以下步骤:

  • 从 N(µ, 1) 生成 1000 个样本。
  • 对于每个样本,检验假设 H0:X ∼ N(0, 1)。
  • 获取每种情况下的拒绝频率。
  • 检查当原假设为真时水平是否近似 (例如,取 α = 0.10, 0.05, 0.01)。

非常感谢。

【问题讨论】:

  • 听起来您可能想研究 ?replicate 下的示例以及同一帮助页面中的各种应用功能。您也许可以“矢量化”并避免大量循环。

标签: r loops automation statistics


【解决方案1】:

我写了一个函数来获取接受原假设的数字的比例,当你输入$\mu$、n和$\alpha$时:

library(stats)
anxo <- function(mu, n, alpha){
  prop <- 0
  for (i in 1:n) {
     x <- rnorm(1000, mu, 1)
     if (ks.test(x, pnorm)$p.value > alpha) {
     prop <- prop + 1
     }
  }
  return(prop/n)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-04
    • 2018-06-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 2014-12-30
    • 2011-12-15
    • 1970-01-01
    相关资源
    最近更新 更多