なろう分析記録

『小説家になろう』をふくめ『ネット小説投稿サイト』を分析する。コード置き場,主にPython,javascript,たまに創作。

Pythonでデータの正規性を確認するサンプルコード

データの正規性を確認する

様々な統計学的な検定において、解析対象データが正規性のあるもの(パラメトリック)か、非正規(ノンパラメトリック)なものでは、適切な検定方法がことなるため、最初にデータの正規性を確認する必要があります。
そこで今回は、簡単にデータの正規性を確認するためのサンプルコードをご紹介したいと思います。

f:id:karupoimou:20190831185529p:plain:w400
正規性の確認

データの正規性を確認するサンプルコード

import numpy as np 
from numpy.random import *
from scipy import stats
import pandas as pd
import matplotlib.pyplot as plt

############ 検証データの準備 #############

#Pandasでエクセルからリストを持ってくる場合
df = pd.read_excel("data.xlsx")#読み込みxlsxファイル指定
excel_list = df["length"]#ここで列名を指定する

#numpyで生成
normal = randn(1000)#正規分布に従う乱数
randam = rand(1000)#非正規なただの乱数

############ 正規性確認の関数 #############

def check_norm(x):
    plt.hist(x, bins=100)#ヒストグラム表示

    plt.pause(.01)

    stats.probplot(x, dist="norm", plot=plt)#QQプロット表示
    plt.pause(.01)

    p=stats.shapiro(x)#シャピロウィルク検定
    print(p)

###### 確認したいリスト名を引数に指定 #####

check_norm(excel_list)
check_norm(normal)
check_norm(randam)

出力例

f:id:karupoimou:20190831185650p:plain
正規性の無いデータ

f:id:karupoimou:20190831185723p:plain
正規性のあるデータ

f:id:karupoimou:20190831185529p:plain:w400
正規性の無いデータ

参考にしたページ

note.mu
www.ie-kau.net