Как выполнить парный t-тест с начальной загрузкой в ​​​​R?

Я хотел бы выполнить парный t-тест с начальной загрузкой в ​​​​R. Я пробовал это для нескольких наборов данных, которые возвращали p‹.05 при использовании параметрического парного t-теста, однако, когда я запускаю бутстрап, я получаю значения p между 0,4 и 0,5 . Я запускаю это неправильно?

   differences<-groupA-groupB
   t.test(differences) #To get the t-statistic e.g. 1.96

   Repnumber <- 10000                  
   tstat.values <- numeric(Repnumber)       
   for (i in 1:Repnumber) {
     group1 = sample(differences, size=length(differences), replace=T)
     tstat.values[i] = t.test(group1)$statistic
   }

   #### To get the bootstrap p-value compare the # of tstat.values
   greater (or lesser) than or equal to the original t-statistic divided
   by # of reps:

   sum(tstat.values<=-1.96)/Repnumber

Благодарю вас!


person Sebastian112    schedule 03.03.2016    source источник


Ответы (1)


Похоже, вы сравниваете яблоки и апельсины. Для одного t-теста differences вы получаете t-статистику, которая, если она больше критического значения, указывает, значительно ли разница между group1 и group2 отличается от нуля. Ваш код начальной загрузки делает то же самое, но для 10 000 загруженных выборок differences, давая вам оценку вариации t-статистики для разных случайных выборок из совокупности differences. Если вы возьмете среднее значение этих загруженных t-статистик (mean(tstat.values)), вы увидите, что оно примерно такое же, как и единственная t-статистика из полной выборки differences.

sum(tstat.values<=-1.96)/Repnumber дает вам процент загруженной t-статистики меньше -1,96. Это оценка процента времени, когда вы получите t-статистику меньше -1,96 в повторяющихся случайных выборках из вашей совокупности. Я думаю, что это, по сути, оценка мощности вашего теста для обнаружения разницы заданного размера между group1 и group2 для заданного размера выборки и уровня значимости, хотя я не уверен, насколько надежен такой анализ мощности.

С точки зрения правильной начальной загрузки t-теста, я думаю, что вам действительно нужно сделать какой-то тест перестановки, который проверяет, являются ли ваши фактические данные выбросом по сравнению с повторным перетасовкой меток на ваших данных и выполнением t-теста на каждый перемешанный набор данных. Возможно, вы захотите задать вопрос на странице CrossValidated, чтобы получить совет, как правильно это сделать для ваших данных. Эти ответы CrossValidated могут помочь: здесь, здесь и здесь.

person eipi10    schedule 03.03.2016
comment
Спасибо. Нужно ли сохранять пары при начальной загрузке? Если бы не я, я мог бы переписать это. - person Sebastian112; 03.03.2016