Python でブラウン フォーサイス テストを実行する方法
一元配置分散分析は、 3 つ以上の独立したグループの平均値間に有意差があるかどうかを判断するために使用されます。
一元配置分散分析の仮定の 1 つは、 サンプルの抽出元となる母集団の分散が等しいということです。
これをテストする最も一般的な方法の 1 つは、ブラウン フォーサイス テストを使用することです。これは、次の仮定を使用する統計テストです。
- H 0 :母集団間の分散は等しい。
- H A : 集団間の差異は等しくありません。
検定のp 値が特定の有意水準 (例: α = 0.05) を下回っている場合、帰無仮説は棄却され、異なる母集団間で分散は等しくないと結論付けられます。
このチュートリアルでは、Python でブラウン フォーサイス テストを実行する方法を段階的に説明します。
ステップ 1: データを入力する
研究者が、3 つの異なる肥料が異なるレベルの植物の成長につながるかどうかを知りたいと考えているとします。
彼らは 30 個の異なる植物をランダムに選択し、10 個ずつ 3 つのグループに分け、各グループに異なる肥料を適用します。 1 か月後、各植物の高さを測定します。
次の表は、3 つのグループそれぞれの植物の高さを示しています。
group1 = [7, 14, 14, 13, 12, 9, 6, 14, 12, 8] group2 = [15, 17, 13, 15, 15, 13, 9, 12, 10, 8] group3 = [6, 8, 8, 9, 5, 14, 13, 8, 10, 9]
ステップ 2: データを要約する
ブラウン フォーサイス検定を実行する前に、各グループの植物の測定値の分散を計算できます。
#import numpy import numpy as np #calculate variance of plant measurements in each group print (np. var (group1), np. var (group2), np. var (group3)) 8.69 7.81 7.0
グループ間の分散が異なることがわかりますが、これらの差異が 統計的に有意であるかどうかを判断するには、ブラウン-フォーサイス検定を実行できます。
ステップ 3: ブラウン・フォーサイス検定を実行する
Python でブラウン-フォーサイス検定を実行するには、 scipy.stats.levene()関数を使用して、中心が中央値であることを指定します。
import scipy.stats as stats
stats. levene (group1, group2, group3, center=' median ')
LeveneResult(statistic=0.17981072555205047, pvalue=0.8364205218185946)
結果から次のことがわかります。
- テスト統計: 0.1798
- p値: 0.8364
検定の p 値は 0.05 より大きいことが判明したため、検定の帰無仮説を棄却できませんでした。
グループ間の分散の差は統計的に有意ではありません。
次のステップ
ブラウン・フォーサイス検定の帰無仮説を棄却できなかった場合は、データに対して一元配置分散分析を実行できます。
ただし、帰無仮説を棄却すると、分散が等しいという仮定が満たされていないことになります。この場合、次の 2 つのオプションがあります。
1. とにかく一元配置分散分析を実行します。
一元配置分散分析は、最大分散が最小分散の 4 倍を超えない限り、実際には不等分散に対して堅牢であることがわかります。
上記の例のステップ 2 では、最小分散は 7.0 で、最大分散は 8.69 であることがわかりました。したがって、最大分散と最小分散の比率は 8.69 / 7.0 = 1.24となります。
この値は 4 未満であるため、ブラウン フォーサイス検定で分散が等しくないことが示された場合でも、単純に一元配置分散分析を続行できます。
2. クラスカル・ウォリス検定を実行する
最大分散と最小分散の比が 4 より大きい場合は、代わりにクラスカル ウォリス検定を実行することを選択できます。これは、一元配置 ANOVA と同等のノンパラメトリックとみなされます。
Python でのクラスカル-ウォリス テストの段階的な例は、ここで見つけることができます。