例題 ある排泄ケアの介入が患者の快適さに影響を与えるかどうかを調査する
ある排泄ケアの介入が患者の快適さに影響を与えるかどうかを調査するケースを考えます。次の2つの標本から得られたデータを用いたコルモゴロフ・スミルノフ検定を実施してください。
仮想的なデータ
A群(新しい介入あり)
30人の患者の快適さを示すスコア
B群(現行の介入のみ)
25人の患者の快適さを示すスコア
import
numpy as np
from
scipy.stats import ks_2samp
#
仮想的なデータ生成
np.random.seed(42)
group_a_scores
= np.random.normal(loc=75, scale=10, size=30)
group_b_scores
= np.random.normal(loc=70, scale=12, size=25)
#
コルモゴロフ・スミルノフ検定
statistic,
p_value = ks_2samp(group_a_scores, group_b_scores)
#
結果の表示
print("統計量 (KS統計量) ",
statistic)
print("p値 ", p_value)
#
有意水準を設定
alpha
= 0.05
#
p値の有意水準との比較
if
p_value < alpha
print("帰無仮説を棄却 介入が快適さに影響を与えている可能性があります。")
else
print("帰無仮説を採択 介入が快適さに影響を与えているとは言えません。")
出力結果
統計量 (KS統計量) 0.2866666666666667
p値
0.17563258888452948
帰無仮説を採択 介入が快適さに影響を与えているとは言えません。
なお、Pythonコート中のnp.random.seed(42) は、NumPy の乱数生成器のシードを設定する関数です。この関数でシード値を指定すると、複数回実行しても同じ乱数のシーケンスが生成されます。また、NumPy(Numerical Python の略)のメソッドである np.random.normal は、正規分布に従う乱数を生成します。引数は、loc 平均、scale 標準偏差、 size 生成する乱数の数です。
この例題では、A群(新しい介入あり)とB群(現行の介入のみ)の患者の快適さを示すスコアの分布が同じかどうかを検定しています。帰無仮説は、「A群とB群の分布は同じである」というものであり、p値が有意水準より小さい場合、帰無仮説を棄却します。p値が有意水準より大きい場合、帰無仮説を採択します。