Phương sai về tổng giá trị dự đoán từ mô hình hiệu ứng hỗn hợp trên thời gian


32

Tôi có một mô hình hiệu ứng hỗn hợp (thực tế là một mô hình hỗn hợp phụ gia tổng quát) mang đến cho tôi những dự đoán cho một khoảng thời gian. Để chống lại sự tự tương quan, tôi sử dụng mô hình corCAR1, với thực tế là tôi đã thiếu dữ liệu. Dữ liệu được cho là cung cấp cho tôi tổng tải, vì vậy tôi cần tính tổng trên toàn bộ khoảng dự đoán. Nhưng tôi cũng sẽ có được ước tính về lỗi tiêu chuẩn trên tổng tải đó.

Nếu tất cả các dự đoán sẽ độc lập, điều này có thể được giải quyết dễ dàng bằng cách:

V a r ( E [ X i ] ) = S E ( E [ X i ] ) 2Var(i=1nE[Xi])=i=1nVar(E[Xi]) vớiVar(E[Xi])=SE(E[Xi])2

Vấn đề là, các giá trị dự đoán đang đến từ một mô hình và dữ liệu gốc có tự động tương quan. Toàn bộ vấn đề dẫn đến các câu hỏi sau:

  1. Tôi có đúng không khi cho rằng SE trên các dự đoán được tính toán có thể được hiểu là gốc của phương sai trên giá trị dự kiến ​​của dự đoán đó? Tôi có xu hướng diễn giải các dự đoán là "dự đoán trung bình", và do đó tổng hợp cả một tập hợp các phương tiện.
  2. Làm cách nào để kết hợp tự động tương quan trong vấn đề này, hoặc tôi có thể cho rằng nó sẽ ảnh hưởng đến kết quả quá nhiều không?

Đây là một ví dụ trong R. Bộ dữ liệu thực của tôi có khoảng 34.000 phép đo, vì vậy khả năng mở rộng là một vấn đề. Đó là lý do tại sao tôi lập mô hình tự tương quan trong mỗi tháng, nếu không thì các tính toán không thể thực hiện được nữa. Đó không phải là giải pháp đúng nhất, nhưng giải pháp đúng nhất không khả thi.

set.seed(12)
require(mgcv)

Data <- data.frame(
    dates = seq(as.Date("2011-1-1"),as.Date("2011-12-31"),by="day")
)

Data <- within(Data,{
X <- abs(rnorm(nrow(Data),3))
Y <- 2*X + X^2 + scale(Data$dates)^2
month <- as.POSIXlt(dates)$mon+1
mday <- as.POSIXlt(dates)$mday
})

model <- gamm(Y~s(X)+s(as.numeric(dates)),correlation=corCAR1(form=~mday|month),data=Data)

preds <- predict(model$gam,se=T)

Total <- sum(preds$fit)

Chỉnh sửa :

Bài học để tìm hiểu: trước tiên hãy xem qua tất cả các mẫu trong tất cả các tệp trợ giúp trước khi hoảng loạn. Trong các tệp trợ giúp của dự đoán.gam, tôi có thể tìm thấy:

#########################################################
## now get variance of sum of predictions using lpmatrix
#########################################################

Xp <- predict(b,newd,type="lpmatrix") 

## Xp %*% coef(b) yields vector of predictions

a <- rep(1,31)
Xs <- t(a) %*% Xp ## Xs %*% coef(b) gives sum of predictions
var.sum <- Xs %*% b$Vp %*% t(Xs)

Mà dường như là gần với những gì tôi muốn làm. Điều này vẫn không cho tôi biết chính xác nó được thực hiện như thế nào. Tôi có thể hiểu được rằng nó dựa trên ma trận dự đoán tuyến tính. Bất kỳ hiểu biết vẫn được chào đón.


6
Tôi không chắc chương trình r đang làm gì nhưng chúng ta có Trong đó là một vectơ cột của những cái và là hiệp phương sai ma trận cho . Không giúp đỡ à?
var(iE[Xi])=aTvar(E[X])a
avar(E[X])E[X]=(E[X1],,E[Xn])T
xác suất

@probabilityislogic Đó là những gì chương trình r đang làm. Thx cho toán học
Joris Meys

2
@probabilityislogic Nếu bạn có thể trả lời câu hỏi đó, bạn có thể lấy tiền thưởng +50 của tôi. ;)
e-sushi

Một vấn đề tôi thấy và có lẽ tôi chỉ hiểu sai ký hiệu của bạn nhưng là một hằng số nên đó là nơi tôi bối rối nhấtn i = 1 V a r ( E [ X i ] ) = 0E(Xi)=μii=1nVar(E[Xi])=0
user52220

@ user52220 Đó là nơi bạn sai. E (Xi) là giá trị mong đợi và do đó là một biến ngẫu nhiên, trong khi mu_i là giá trị trung bình của dân số và do đó là một số cố định. Var (mu) = 0, nhưng điều tương tự không đúng với E (Xi).
Joris Meys

Câu trả lời:


1

Trong ký hiệu ma trận, một mô hình hỗn hợp có thể được biểu diễn dưới dạng

y = X * beta + Z * u + epsilon

trong đó X và Z là các ma trận thiết kế đã biết tương ứng với các hiệu ứng cố định và quan sát hiệu ứng ngẫu nhiên, tương ứng.

Tôi sẽ áp dụng một phép biến đổi đơn giản và đầy đủ (nhưng không phải là tốt nhất) để sửa lỗi cho tương quan tự động liên quan đến việc mất quan sát đầu tiên và thay thế vectơ cột của [y1, y2, ... yn] bằng một biến nhỏ hơn vectơ cột quan sát, cụ thể là: [y2 - rho * y1, y3 - rho * y2, ..., yn - rho * y (n-1)], trong đó rho là giá trị ước tính của bạn cho tương quan tự động nối tiếp.

Điều này có thể được thực hiện bằng cách nhân với ma trận T, tạo thành T * y, trong đó hàng thứ 1 của T được cấu tạo như sau: [-rho, 1, 0, 0, ....], hàng thứ 2: [0, -rho, 1, 0, 0, ...], v.v. Tương tự, các ma trận thiết kế khác được đổi thành T * X và T * Z. Ngoài ra, ma trận phương sai hiệp phương sai của các điều khoản lỗi cũng bị thay đổi, bây giờ với các điều khoản lỗi độc lập.

Bây giờ, chỉ cần tính toán giải pháp với ma trận thiết kế mới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.