Очень ограниченная информация, которую вы имеете, безусловно, является серьезным ограничением! Однако вещи не совсем безнадежны.
При тех же предположениях, которые приводят к асимптотическому распределению для тестовой статистики одноименного теста на соответствие, тестовая статистика в рамках альтернативной гипотезы имеет асимптотически нецентральное распределение χ 2 . Если мы предположим, что два стимула а) значимы и б) имеют одинаковый эффект, соответствующая статистика теста будет иметь такое же асимптотическое нецентральное распределение χ 2 . Мы можем использовать это , чтобы построить тест - в основном, путем оценки параметра смещенности Л и , видя ли статистические данные испытаний далеко в хвостах нецентральном х 2 ( 18 , λ )χ2χ2χ2λχ2( 18 , λ^)распределение. (Это не значит, что этот тест будет иметь большую силу.)
Мы можем оценить параметр нецентральности, исходя из двух тестовых статистик, взяв их среднее значение и вычтя степени свободы (методы оценки моментов), получив оценку 44 или по максимальной вероятности:
x <- c(45, 79)
n <- 18
ll <- function(ncp, n, x) sum(dchisq(x, n, ncp, log=TRUE))
foo <- optimize(ll, c(30,60), n=n, x=x, maximum=TRUE)
> foo$maximum
[1] 43.67619
Хорошее согласие между нашими двумя оценками, не удивительно, учитывая две точки данных и 18 степеней свободы. Теперь для расчета p-значения:
> pchisq(x, n, foo$maximum)
[1] 0.1190264 0.8798421
Таким образом, наше p-значение равно 0,12, что недостаточно, чтобы отвергнуть нулевую гипотезу о том, что два стимула одинаковы.
λχ2( λ - δ, λ + δ)δ= 1 , 2 , … , 15δ и посмотрите, как часто наш тест отклоняет, скажем, на уровне достоверности 90% и 95%.
nreject05 <- nreject10 <- rep(0,16)
delta <- 0:15
lambda <- foo$maximum
for (d in delta)
{
for (i in 1:10000)
{
x <- rchisq(2, n, ncp=c(lambda+d,lambda-d))
lhat <- optimize(ll, c(5,95), n=n, x=x, maximum=TRUE)$maximum
pval <- pchisq(min(x), n, lhat)
nreject05[d+1] <- nreject05[d+1] + (pval < 0.05)
nreject10[d+1] <- nreject10[d+1] + (pval < 0.10)
}
}
preject05 <- nreject05 / 10000
preject10 <- nreject10 / 10000
plot(preject05~delta, type='l', lty=1, lwd=2,
ylim = c(0, 0.4),
xlab = "1/2 difference between NCPs",
ylab = "Simulated rejection rates",
main = "")
lines(preject10~delta, type='l', lty=2, lwd=2)
legend("topleft",legend=c(expression(paste(alpha, " = 0.05")),
expression(paste(alpha, " = 0.10"))),
lty=c(1,2), lwd=2)
что дает следующее:
Глядя на истинные нулевые точки гипотезы (значение по оси x = 0), мы видим, что тест является консервативным, поскольку он не отклоняется так часто, как указывал бы уровень, но в подавляющем большинстве случаев так. Как мы и ожидали, у него мало силы, но лучше, чем ничего. Интересно, есть ли лучшие тесты, учитывая очень ограниченный объем имеющейся у вас информации?