例題 看護師の排泄ケア時間と患者の回復時間の母相関係数の95%信頼区間を求めるpythonコード
例題
ある病院で行われた排泄ケアに関する調査で、看護師の1週間あたりの排泄ケア時間(分)と患者の回復時間(日)のデータが得られました。以下は10人の患者に対するデータです。看護師の排泄ケア時間は、[28,32,25,30,35,28,29,31,27,33]であり、患者の回復時間 [5,4,7,3,6,5,6,4,8,3]でした。
このデータを使用して、看護師の排泄ケア時間と患者の回復時間の母相関係数の95%信頼区間を求めるpythonコードを示して、その計算結果を解釈してください。
母相関係数の95%信頼区間を求めるためには、SciPyライブラリなどを使用してPearsonの相関係数を計算し、その信頼区間を得ることができます。以下は、Pythonコードの例です。
import numpy as np
from scipy import stats
# データセット
nurse_care_time =
np.array([28, 32, 25, 30, 35, 28, 29, 31, 27, 33])
patient_recovery_time =
np.array([5, 4, 7, 3, 6, 5, 6, 4, 8, 3])
# 相関係数の計算
correlation_coefficient =
np.corrcoef(nurse_care_time, patient_recovery_time)[0, 1]
# ブートストラップ法による相関係数の95%信頼区間を計算
num_simulations = 10000
bootstrap_correlations = []
for _ in
range(num_simulations)
# データのブートストラップサンプリング
nurse_sample =
np.random.choice(nurse_care_time, size=len(nurse_care_time), replace=True)
patient_sample =
np.random.choice(patient_recovery_time, size=len(patient_recovery_time),
replace=True)
# ブートストラップサンプルでの相関係数の計算
bootstrap_correlation =
np.corrcoef(nurse_sample, patient_sample)[0, 1]
bootstrap_correlations.append(bootstrap_correlation)
# 信頼区間の計算
confidence_interval =
np.percentile(bootstrap_correlations, [2.5, 97.5])
# 結果の表示
print("母相関係数の95%信頼区間=", confidence_interval)
出力結果
母相関係数の95%信頼区間=
[-0.62865796 0.64481084]
このコードでは、まず元のデータから計算した相関係数を求め、その後、ブートストラップ法を使用して相関係数の95%信頼区間を計算しています。計算結果の解釈として、結果が (-0.628, 0.644) の場合、看護師の排泄ケア時間と患者の回復時間の母相関係数は95%の確率で-0.628から0.644の間に存在すると推定されます。
これを、一般的な方法で、母相関係数の95%信頼区間を求めるには、通常のt分布を使用します。
import
numpy as np
from
scipy import stats
#
データセット
nurse_care_time
= np.array([28, 32, 25, 30, 35, 28, 29, 31, 27, 33])
patient_recovery_time
= np.array([5, 4, 7, 3, 6, 5, 6, 4, 8, 3])
#
相関係数の計算
correlation_coefficient
= np.corrcoef(nurse_care_time, patient_recovery_time)[0, 1]
#
要素数
n
= len(nurse_care_time)
#
自由度
degrees_of_freedom
= n - 2
#
t分布に基づく信頼区間の計算
t_critical
= stats.t.ppf(0.975, degrees_of_freedom)
standard_error
= np.sqrt((1 - correlation_coefficient**2) / degrees_of_freedom)
margin_of_error
= t_critical * standard_error
confidence_interval
= (correlation_coefficient - margin_of_error, correlation_coefficient +
margin_of_error)
# 結果の表示
print("母相関係数の95%信頼区間=", confidence_interval)
出力結果
母相関係数の95%信頼区間=
(-1.2203841515886518, 0.16438832992639774)
このコードでは、まず元のデータから計算した相関係数を求め、その後、t分布に基づく95%信頼区間を計算しています。計算結果の解釈として、結果が (-1.220, 0.164)
の場合、看護師の排泄ケア時間と患者の回復時間の母相関係数は95%の確率で-1.220から0.164の間に存在すると推定されます。
以上のことから、ブートストラップ法とt分布を用いた一般的な方法では、母相関係数の95%信頼区間に大きな相違があります。そこで、統計的な結果だけでなく、確定的な結論を導くにはサンプル数等を含め、他の考慮する要因について検討することが重要です。