正規分布であることの検定 Ver. 9

分析・観察して得たデータが 『 正規分布しているかどうかを確かめること 』(1) ,(2)は 統計解析の ステップ 3 である.ステップ 1 は 『 特性が均一の個体を選ぶこと』,ステップ 2 は 『 外れ値を除去すること』になる.

(1) Robert R. Sokal, F. James Rohlf 藤井宏一(訳) 生物統計学 1983 共立出版 P.106

(2) 池田郁男 改訂増補版:統計検定を理解せずに使っている人のために Ⅰ2019 化学と生物 57(8) P.498 

正規分布の検出

正規分布しているかどうかを検定する主なものには,シャピロ・ウィルクス検定,コスモゴロフ・スミルノフ検定,アンダーソン・ダーリング検定などがある.これらの特性を以下に示す.

コスモゴロフ・スミルノフ検定を Python スクリプトで示す

# Python によるコルモゴロフ・スミルノフ検定

import pandas as pd

from scipy.stats import kstest

from openpyxl import load_workbook

# エクセルファイルのパスを指定

file_path = ‘C:/Users/あなたのファイル/Desktop /data.xlsx’

# エクセルファイルの読み込み

df = pd.read_excel(file_path)

# コルモゴロフ・スミルノフ検定の実行

data = df.iloc[:, 0]  # 最初の列を使用

stat, p_value = kstest(data, ‘norm’)

# 検定結果の作成

result_df = pd.DataFrame({

    ‘Test’: [‘Kolmogorov-Smirnov’],

    ‘Statistic’: [stat],

    ‘p-value’: [p_value]

})

# 正規性の判断

if p_value < 0.05:

    conclusion = “データは正規分布に従っていないと判断されます。”

else:

    conclusion = “データは正規分布に従っていると判断されます。”

# 検定結果に判断を追加

result_df[‘Conclusion’] = [conclusion]

# 結果を新しいシートに書き込む

with pd.ExcelWriter(file_path, engine=’openpyxl’, mode=’a’) as writer:

    result_df.to_excel(writer, sheet_name=’KS_Test_Result’, index=False)

print(“コルモゴロフ・スミルノフ検定の結果がエクセルファイルに書き込まれました。”)

●検定結果のエクセル sheet を以下に示す.

まとめ

ステップ 1 『 特性が均一の個体を選ぶ

ステップ 2 『 得られたデータから外れ値を除去する 』

ステップ 3 『 データに対して正規分布であるかの検定をし,データが正規分布をするかどうかを判断する 』

これらの後に統計解析をおこなうこと.

このブログを書いている人

●元●●●大学大学院 ●●研究科 講師  博士(農学)
●生物統計学・情報処理演習を 20 年くらい 担当.
●専門分野 野菜園芸学 生物統計学
・植物組織培養を用いた苗生産
・リアルタイム PCR を用いた遺伝子発現解析
・ドローン撮影画像を用いた識別 AI 構築
・Python・R・エクセル・パワーポイント を用いた統計解析

生物統計学のひとをフォローする
解説