Tôi đã làm việc trong các gói R nlme và lme4 , cố gắng chỉ định các mô hình với nhiều hiệu ứng ngẫu nhiên. Tôi thấy rằng chỉ nlme mới cho phép xác định cấu trúc không đồng nhất của phương sai. Do đó, tôi có một mô hình, trong đó nhiệt độ (Y) phụ thuộc vào thời gian (tính theo giờ), việc chặn thay đổi theo ngày và năm và phương sai cũng thay đổi theo năm:
fit1 <- lme(Y ~ time, random=~1|year/date, data=X, weights=varIdent(form=~1|year))
Tuy nhiên, nếu tôi cần thêm một thuật ngữ ngẫu nhiên khác (thời gian thay đổi theo ngày) và chỉ định mô hình như thế này:
fit2 <- lme(Y ~ time, random=list(~1|year, ~time-1|date, ~1|date), data=X,
weights=varIdent(form=~1|year))
các hiệu ứng ngẫu nhiên trở nên lồng vào nhau: ngày trong năm; và sau đó ngày trong ngày và trong năm.
Tôi cũng đã thử
one <- rep(1, length(Y))
fit3 <- lme(Y ~ time, random=list(one=pdBlocked(list(pdSymm(~1|year/date),
pdSymm(~time-1|year)))), data=X, weights=varIdent(form=~1|year))
nhưng nó báo lỗi:
Error in pdConstruct.pdBlocked(object, form = form, nam = nam, data = data, :
cannot have duplicated column names in a "pdMat" object
Tôi hiểu rằng đã có nhiều câu hỏi liên quan đến vấn đề tương tự, nhưng tôi thực sự không tìm thấy câu trả lời cho trường hợp của mình. Bạn có thể giúp tôi với các đặc điểm kỹ thuật đúng của mô hình?