例題 看護師がトレーニング前とトレーニング後の排泄ケア時間に関するデータを調査分析
例題
ある病院で、新しい排泄ケアトレーニングプログラムが導入され、その結果として看護師の排泄ケア時間が変化したかどうかを調査します。10人の看護師がトレーニング前とトレーニング後の排泄ケア時間に関するデータを提供しました。以下はデータと帰無仮説・対立仮説です。
トレーニング前のデータX=[28,32,25,30,35,28,29,31,27,33]
トレーニング後のデータY=[24,30,22,28,31,26,27,29,23,32]
帰無仮説 トレーニングプログラムの導入後、看護師の排泄ケア時間に変化がない
対立仮説 トレーニングプログラムの導入後、看護師の排泄ケア時間が減少した
ここでは、母分散が既知であると仮定してZ検定を行う手順に従ってpythonコードを示し、その計算を行い、結果を解釈してください。
Z検定を行うには、母分散が既知であると仮定しているため、Z検定のステップを踏むことができます。以下にPythonコードを示します。
import
numpy as np
from
scipy.stats import norm
#
トレーニング前のデータ
before_training
= np.array([28, 32, 25, 30, 35, 28, 29, 31, 27, 33])
#
トレーニング後のデータ
after_training
= np.array([24, 30, 22, 28, 31, 26, 27, 29, 23, 32])
#
帰無仮説と対立仮説
#
帰無仮説 トレーニングプログラムの導入後、看護師の排泄ケア時間に変化がない
#
対立仮説 トレーニングプログラムの導入後、看護師の排泄ケア時間が減少した
null_hypothesis_mean
= 0 # 帰無仮説の平均の差(変化がない場合)
alternative_hypothesis_mean
= before_training.mean() - after_training.mean() # 対立仮説の平均の差
#
有意水準
alpha
= 0.05
#
Z検定統計量の計算
z_statistic
= (before_training.mean() - after_training.mean() - null_hypothesis_mean) /
(before_training.std() / np.sqrt(len(before_training)))
#
有意水準におけるZ検定の棄却域
critical_value
= norm.ppf(1 - alpha / 2)
#
p値の計算
p_value
= 2 * (1 - norm.cdf(np.abs(z_statistic)))
#
結果の表示
print("Z検定")
print("Z統計量=", z_statistic)
print("p値=", p_value)
#
有意水準との比較
if
np.abs(z_statistic) > critical_value
print("帰無仮説を棄却し、排泄ケア時間が統計的に有意に減少したと結論できます。")
else
print("帰無仮説を採択し、排泄ケア時間に統計的に有意な変化がなかったと結論できます。")
出力結果
Z検定
Z統計量= 2.8782483780053116
p値= 0.003998901522104692
帰無仮説を棄却し、排泄ケア時間が統計的に有意に減少したと結論できます。
このコードでは、帰無仮説と対立仮説に基づいてZ検定統計量を計算し、有意水準における棄却域と比較しています。計算結果から帰無仮説を採択するか棄却するかを判断できます。
ここで用いたZ検定は、母集団の平均値や比率に関する統計的仮説検定を行うための手法の一つです。主に大きなサンプルサイズ(通常はn > 30)を持つ場合に使用されます。Z検定は、標本の平均値や比率が母集団の平均値や比率からどれくらい離れているかを評価します。Z検定の利点は、大きなサンプルサイズの場合に正確な結果が得られることですが、母集団の標準偏差が既知である必要があるという制約があります。そのため、一般的には標本標準偏差を母集団標準偏差の推定値として用いるt検定がより一般的に使用されます。