在 R 上创建柯西分布
Creating a Cauchy Distribution on R
我正在做 的 c) 部分,这需要 Cauchy 分布。这是我的尝试:
counter <- 0
slopes <- c()
while(counter < 1000) {
xvals <- runif(n = 100, min = -1, max = 1)
evals <- rcauchy(100)
y <- 5 + 3 * xvals + evals
fit <- lm(y ~ xvals)
slopes <- c(slopes, fit$coefficients[[2]])
counter <- sum(counter, 1)
}
mean(slopes)
print(evals)
plot(evals)
然而,我得到了一些非常奇怪的结果,我怀疑它们是否正确:
我也试过设置 evals <- (x, location = 0, scale = 1, log = FALSE) 但这不起作用。我只是不明白 dcauchy 和 rcauchy 之间的区别,以及如何让错误成为 Cauchy 分布。谁能解释奇怪的结果?
如评论中所述,您的代码正在执行 "right thing",但是您可能需要调整您对尾部发生的事情的重要性的直觉
至于功能的区别:
rcauchy
从 Cauchy 分布中抽取随机值
dcauchy
是 Cauchy 分布的“probability density function”
有许多遵循此约定的相关代码集,rnorm
和 dnorm
用于正态分布,但您可以查看 https://stats.stackexchange.com/q/157662/17060 以获得更多关于差异的评论
我正在做
counter <- 0
slopes <- c()
while(counter < 1000) {
xvals <- runif(n = 100, min = -1, max = 1)
evals <- rcauchy(100)
y <- 5 + 3 * xvals + evals
fit <- lm(y ~ xvals)
slopes <- c(slopes, fit$coefficients[[2]])
counter <- sum(counter, 1)
}
mean(slopes)
print(evals)
plot(evals)
然而,我得到了一些非常奇怪的结果,我怀疑它们是否正确:
我也试过设置 evals <- (x, location = 0, scale = 1, log = FALSE) 但这不起作用。我只是不明白 dcauchy 和 rcauchy 之间的区别,以及如何让错误成为 Cauchy 分布。谁能解释奇怪的结果?
如评论中所述,您的代码正在执行 "right thing",但是您可能需要调整您对尾部发生的事情的重要性的直觉
至于功能的区别:
rcauchy
从 Cauchy 分布中抽取随机值dcauchy
是 Cauchy 分布的“probability density function”
有许多遵循此约定的相关代码集,rnorm
和 dnorm
用于正态分布,但您可以查看 https://stats.stackexchange.com/q/157662/17060 以获得更多关于差异的评论