Làm thế nào để tính khoảng dự đoán cho LOESS?


17

Tôi có một số dữ liệu mà tôi đã trang bị bằng mô hình LOESS trong R, đưa cho tôi cái này:

nhập mô tả hình ảnh ở đây

Dữ liệu có một yếu tố dự đoán và một phản hồi, và nó không đồng nhất.

Tôi cũng thêm khoảng tin cậy. Vấn đề là các khoảng là các khoảng tin cậy cho dòng, trong khi tôi quan tâm đến các khoảng dự đoán. Ví dụ, bảng dưới cùng có nhiều biến đổi hơn bảng trên cùng, nhưng bảng này không được ghi lại trong các khoảng thời gian.

Câu hỏi này hơi liên quan: Hiểu về dải tin cậy từ hồi quy đa thức , đặc biệt là câu trả lời của @AndyW, tuy nhiên trong ví dụ của mình, anh ta sử dụng đối interval="predict"số tương đối đơn giản tồn tại predict.lm, nhưng nó không có predict.loess.

Vì vậy, tôi có hai câu hỏi rất liên quan:

  1. Làm cách nào để có được các khoảng dự đoán theo chiều cho LOESS?
  2. Làm cách nào tôi có thể dự đoán các giá trị sẽ nắm bắt khoảng thời gian đó, tức là tạo ra một loạt các số ngẫu nhiên cuối cùng sẽ trông giống như dữ liệu gốc?

Có thể là tôi không cần LOESS và nên sử dụng thứ khác, nhưng tôi không quen với các lựa chọn của mình. Về cơ bản, nó phải phù hợp với dòng sử dụng hồi quy cục bộ hoặc hồi quy tuyến tính đa biến, đưa ra các ước tính lỗi cho các dòng và ngoài ra còn có các phương sai khác nhau cho các biến giải thích khác nhau, vì vậy tôi có thể dự đoán phân phối biến trả lời (y) tại các giá trị x nhất định .


Đây có phải là một khoảng dự đoán theo chiều không?
Glen_b -Reinstate Monica

"Cái này" nghĩa là gì? Và tôi không chắc liệu nó có đúng hay không. Câu hỏi 2 của tôi là những gì tôi đang tìm kiếm - thật không may, tôi không quen thuộc với danh pháp.
Gimelist 13/03/2015

Bởi 'điều này' tôi có nghĩa là "điều mà câu hỏi đang hỏi về tiêu đề"
Glen_b -Reinstate Monica

Vì vậy, tôi không chắc chắn - xem bình luận trước đây của tôi. Về cơ bản, tôi đang tìm kiếm một khoảng thời gian sẽ nắm bắt được phương sai thực tế trong các điểm dữ liệu, như được mô tả trong câu hỏi của tôi.
Gimelist 13/03/2015

1
Sự lây lan có thể thay đổi (đó là lý do tại sao tôi đã chọn hồi quy cục bộ ở nơi đầu tiên). Dự đoán đơn.
Gimelist

Câu trả lời:


12

Tôi không biết làm thế nào để thực hiện các dải dự đoán với loesschức năng ban đầu nhưng có một chức năng loess.sdtrong msirgói thực hiện điều đó! Hầu như nguyên văn từ các msirtài liệu:

library(msir)
data(cars)
# Calculates and plots a 1.96 * SD prediction band, that is,
# a 95% prediction band
l <- loess.sd(cars, nsigma = 1.96)
plot(cars, main = "loess.sd(cars)", col="red", pch=19)
lines(l$x, l$y)
lines(l$x, l$upper, lty=2)
lines(l$x, l$lower, lty=2)

nhập mô tả hình ảnh ở đây

Câu hỏi thứ hai của bạn phức tạp hơn một chút vì loess.sdkhông đi kèm với chức năng dự đoán, nhưng bạn có thể hack nó bằng cách nội suy tuyến tính các phương tiện dự đoán và SD bạn thoát ra loess.sd(sử dụng approx). Lần lượt, chúng có thể được sử dụng để mô phỏng dữ liệu bằng cách sử dụng phân phối bình thường với các phương tiện và SD dự đoán:

# Simulate x data uniformly and y data acording to the loess fit
sim_x <- runif(100, min(cars[,1]), max(cars[,1]))
pred_mean <- approx(l$x, l$y, xout = sim_x)$y
pred_sd <- approx(l$x, l$sd, xout = sim_x)$y
sim_y <- rnorm(100, pred_mean, pred_sd) 

# Plots 95% prediction bands with simulated data 
plot(cars, main = "loess.sd(cars)", col="red", pch=19)
points(sim_x, sim_y, col="blue")
lines(l$x, l$y)
lines(l$x, l$upper, lty=2)
lines(l$x, l$lower, lty=2)

nhập mô tả hình ảnh ở đây


Chính xác những gì tôi đang tìm kiếm. Khi nhìn vào phương thức anh ta sử dụng bằng cách xem mã loess.sd, nó không quá khác biệt so với những gì @rnso đã đề xuất trong một nhận xét cho một câu hỏi khác của tôi . Cảm ơn!
Gimelist

Bootstrap để tạo ra các khoảng?
SmallChess
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.