R でクラマー・フォン・ミーゼス検定を実行する方法 (例付き)


Cramer-Von Mises 検定は、サンプルが正規分布に由来するかどうかを判断するために使用されます。

このタイプの検定は、特定のデータセットが正規分布に由来するかどうかを判断するのに役立ちます。これは、回帰ANOVAt 検定など、多くの統計検定で一般的に使用される仮定です。 「その他。

R のgoftestパッケージのcvm.test()関数を使用すると、Cramer-Von Mises テストを簡単に実行できます。

次の例は、この関数を実際に使用する方法を示しています。

例 1: 正規データに対するクラマー・フォン・ミーゼス検定

次のコードは、サンプル サイズ n=100 のデータセットに対して Cramer-Von Mises 検定を実行する方法を示しています。

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a normal distribution
data <- rnorm(100)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 0.078666, p-value = 0.7007

検定の p 値は0.7007であることがわかります。

この値は 0.05 未満ではないため、サンプル データは正規分布した母集団からのものであると想定できます。

標準正規分布からランダムな値を生成するrnorm()関数を使用してサンプル データを生成したため、この結果は驚くべきことではありません。

関連: R の dnorm、pnorm、qnorm、および rnorm のガイド

ヒストグラムを作成して、サンプル データが正規分布していることを視覚的に検証することもできます。

 hist(data, col=' steelblue ') 

R の正規性に関する Shapiro-Wilk 検定

分布は、正規分布データの典型的な、分布の中心にピークを持つ非常に釣鐘型であることがわかります。

例 2: 非正規データに対するクラマー・フォン・ミーゼス検定

次のコードは、値がポアソン分布からランダムに生成されるサンプル サイズ 100 のデータセットに対して Cramer-Von Mises 検定を実行する方法を示しています。

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a Poisson distribution
data <- rpois(n=100, lambda=3)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 27.96, p-value < 2.2e-16

検定の p 値は非常に低いことがわかります。

この値は 0.05 未満であるため、サンプル データが正規分布した母集団からのものではないと言える十分な証拠があります。

ポアソン分布からランダムな値を生成するrpois()関数を使用してサンプル データを生成したため、この結果は驚くべきことではありません。

関連: R の dpois、ppois、qpois、および rpois のガイド

ヒストグラムを作成して、サンプル データが正規分布していないことを視覚的に確認することもできます。

 hist(data, col=' coral2 ') 

R の Shapiro-Wilk 検定ヒストグラム

分布は右に歪んでいて、正規分布に伴う典型的な「釣鐘型」ではないことがわかります。

したがって、ヒストグラムは Cramer-Von Mises 検定の結果と一致し、サンプル データが正規分布からのものではないことを確認します。

非正規データをどうするか

特定のデータセットが正規分布していない場合は、多くの場合、次のいずれかの変換を実行して、より正規化することができます。

1. 対数変換:応答変数を y からlog(y)に変換します。

2. 平方根変換:応答変数を y から√yに変換します。

3. 立方根変換:応答変数を y からy 1/3に変換します。

これらの変換を実行することにより、応答変数は通常、正規分布に近似します。

これらの変換を実際に実行する方法については、 このチュートリアルを参照してください。

追加リソース

次のチュートリアルでは、R で他の正規性テストを実行する方法について説明します。

R で Shapiro-Wilk テストを実行する方法
R でアンダーソン・ダーリング検定を実行する方法
R でコルモゴロフ・スミルノフ検定を実行する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です