Python で多変量正規性テストを実行する方法


単一の変数が正規分布しているかどうかをテストしたい場合は、次のように作成できます。   QQ プロットで分布を視覚化することも、 アンダーソン ダーリング テストハルケ ベラ テストなどの正式な統計テストを実行することもできます

ただし、複数の変数がグループとして正規分布しているかどうかをテストしたい場合は、多変量正規性テストを実行する必要があります。

このチュートリアルでは、Python で特定のデータセットに対して Henze-Zirkler 多変量正規性テストを実行する方法を説明します。

関連:多変量コンテキストで外れ値を特定したい場合は、 マハラノビス距離を使用できます

例: Python での Henze-Zirkler 多変量正規性テスト

Henze-Zirkler 多変量正規性検定は、変数のグループが多変量正規分布に従うかどうかを判定します。検定の帰無仮説と対立仮説は次のとおりです。

H 0 (null): 変数は多変量正規分布に従います。

H a (代替): 変数は多変量正規分布に従いません

このテストを Python で実行するには、ペンギン ライブラリのmultivariate_normality()関数を使用できます。

まず、ペンギンをインストールする必要があります。

 pip install penguin

次に、 multivariate_normality()関数をインポートし、それを使用して、特定のデータセットに対して多変量正規性テストを実行できます。

 #import necessary packages
from penguin import multivariate_normality
import pandas as pd
import numpy as np

#create a dataset with three variables x1, x2, and x3
df = pd.DataFrame({'x1':np.random.normal(size= 50 ),
                   'x2': np.random.normal(size= 50 ),
                   'x3': np.random.normal(size= 50 )})

#perform the Henze-Zirkler Multivariate Normality Test
multivariate_normality(df, alpha= .05 )

HZResults(hz=0.5956866563391165, pval=0.6461804077893423, normal=True)

テスト結果は次のとおりです。

  • 検定統計量 Hz: 0.59569
  • p値: 0.64618

検定の p 値は指定したアルファ値 0.05 以上であるため、帰無仮説を棄却できません。データセットは多変量正規分布に従うと仮定できます。

関連: Henze-Zirkler テストが実際の医療アプリケーションでどのように使用されているかについては、 この研究論文をご覧ください。

コメントを追加する

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