Почему функция R bootstrap использует индексы для вычисления среднего отношения? - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу использовать начальную загрузку для среднего значения имеющегося у меня образца. Я исследовал bootstrap пакетные приложения в R и нашел кое-что, что меня очень смущает. На CRAN это официальный пример, приведенный для функции bootstrap:

# Usual bootstrap of the ratio of means using the city data
ratio <- function(d, w) sum(d$x * w)/sum(d$u * w)
boot(city, ratio, R = 999, stype = "w")

он использует данные города в R

Почему в функции он вычисляет сумму индекса x TIMES? Это не дает значения среднего отношения.

1 Ответ

0 голосов
/ 26 февраля 2020

Допустим, у нас есть пример, подобный этому, и примеры независимы,

library(boot)
set.seed(100)
x=rpois(100,3)
y=rpois(100,5)

Вы просто добавляете что-то еще к средней функции для выполнения bootstrap:

boot_x = boot(x,function(i,d)mean(i[d]),R=999)
boot.ci(boot_x,type="perc")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates

CALL : 
boot.ci(boot.out = boot_x, type = "perc")

Intervals : 
Level     Percentile     
95%   ( 2.79,  3.39 )  

boot_y = boot(y,function(i,d)mean(i[d]),R=999)

и так далее ...

Если наблюдения сопряжены и вас интересует разница, вы должны поместить их в data.frame и выполнить:

x=rpois(100,3)
y= x+ rnorm(100,2,1)
df = data.frame(x,y)
boot_df = boot(df,function(i,d)mean(i[d,1] - i[d,2]),R=999)
...