请问有人能帮我填写下面的R函数吗:
#data is a single vector of decimal values
normally.distributed <- function(data) {
if(data is normal)
return(TRUE)
else
return(NO)
}
请问有人能帮我填写下面的R函数吗:
#data is a single vector of decimal values
normally.distributed <- function(data) {
if(data is normal)
return(TRUE)
else
return(NO)
}
正态性检验并不是大多数人以为的那样。Shapiro检验、Anderson-Darling检验和其他检验都是针对正态分布假设进行的零假设检验。这些检验不能确定是否应该使用正态理论统计程序。实际上,它们对数据分析师几乎没有价值。在什么情况下我们有兴趣拒绝数据符合正态分布的零假设?我从未遇到过需要进行正态性检验的情况。当样本量很小时,即使与正态分布有很大的偏差也无法检测出来,而当你的样本量很大时,即使稍微偏离正态分布也会导致零假设被拒绝。
例如:
> 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
> library(nortest)
> x <- rt(500000,200)
> ad.test(x)
Anderson-Darling normality test
data: x
A = 1.1003, p-value = 0.006975
> qqnorm(x)
这里我们使用自由度为200的t分布。QQ图显示该分布比你在现实世界中可能看到的任何分布更接近于正态分布,但是该检验以非常高的置信度拒绝了正态性。
显著性检验对正态性的拒绝是否意味着我们在这种情况下不应使用正态理论统计学?(另一个提示:答案是否定的 :))
SnowsPenultimateNormalityTest
肯定有其优点,但您可能还想看看qqnorm
。
X <- rlnorm(100)
qqnorm(X)
qqnorm(rnorm(100))
shapiro.test
,它可以执行Shapiro-Wilks正态性检验。我很满意它的表现。library(DnE)
x<-rnorm(1000,0,1)
is.norm(x,10,0.05)
nortest
和 normtest
软件包中的测试有何区别(如Shapiro-Wilk、Anderson-Darling、Jarque-Bera等),这些测试在统计学文献中都非常仔细地描述了吗? - Ben Bolkerlibrary(nortest)
ad.test(data)
library("ggpubr")
library("car")
h <- hist(data, breaks = 10, density = 10, col = "darkgray")
xfit <- seq(min(data), max(data), length = 40)
yfit <- dnorm(xfit, mean = mean(data), sd = sd(data))
yfit <- yfit * diff(h$mids[1:2]) * length(data)
lines(xfit, yfit, col = "black", lwd = 2)
plot(ecdf(data), main="CDF")
lines(ecdf(rnorm(10000)),col="red")
ggdensity(data)
ggqqplot(data)
警告 - 不要盲目应用测试。具备扎实的统计学知识将有助于您了解何时使用哪些测试以及假设检验中假设的重要性。
当你进行测试时,即使零假设为真,你也有可能拒绝它。
请看下面的 R 代码:
p=function(n){
x=rnorm(n,0,1)
s=shapiro.test(x)
s$p.value
}
rep1=replicate(1000,p(5))
rep2=replicate(1000,p(100))
plot(density(rep1))
lines(density(rep2),col="blue")
abline(v=0.05,lty=3)
图表显示,无论样本大小是大还是小,在5%的情况下,您有机会在零假设为真时拒绝它(一种类型I错误)。