誰かが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)
}
正規性検定は、ほとんどの人が考えていることを実行しません。シャピロの検定、アンダーソンダーリング、およびその他は、正規性の仮定に対する帰無仮説検定です。これらは、正規理論の統計手順を使用するかどうかを決定するために使用しないでください。実際、これらはデータアナリストにとって実質的に価値がありません。データが正規分布しているという帰無仮説を棄却することに関心があるのはどのような条件下ですか?通常のテストが正しいことであるという状況に出くわしたことはありません。サンプルサイズが小さい場合は、正規性からの大きな逸脱も検出されません。サンプルサイズが大きい場合は、正規性からのわずかな偏差でもnullが拒否されます。
例えば:
> 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
したがって、これらの両方の場合(二項および対数正規変量)、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)
ここでは、200自由度のt分布を使用しています。qqプロットは、分布が現実の世界で見られる可能性のあるどの分布よりも正規に近いことを示していますが、テストは非常に高い信頼度で正規を棄却します。
正規性に対する有意なテストは、この場合、正規理論の統計を使用するべきではないことを意味しますか?(別のヒント:答えはノーです:))
パッケージ入りもおすすめSnowsPenultimateNormalityTest
です。TeachingDemos
ただし、関数のドキュメントは、テスト自体よりもはるかに役立ちます。テストを使用する前によくお読みください。
SnowsPenultimateNormalityTest
には確かに長所がありますが、 も参照することをお勧めしますqqnorm
。
X <- rlnorm(100)
qqnorm(X)
qqnorm(rnorm(100))
shapiro.test
正規性についてシャピロ・ウィルクス検定を実行する関数 の使用を検討してください。私はそれに満足しています。
library(DnE)
x<-rnorm(1000,0,1)
is.norm(x,10,0.05)
Anderson-Darling 検定も役に立ちます。
library(nortest)
ad.test(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 エラー)。