簡體   English   中英

在 R 中使用 Bootstrapping 獲取 Phi 統計數據的置信區間

[英]Get Confidence Intervals for Phi statistics using Bootstrapping in R

我想在 R 軟件中使用引導程序(10,000 次迭代)獲得與 Phi 統計相關的置信區間。

我正在使用“psych”package 來計算 phi 統計數據。 我一直在研究如何讓 CI 與 phi 統計數據相關聯。

我的數據和獲取phi統計的代碼如下:

library(psych)

Type_of_Cigar = c(rep("0", 16), rep("1", 16))

Cancer = c(rep(c("0", "0", "0", "0"),4),
             rep(c("1", "1", "1", "0"),4))

Table1 <- xtabs(~ Type_of_Cigar + Cancer)

Table1

phi(Table1, digits=5)
#0.7746

你可以用boot package來做到這一點。首先,將數據保存為數據框。

Type_of_Cigar = c(rep("0", 16), rep("1", 16))

Cancer = c(rep(c("0", "0", "0", "0"),4),
           rep(c("1", "1", "1", "0"),4))


dat <- data.frame(Type_of_Cigar = Type_of_Cigar, 
                  Cancer = Cancer)

然后,您需要編寫一個 function,其前兩個 arguments 是數據和我調用inds的自舉觀測值。 function 應該獲取數據,根據inds對它們進行子集化並計算一些值,在本例中為 phi。 您將需要使用子集數據來生成任何中間結果(例如下面的tab )。

boot.fun <- function(data, inds){
  tab <- xtabs(~ Type_of_Cigar + Cancer, 
               data=data[inds, ])
  psych::phi(tab)
}

然后,您可以為原始數據和上面編寫的 function 調用boot()

library(boot)
out <- boot(dat, statistic=boot.fun, R=10000)

然后,您可以使用boot.ci() function 來計算置信區間:

boot.ci(out)
# BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
# Based on 10000 bootstrap replicates
# 
# CALL :
#   boot.ci(boot.out = out)
# 
# Intervals :
#   Level      Normal              Basic
# 95%   ( 0.5812,  0.9509 )   ( 0.6000,  0.9500 )
# 
# Level     Percentile            BCa
# 95%   ( 0.59,  0.94 )   ( 0.52,  0.92 )
# Calculations and Intervals on Original Scale
# Warning message:
#   In boot.ci(out) : bootstrap variances needed for studentized intervals

根據下面的評論,我應該說百分位數和 BCa(偏差校正加速)間隔是依賴於引導抽樣分布中的值的間隔。 對於 95% 的置信區間,百分位數區間對 bootstrap 統計量進行排序,並將第 2.5 個和第 97.5 個百分位數的值作為置信區間。 BCa 區間識別不同的百分位數,這些百分位數解釋了 bootstrap 分布中的偏差和非正態性。 這些不一定是第 2.5 個和第 97.5 個百分位數,但區間將具有大約 95% 的覆蓋率。 百分位數和 BCa 間隔也都與轉換相關。 也就是說,對於具有置信界限p1p2的某些參數p ,您可以通過使用相同的 function f(p1)f(p2)轉換置信界限來獲得轉換f(p)的置信區間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM