Làm mịn theo cấp số nhân là một kỹ thuật cổ điển được sử dụng trong dự báo chuỗi thời gian không chính thức. Miễn là bạn chỉ sử dụng nó trong dự báo đơn giản và không sử dụng phù hợp làm mịn trong mẫu đầu vào cho thuật toán khai thác dữ liệu hoặc thống kê khác, phê bình của Briggs không áp dụng. (Theo đó, tôi nghi ngờ về việc sử dụng nó "để tạo ra dữ liệu được làm mịn để trình bày", như Wikipedia nói - điều này có thể gây hiểu nhầm, bằng cách che giấu sự biến đổi được làm mịn.)
Dưới đây là phần giới thiệu sách giáo khoa về Làm mịn theo cấp số nhân.
Và đây là một bài viết đánh giá (10 tuổi, nhưng vẫn có liên quan).
EDIT: dường như có một số nghi ngờ về tính hợp lệ của phê bình của Briggs, có thể phần nào bị ảnh hưởng bởi bao bì của nó . Tôi hoàn toàn đồng ý rằng giọng điệu của Briggs có thể bị mài mòn. Tuy nhiên, tôi muốn minh họa tại sao tôi nghĩ rằng anh ta có một điểm.
Dưới đây, tôi đang mô phỏng 10.000 cặp chuỗi thời gian, mỗi 100 quan sát. Tất cả các loạt là tiếng ồn trắng, không có tương quan gì. Vì vậy, chạy thử nghiệm tương quan tiêu chuẩn sẽ mang lại giá trị p được phân phối đồng đều trên [0,1]. Như nó làm (biểu đồ bên trái dưới đây).
Tuy nhiên, giả sử trước tiên chúng ta làm mịn từng chuỗi và áp dụng thử nghiệm tương quan cho dữ liệu được làm mịn . Một điều đáng ngạc nhiên xuất hiện: vì chúng tôi đã loại bỏ rất nhiều biến đổi khỏi dữ liệu, chúng tôi nhận được các giá trị p quá nhỏ . Kiểm tra tương quan của chúng tôi là rất thiên vị. Vì vậy, chúng tôi sẽ quá chắc chắn về bất kỳ mối liên hệ nào giữa loạt phim gốc, đó là những gì Briggs đang nói.
Câu hỏi thực sự đặt ra là liệu chúng ta có sử dụng dữ liệu được làm mịn để dự báo hay không, trong trường hợp nào việc làm mịn là hợp lệ hay liệu chúng ta đưa nó làm đầu vào trong một số thuật toán phân tích, trong trường hợp loại bỏ tính biến đổi sẽ mô phỏng độ chắc chắn cao hơn trong dữ liệu của chúng ta. Sự chắc chắn không chính đáng này trong dữ liệu đầu vào mang đến kết quả cuối cùng và cần được tính toán, nếu không mọi suy luận sẽ quá chắc chắn. (Và tất nhiên chúng ta cũng sẽ nhận được các khoảng dự đoán quá nhỏ nếu chúng ta sử dụng một mô hình dựa trên "sự chắc chắn tăng cao" để dự báo.)
n.series <- 1e4
n.time <- 1e2
p.corr <- p.corr.smoothed <- rep(NA,n.series)
set.seed(1)
for ( ii in 1:n.series ) {
A <- rnorm(n.time)
B <- rnorm(n.time)
p.corr[ii] <- cor.test(A,B)$p.value
p.corr.smoothed[ii] <- cor.test(lowess(A)$y,lowess(B)$y)$p.value
}
par(mfrow=c(1,2))
hist(p.corr,col="grey",xlab="",main="p values\nunsmoothed data")
hist(p.corr.smoothed,col="grey",xlab="",main="p values\nsmoothed data")