Tôi đã chạy một phép đo lặp lại hoàn toàn bên trong đối tượng ANOVA bằng cách sử dụng aov()
chức năng. Biến phụ thuộc của tôi thường không được phân phối, vì vậy tôi rất thích chạy thử nghiệm giả định trên phân tích của mình. Có vẻ như chỉ gọi plot()
đầu ra không hoạt động cho các biện pháp lặp lại, vì vậy tôi đã tự lấy phần dư và các giá trị được trang bị cho một mô hình quan tâm và đã vẽ chúng với nhau. Tôi giả định rằng đây là cách tôi dự định kiểm tra giả định về Homoskedasticity.
Cốt truyện đi ra với 2 dải dọc (vui lòng xem hình ảnh bên dưới). Hóa ra các giá trị được trang bị đều tập trung xung quanh 2 giá trị (mặc dù theo ==
chúng không chính xác bằng nhau), trong đó một giá trị âm của giá trị kia.
Tôi có 2 câu hỏi:
1) Đây có phải là cách chính xác để kiểm tra thủ công tính đồng nhất giả định? Nếu không, làm thế nào tôi đi về nó từ các thiết kế đo lặp lại (vì chỉ gọi plot()
không hoạt động)?
2) Nếu đúng, cốt truyện này nói với tôi điều gì? Tại sao các giá trị được trang bị rất cụm? Tôi có thể kết luận gì từ nó?
Cảm ơn đống cho bất kỳ đầu vào ở đây. Ngoài ra, nếu bạn biết các cách tốt hơn để kiểm tra (tốt nhất là vẽ đồ thị) cho các giả định trong rm-ANOVAs, đó cũng sẽ là thông tin hữu ích.
Tôi đã bao gồm một số dữ liệu giả ở đây để sao chép kịch bản:
#Create mock data (there's probably a more efficient way to do this.. would also be nice to know! :) )
p <- sort(rep(1:20,8))
y <- rep(rep(1:2,4),20)
z <- rep(rep(c(1,1,2,2),2),20)
w <- rep(c(1,1,1,1,2,2,2,2),20)
x <- rnorm(160,10,2)
d <- data.frame(x,p=factor(p),y=factor(y),z=factor(z),w=factor(w))
#Run repeated-measures ANOVA
ex.aov <- aov(x ~ y*z*w + Error(p/(y*z*w)), d)
#Try to plot full object (doesn't work)
plot(ex.aov)
#Try to plot section of object (doesn't work)
plot(ex.aov[["p:y:z"]])
#Plot residuals against fitted (custom "skedasticity" plot - works)
plot(residuals(ex.aov[["p:y:z"]])~fitted(ex.aov[["p:y:z"]]))
Bắt đầu chỉnh sửa
Trước thông tin được cung cấp bởi @Stefan, tôi đã thêm một số chi tiết bổ sung bên dưới, sử dụng cấu trúc dữ liệu được cải thiện mà anh ấy đề xuất:
# Set seed to make it reproducible
set.seed(12)
#New variable names and generation
subj <- sort(factor(rep(1:20,8)))
x1 <- rep(c('A','B'),80)
x2 <- rep(c('A','B'),20,each=2)
x3 <- rep(c('A','B'),10, each=4)
outcome <- rnorm(80,10,2)
d3 <- data.frame(outcome,subj,x1,x2,x3)
#Repeated measures ANOVA
ex.aov <- aov(outcome ~ x1*x2*x3 + Error(subj/(x1*x2*x3)), d3)
#proj function
ex.aov.proj <- proj(ex.aov)
# Check for normality by using last error stratum
qqnorm(ex.aov.proj[[9]][, "Residuals"])
# Check for heteroscedasticity by using last error stratum
plot(ex.aov.proj[[9]][, "Residuals"])
Các ô kết quả dưới đây:
Bất cứ ai cũng có thể giải thích những hình ảnh trên (đặc biệt là hình ảnh cuối cùng)? Có vẻ như có cụm và cấu trúc mô hình. Nó có thể được sử dụng để suy ra sự hiện diện của heteroskedasticity?