R で grubbs のテスターを実行する方法
グラブス検定は、データセット内の外れ値の存在を特定するために使用できる統計検定です。
この検定を使用するには、データ セットがほぼ正規分布を持ち、少なくとも 7 つの観測値が含まれている必要があります。
このチュートリアルでは、R で Grubbs テストを実行してデータセット内の外れ値を検出する方法について説明します。
例: R での Grubbs テスト
R で Grubbs テストを実行するには、 Outliersパッケージのgrubbs.test()関数を使用できます。この関数は次の構文を使用します。
grubbs.test(x、タイプ = 10、反対 = FALSE、両面 = FALSE)
金:
- x:データ値の数値ベクトル
- タイプ: 10 = 最大値が外れ値であるかどうかをテスト、11 = 最小値と最大値が外れ値であるかどうかをテスト、20 = 尾部に 2 つの外れ値があるかどうかをテスト
- 反対:平均との差が最も大きい値ではなく、その逆の値 (最も疑わしい値が最も高い場合は最小値など) をチェックするかどうかを示すロジック。
- 両側:テストを両側として扱うべきかどうかを示す論理値
このテストでは、次の 2 つの仮説を使用します。
H 0 (帰無仮説):データに外れ値はありません。
H A (対立仮説):データに外れ値があります。
次の例は、Grubbs テストを実行して、データ セット内の最大値が外れ値であるかどうかを判断する方法を示しています。
#load Outliers package library(Outliers) #createdata data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40) #perform Grubbs' Test to see if '40' is an outlier grubbs.test(data) # Grubbs test for one outlier # #data:data #G = 2.65990, U = 0.55935, p-value = 0.02398 #alternative hypothesis: highest value 40 is an outlier
検定の検定統計量はG = 2.65990で、対応する p 値はp = 0.02398です。この値は 0.05 未満であるため、帰無仮説は棄却され、最大値 40 は外れ値であると結論付けられます。
代わりに、最小値「5」が外れ値であるかどうかをテストしたい場合は、 opposite=TRUEコマンドを使用できます。
#perform Grubbs' Test to see if '5' is an outlier grubbs.test(data, opposite= TRUE ) # Grubbs test for one outlier # #data:data #G = 1.4879, U = 0.8621, p-value = 1 #alternative hypothesis: lowest value 5 is an outlier
検定統計量はG = 1.4879で、対応する p 値はp = 1です。この値は 0.05 未満ではないため、帰無仮説を棄却できません。最小値「5」が外れ値であると言える十分な証拠はありません。
最後に、データセットの一端に 2 つの大きな値 (40 と 42) があるとします。これら2 つの値が外れ値であるかどうかをテストするには、Grubbs テストを実行してtype=20を指定します。
#create dataset with two large values at one end: 40 and 42 data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40, 42) #perform Grubbs' Test to see if both 40 and 42 are outliers grubbs.test(data, type=20) # Grubbs test for two outliers # #data: data #U = 0.38111, p-value = 0.01195 #alternative hypothesis: highest values 40, 42 are outliers
検定の p 値は0.01195です。この値は 0.05 未満であるため、帰無仮説を棄却し、値 40 と 42 が両方とも外れ値であると言える十分な証拠があると結論付けることができます。
外れ値を処理する方法
Grubbs テストでデータ セット内の外れ値が特定された場合、いくつかのオプションがあります。
1. 値がタイプミスやデータ入力エラーではないことを再確認します。データセット内で外れ値として表示される値は、データ入力時に個人が行った単なるタイプミスである場合があります。さらに決定を下す前に、戻って値が正しく入力されたことを確認してください。
2. 外れ値に新しい値を割り当てます。外れ値がタイプミスまたはデータ入力エラーの結果であることが判明した場合は、データセットの平均や中央値などの新しい値を割り当てることができます。
3. 外れ値を削除します。値が本当に外れ値であり、分析全体に重大な影響を与える場合は、その値を削除することを選択できます。