Điểm kiểm tra là bạn muốn từ chối giả thuyết khống của mình, không xác nhận nó. Thực tế là không có sự khác biệt đáng kể, không có cách nào là bằng chứng cho sự vắng mặt của một sự khác biệt đáng kể. Vì thế, bạn sẽ phải xác định kích thước hiệu ứng nào bạn cho là hợp lý để từ chối null.
s l o p e - 1
set.seed(20); y = rnorm(20); x = y + rnorm(20, 0, 0.2)
model <- lm(y~x)
coefx <- coef(summary(model))[2,1]
seslope <- coef(summary(model))[2,2]
DF <- model$df.residual
# normal test
p <- (1 - pt(coefx/seslope,DF) )*2
# test whether different from 1
p2 <- (1 - pt(abs(coefx-1)/seslope,DF) )*2
Bây giờ bạn nên nhận thức được thực tế rằng kích thước hiệu ứng mà sự khác biệt trở nên đáng kể, là
> qt(0.975,DF)*seslope
[1] 0.08672358
với điều kiện chúng ta có một công cụ ước tính tốt về lỗi tiêu chuẩn trên độ dốc. Do đó, nếu bạn quyết định rằng chỉ nên phát hiện sự khác biệt đáng kể từ 0,1, bạn có thể tính toán DF cần thiết như sau:
optimize(
function(x)abs(qt(0.975,x)*seslope - 0.1),
interval=c(5,500)
)
$minimum
[1] 6.2593
Tâm trí bạn, điều này khá phụ thuộc vào ước tính của vừng. Để có được ước tính tốt hơn về vừng, bạn có thể thực hiện lấy lại dữ liệu của mình. Một cách ngây thơ sẽ là:
n <- length(y)
seslope2 <-
mean(
replicate(n,{
id <- sample(seq.int(n),1)
model <- lm(y[-id]~x[-id])
coef(summary(model))[2,2]
})
)
đưa seslope2 vào chức năng tối ưu hóa, trả về:
$minimum
[1] 6.954609
Tất cả điều này sẽ cho bạn biết rằng tập dữ liệu của bạn sẽ trả về một kết quả quan trọng nhanh hơn bạn thấy cần thiết và bạn chỉ cần 7 bậc tự do (trong trường hợp này là 9 quan sát) nếu bạn muốn chắc chắn rằng không quan trọng có nghĩa là những gì bạn muốn có nghĩa.