SciPy stats.normaltest 関数

Lakshay Kapoor 2023年1月30日
  1. scipy.stats.normaltest 関数
  2. scipy.stats.normaltest 関数 numpy.linspace() を使用
  3. ランダムデータを使用した scipy.stats.normaltest 関数
SciPy stats.normaltest 関数

統計の正規性検定は、特定のデータセットの確率変数が正規分布する方法を計算するのに役立ちます。また、このテストは、正規分布によって構造化された特定のデータセットがどれだけ適切かを予測するために使用されます。

scipy.stats.normaltest 関数

SciPy ライブラリの scipy.stats.normaltest 関数は、特定のサンプル値がデータセットの正規分布と異なるかどうかを確認するために使用されます。この関数は、データのいくつかの特性に違いがあるかどうかもチェックします。このプロセスは、帰無仮説としても知られています。この関数は、scipy.stats.normaltest(a, axis, nan_policy) として定義されています。

以下は、scipy.stats.normaltest 関数のパラメーターです。

a(配列) テストする必要のあるサンプルデータを含む入力配列を定義します。
axis (int) 関数がサンプルデータのテストを実行する軸を定義します。デフォルト値は 0 です。つまり、関数は配列全体のテストを計算します。
nan_policy 入力データに NaN 値がある場合の対処方法を決定します。パラメータには、propagateraiseomit の 3つの決定パラメータがあります。propagate は単に NaN 値を返し、raise はエラーを返し、omit は単に NaN 値を無視し、関数は計算を続行します。これらの決定パラメーターは、一重引用符''で定義されます。また、デフォルトは propagate に設定されています。

a(配列) パラメーターを除くすべてのパラメーターはオプションです。つまり、scipy.stats.normaltest 関数を使用している間、毎回それらを定義する必要はありません。

scipy.stats.normaltest 関数 numpy.linspace() を使用

NumPy ライブラリの linespace() 関数は、等間隔のランダムな数値シーケンスを作成するのに役立ちます。

from scipy.stats import normaltest
import numpy as np
import pylab as p

a = np.linspace(-10, 10, 2000)
b = 1 / (np.sqrt(2 * np.pi)) * np.exp(-0.8 * (a) ** 2)

p.plot(a, b, "*")

print("Normal test of the data = \n ", normaltest(b))

出力:

scipy stats normaltest

ランダムデータを使用した scipy.stats.normaltest 関数

このメソッドでは、NumPy ライブラリの np.random.normal 関数が使用されます。この関数は、実際にはガウス分布の一部であるランダムな値で構成される、指定された形状とサイズの配列を作成するのに役立ちます。

from scipy.stats import normaltest
import numpy as np

n = np.random.normal(0, 10, 10000)

print("N : ", n)

print("Normal test for input data : ", normaltest(n))

出力:

N :  [ 3.66175422  6.36095281 -0.84266502 ... -3.8817569   2.72610919
  1.80849087]
Normal test for input data :  NormaltestResult(statistic=4.626780379099072, pvalue=0.09892530688176408)
著者: Lakshay Kapoor
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

関連記事 - SciPy Stats