Cod*_*Guy 56 r normal-distribution
有人可以帮我填写R中的以下功能:
#data is a single vector of decimal values
normally.distributed <- function(data) {
if(data is normal)
return(TRUE)
else
return(NO)
}
Run Code Online (Sandbox Code Playgroud)
Ian*_*ows 181
正态性测试并不像大多数人认为的那样做.夏皮罗的测试,安德森达林和其他人都是零假设检验,反对正常假设.这些不应该用于确定是否使用正常的理论统计程序.事实上,它们对数据分析师几乎没有任何价值.在什么条件下我们有兴趣拒绝数据正态分布的零假设?我从来没有遇到过正常测试是正确的事情.当样本量很小时,甚至没有检测到与正常性的偏差,当样本量很大时,即使与正常性的最小偏差也会导致被拒绝的空值.
例如:
> set.seed(100)
> x <- rbinom(15,5,.6)
> shapiro.test(x)
Shapiro-Wilk normality test
data: x
W = 0.8816, p-value = 0.0502
> x <- rlnorm(20,0,.4)
> shapiro.test(x)
Shapiro-Wilk normality test
data: x
W = 0.9405, p-value = 0.2453
Run Code Online (Sandbox Code Playgroud)
因此,在这两种情况下(二项式和对数正态变量),p值> 0.05导致无法拒绝空(数据是正常的).这是否意味着我们得出结论数据是正常的?(提示:答案是否定的).不拒绝与接受不是一回事.这是假设测试101.
但是更大的样本量呢?让我们那里分布的情况非常接近正常.
> library(nortest)
> x <- rt(500000,200)
> ad.test(x)
Anderson-Darling normality test
data: x
A = 1.1003, p-value = 0.006975
> qqnorm(x)
Run Code Online (Sandbox Code Playgroud)

在这里,我们使用具有200个自由度的t分布.qq图显示分布比您在现实世界中可能看到的任何分布更接近正常,但是测试以非常高的置信度拒绝正态性.
对正态性的重大检验是否意味着在这种情况下我们不应该使用正态理论统计量?(另一个提示:答案是否:))
42-*_*42- 12
SnowsPenultimateNormalityTest当然有其优点,但你可能也想看看qqnorm.
X <- rlnorm(100)
qqnorm(X)
qqnorm(rnorm(100))
Run Code Online (Sandbox Code Playgroud)
考虑使用函数shapiro.test,该函数执行 Shapiro-Wilks 正态性检验。我对此很满意。
| 归档时间: |
|
| 查看次数: |
97941 次 |
| 最近记录: |