2015-10-16 89 views

回答

1

根據文獻[1],直接使用Pearson r計算置信區間是非常複雜的,因爲它不是正態分佈。需要以下步驟:

  1. 轉換R鍵Z '
  2. 計算Z' 置信區間。 z'的採樣分佈近似正態分佈,標準誤差爲1/sqrt(n-3)。
  3. 將置信區間轉換回r。

下面是一些示例代碼:

def r_to_z(r): 
    return math.log((1 + r)/(1 - r))/2.0 

def z_to_r(z): 
    e = math.exp(2 * z) 
    return((e - 1)/(e + 1)) 

def r_confidence_interval(r, alpha, n): 
    z = r_to_z(r) 
    se = 1.0/math.sqrt(n - 3) 
    z_crit = stats.norm.ppf(1 - alpha/2) # 2-tailed z critical value 

    lo = z - z_crit * se 
    hi = z + z_crit * se 

    # Return a sequence 
    return (z_to_r(lo), z_to_r(hi)) 

參考:

  1. http://onlinestatbook.com/2/estimation/correlation_ci.html
2

使用rpy2和心理庫(你需要安裝R和先R內運行install.packages(「心理」))

from rpy2.robjects.packages import importr 
psychometric=importr('psychometric') 
psychometric.CIr(r=.9, n = 100, level = .95) 

0.9哪裏是你的關係, n樣本量和0.95置信水平