中的置信區間計算代碼在使用過程中并不準确,本人沒并沒有搞清楚原因 - - 求大神解答:
import numpy as np
from scipy import stats
X1=np.array([14.65,14.95,8.49,9.51,10.23,2.75])
Xmean=X1.mean()
Xstd=X1.std(ddof=1)
interval=stats.t.interval(0.95,len(X1-1),Xmean,Xstd)
print("置信區間為:",interval)
在計算一個文獻中出現的資料時出現了問題:
↑為python代碼輸出結果
↑為R輸出結果
↑正确結果。
并沒有找到其他現成的包裡面的指令用于直接計算T分布下的置信區間,通過查閱資料找到自定義函數實作置信區間的計算:
def ci_t (data,confidence=0.95):
sample_mean = np.mean(data)
sample_std = np.std(data,ddof=1)
sample_size = len(data)
alpha = 1 - confidence
t_score = scipy.stats.t.isf(alpha / 2, df = (sample_size-1) )
ME = t_score * sample_std / np.sqrt(sample_size)
lower_limit = sample_mean - ME
upper_limit = sample_mean + ME
print( str(confidence*100)+ '%% Confidence Interval: ( %.2f, %.2f)' % (lower_limit, upper_limit))
return lower_limit, upper_limit
input:
ci_t(X1)
output:
95.0% Confidence Interval:(5.38, 14.82)
結果正确~
thats all thank you~
代碼引用自: https://www.jianshu.com/p/6cfce4cc2f7f 感謝。