#### F(피셔) test ####
# rbook p354 : 2개의 데이터의 분산-퍼진정도를 비교한다
# 세미나에서는 two sample t-test전에 f - test로 등분산/이분산을 구분해서 계산해야한다고 하였다.


f.test.data <- read.table('data/f.test.data.txt', header = T)
f.test.data

# 1. 각 데이터(칼럼별)의 분산 알아보기
var(f.test.data$gardenB) # 1.3
var(f.test.data$gardenC) # 14.2

#### 2. f-test를 통해 통계학적으로 유믜미적으로 분산의 차이가 있는지 보기***####

# 1) 분산이 큰 값을 분자***로 하여 ***분산비율.ratio 구하기
attach(f.test.data)
F.ratio = var(gardenC) / var(gardenB) # 10.6

# 2) F.ratio의 그래프(F 분포의 확률밀도 함수)에서 하위 2.5% 이하거나 (~95%~) 상위 2.5%(97.5% 이상) = p-value(0.05이하) 에 속하면 유의미한 차이가있다!***
# 즉, pf(F.ratio, n, n) 의 값이  0.25 이하  or 0.975(0.25+0.95)이상일 경우, 분산차이는 유의미하다.
# H0 : 2개의 분산이 다르지 않다.
# 만약 하위2.5% 이하나 상위 2.5%이상에 속한다면( = p-value : 0.05이하), H0거절 H1(분산이 다르다)를 채택image

# 여기서 자유도에 따라 달라진다. 개수가 늘어나면 그래프 봉우리가 오른쪽으로 이동한다.
# 자유도 = 데이터개수 - 1


image
length(gardenB) # 10

# pf()로 F.ration를 이용하여 그래프상(F 분포의 확률밀도함수)의 넓이(density, %) 구하기
pf(F.ratio, 9, 9) # 0.9991879 -> 왼쪽부터 2.5 + 95 = 97.5보다 크니 상위25% 이상으로 분산차이가 유의미하다.


# 참고) qf()로 pf값을(넓이, %)을 이용한  F.ratio기(F-test그래프의 x값) 구하기
qf(0.9991879, 9, 9) #10.66666 -> F.ratio = 그래프상의 x 구하기


# pf값은 그래프상의 왼쪽부터 넓이다. 전체넓이인 1에서 빼주면, 오른쪽 나머지 넓이 상위 몇퍼센트인지 알 수 있다.
# 이것에 2를 곱하면, 양쪽 넓이가 나올 것인데, 이것이 5% 0.05보다 작아야 유의미한것이다.
# p-value에 대해 계산하는 것

2 * ( 1- pf(F.ratio, 9, 9)) # 0.0016 < 0.05  ==> H0를 거절하고 분산이 서로 유의미하게 차이가 난다.

# **** 한번에 F-test하는 방법****
# F.ratio 값만 다르다. 왜냐하면 막.. 순서대로.. 앞에 것을 분자로 넣기 때문에..(원래는 큰값이 분자로)
# 그러나 p-value값으로 비교하는 것이 최종목적이라 상관은 없다고 한다.

var.test(gardenB, gardenC)
# F test to compare two variances

# data:  gardenB and gardenC
# F = 0.09375, num df = 9, denom df = 9, p-value = 0.001624
# alternative hypothesis: true ratio of variances is not equal to 1
# 95 percent confidence interval: 0.02328617 0.37743695
# sample estimates: ratio of variances  0.09375

+ Recent posts