Критические значения F-теста с R - PullRequest
0 голосов
/ 06 октября 2011

Как найти верхнее и нижнее критические значения F-теста: var.test (x, y)

Пример из моего текста:

x <- c (1973, 403, 509, 2103, 1153  292, 1916, 1602, 1559, 547, 801, 359)

y <- c (1185, 885, 2955, 815, 2852, 1217, 1762, 2592, 1632)

var.test(x,y, alternative = c("two.sided"),  conf.level = 0.95)

 F test to compare two variances

data:  x and y

F = 0.6908, num df = 11, denom df = 8, p-value = 0.5572

alternative hypothesis: true ratio of variances is not equal to 1 

95 percent confidence interval:

 0.1628029 2.5311116 

sample estimates:

ratio of variances 

         0.6908397 

Книга говорит, чтокритические значения: F <0,273 и F> 4,30

Похоже, что R говорит F <0,1628029 и F> 2,5311116

Есть идеи на этот счет?

1 Ответ

7 голосов
/ 06 октября 2011

95% доверительный интервал зависит от отношения отклонений, а не от F-статистики. Вот расчет статистики F:

> qf(c(0.025,0.975),11,8)
[1] 0.2729392 4.2434128

что соответствует вашему столу.

Если мы посмотрим внутрь stats:::var.test.default, мы найдем

   BETA <- (1 - conf.level)/2
   CINT <- c(ESTIMATE/qf(1 - BETA, DF.x, DF.y), ESTIMATE/qf(BETA, 
            DF.x, DF.y))

Вторая строка на самом деле могла бы быть написана немного проще: ESTIMATE/qf(c(1-BETA,BETA),DF.x,DF.y), но я не уверен, что этот вид тривиальной очистки кода стоит того, чтобы предложить R-core ...

Выполнение этого вычисления с conf.level, равным 0,95, оценка коэффициента дисперсии сверху и квантили, которые мы вычислили выше, совпадают:

> 0.6908397/c(0.273,4.30)
[1] 2.5305484 0.1606604
...