2016-07-26 6 views
2

Как вычислить стандартную ошибку для двоичной переменной, используя R? У меня есть группа участников, выполняющих задание в нескольких условиях. Выходной сигнал может быть 0 (неверный) или 1 (правильный). Я вычислил среднюю долю правильных ответов и стандартной ошибки (SE) в следующем виде:стандартная ошибка двоичной переменной R

mean<-tapply(dataRsp$Accuracy, dataRsp$Condition, FUN=mean) 

SE<- with(dataRsp, tapply(Accuracy, Condition, sd)/sqrt(summary(dataRsp$Condition))) 

Но SE является Extremelly плотно, что они вряд ли могут быть правильными. Может кто-нибудь дать мне некоторые идеи? Я обнаружил, что рядом может быть решением,

sqrt(p.est*(1-p.est)/n) 

... но я не знаю, как реализовать его R.

ответ

2

Предположим, что для переменной X есть только 2 результата (0/1), и мы предполагаем, что вероятность успеха (1) равна p. Это означает, что X следует за Бернулли (p).

Среднее значение и дисперсия затем задается р и р * (1-р)/п, где п является ваш размер выборки Теперь изменить р от p.est, где p.est - это пропорции правильных ответов.

Так что если у вас есть переменная binary с 1 для успеха и 0 неудач:

p.est <- mean(binary) 
variance <- (p.est*(1-p.est))/nrow(binary) 
std.dev <- sqrt(variance) 

EDIT:

Вы также сказали, что вы нашли очень мало системотехники, которые были счетчик интуитивное , Давайте подробнее рассмотрим формулу для дисперсии: p * (1-p)/n. Наибольшее значение числитель (p * (1-p)) может принимать только 0,25, то есть когда p = 0,5. Это значение может только уменьшаться, так как мы делим его на n (количество наблюдений). Предположим, что мы имеем p = 0,5 и n = 100, тогда дисперсия составляет всего 0,0025. Чтобы найти SE, возьмем квадратный корень, который даст в этом примере SE 0,05. Если у вас больше наблюдений, т. Е. n> 100, дисперсия и SE уменьшатся еще больше (интуиция: больше данных => более определенно => меньшая дисперсия/SE).

Если формула для дисперсии/SE объясняется так, неужели все еще странно, что у вас есть маленькие SE?

+0

Благодарим за помощь. Кодовое слово хорошо, но я получаю значение 0.006, что не имеет для меня никакого смысла. При средней точности, например, 85% ожидаемый SE должен быть намного больше. Не уверен, что может быть основной причиной. – user3596790

+0

Спасибо, Марсель. Это было очень ясно. (p * (1-p)) = 0,13 n = 3290, дисперсия очень низкая, поэтому я получаю SE = 0,006. Я, хотя это было противоречиво, но присутствуя на большом n, может иметь смысл. Спасибо. – user3596790

+0

@ user3596790 Рад помочь! Если ваш вопрос полностью ответил, установите флажок напротив под стрелками вверх/вниз – Marcel10