Làm thế nào để biết một dự đoán thống kê là đúng?


7

Dự báo thời tiết dự đoán xác suất mưa hay không trong một ngày. Nếu tôi có thể lặp lại cùng một ngày nhiều lần tôi có thể đếm được trời mưa bao nhiêu lần hay không, vì vậy tôi có thể so sánh với dự đoán để biết dự đoán đó có đúng không.

Thực tế là không thể lặp lại một ngày, dữ liệu duy nhất mà tôi có là dự đoán tương ứng cho nhiều ngày khác nhau và chỉ có một điểm phân phối cho mỗi dự đoán.

Vậy làm thế nào tôi có thể biết nếu xác suất dự báo thời tiết là chính xác?

Câu hỏi này có thể được mở rộng cho bất kỳ dự đoán nào trong đó tôi không thể lặp lại hiện tượng nhiều lần để có được toàn bộ phân phối và xác minh dự đoán.


1
Nếu dự đoán là xác suất (ví dụ: mỗi dự đoán là phần trăm khả năng mưa), bạn có thể so sánh tỷ lệ phần trăm trong các dải với tỷ lệ số lần trời mưa cho những phần đó, như một biểu đồ pp. Dự báo thực tế lều được làm tròn thành bội số 5% hoặc 10% trong mọi trường hợp vì vậy các ban nhạc thường ở đó.
Glen_b -Reinstate Monica

Có vẻ như một phương pháp hoạt động, tôi nên có rất nhiều dữ liệu để có các dự đoán lặp lại (cùng tỷ lệ phần trăm) cho các ngày khác nhau, hơn là tôi có thể đếm được bao nhiêu ngày mưa hay không và so sánh với dự đoán đó. Nhưng không rõ làm thế nào tôi có thể biết trực quan nếu dự báo đúng hay sai hơn các dự đoán. tôi muốn một giá trị bằng số cho biết nếu và bao nhiêu là đúng hay sai.
Rafael

Bạn đã xem ROC (Trình điều khiển nhân vật hoạt động), điểm Brier để so sánh hiệu suất tương đối của hai dự đoán?

Chưa, nhưng tôi sẽ.
Rafael

Câu trả lời:


4

"Câu hỏi này có thể được mở rộng ..." - điều đó hoàn toàn đúng. Nhưng tất nhiên, nếu bạn muốn lùi bước - đó là trường hợp của mọi hiện tượng. Mỗi khi bạn lật một đồng xu, nó sẽ bị móp một chút và thay đổi khả năng xuất hiện của những người đứng đầu. Mỗi khi bạn bắn một rổ, cánh tay của bạn sẽ mệt mỏi hơn một chút (hoặc nghỉ ngơi tốt hơn một chút) và cơ hội bóng của bạn đi vào chỉ là một chút khác nhau.

Là một nhà thống kê ứng dụng, một phần rất lớn trong công việc của bạn đang cố gắng xác định những sự kiện nào đủ tương tự để được tính là giống nhau. Bạn sẽ không bao giờ có một nhóm người dùng ma túy, hoặc một nhóm sinh viên đang được thử nghiệm, hoặc một loạt các thành phố thực hiện các chính sách, hoàn toàn giống nhau. Phần lớn công việc của bạn là cố gắng xác định những gì cần kiểm soát để khi bạn hoàn thành, chúng đủ tương tự để trả lại cho bạn một câu trả lời có ý nghĩa.

Khi nói đến dự đoán, điều tốt nhất bạn có thể làm là cố gắng đào tạo, và sau đó kiểm tra, về những điều bạn nghĩ là đủ tương tự. Toàn bộ các điểm cross-validation là để kiểm tra như thế nào trong nội bộ phù hợp dữ liệu và mô hình của bạn đang có. Nếu bạn có thể huấn luyện một số và dự đoán chính xác về phần còn lại, một cách giải thích chắc chắn là hai bộ dữ liệu là "đủ tương tự nhau". (Giả sử bỏ đi phần lớn khác, rằng mô hình của bạn là chính xác.) Vì vậy, đối với dữ liệu được quan sát, bạn có thể đánh giá độ chính xác dự đoán bằng xác thực chéo.

Nhưng trong tương lai vô hình, câu trả lời tốt nhất cho câu hỏi của bạn chỉ là "Để dự đoán là chính xác, bạn phải cho rằng thời tiết ngày mai được rút ra từ cùng một phân phối với tất cả thời tiết mà mô hình dự đoán phù hợp." Và bất kỳ câu hỏi về mức độ thân thiết trở nên phụ thuộc vào một mô hình cụ thể và sở thích.


Tôi không nghiêm khắc như vậy, một câu trả lời gần đúng ở một mức độ nào đó là đủ để đại diện cho thực tế. Và tôi không đưa ra dự đoán, tôi sẽ có thêm kiến ​​thức cho việc này, chỉ muốn kiểm tra dự đoán của người khác.
Rafael

1
Nhưng số liệu thống kê là tất cả về độ - bạn cần đến gần như thế nào ? Chọn mức độ đó không phải là một vấn đề đơn giản.
one_observation

1
Các phương pháp như xác thực chéo (ví dụ: w / điểm Brier) có thể được sử dụng để lấy ra độ chính xác dự đoán mẫu.
gung - Phục hồi Monica

Gần đến điểm mà tôi không nhìn thấy.
Rafael

Đó là mù, là tên trang web và tôi thậm chí không nhìn thấy.
Rafael

2

Đây là một câu hỏi tuyệt vời và cũng là một câu hỏi phổ biến. Các tài sản bạn dường như quan tâm là tính linh hoạt . Nếu một quá trình ngẫu nhiên mà bạn quan tâm là ergodic, thì (đại khái) những quan sát "ngày khác nhau" mà bạn thấy có thể được kết hợp để đánh giá mức độ thành công của dự đoán thời tiết; có thể được kết hợp để rút ra một số kết quả hội tụ. Tuy nhiên, nếu quá trình này không thể hiện được tính linh hoạt, thì khi bạn nói rằng, một người sẽ cần phải quan sát cùng ngày nhiều lần và xem xác suất mưa này có chính xác hay không. Tính linh hoạt rất khó kiểm chứng với dữ liệu thực và thường được coi là một giả định.

Để biết cách xử lý nghiêm ngặt, nhưng theo kinh nghiệm về tính linh hoạt, hãy xem chương này của cuốn sách chuỗi thời gian của E. Z Pivot. Để có một ví dụ trực quan rất hay, hãy xem video này từ 16:55.


Tôi không có ý tưởng về tính linh hoạt, thú vị khi biết, trong ví dụ của tôi, tôi cho rằng có thể xác minh dự đoán cả hai lần lặp lại sự kiện và với nhiều sự kiện chỉ có thể lặp lại một lần, vì vậy tôi cho rằng tính linh hoạt (tôi nghĩ). Nhưng tôi không biết làm thế nào để xác minh với tính linh hoạt nếu dự đoán là đúng.
Rafael

0

Kinh tế lượng chuỗi thời gian xử lý một câu hỏi tương tự: Nếu ytxtlà các biến chuỗi thời gian, bạn có nên tin tưởng một hồi quy tuyến tính với hai biến không? Câu trả lơi con phụ thuộc vao nhiêu thư".

Nó phụ thuộc vào việc mối quan hệ được quan sát giữa hai biến có tiếp tục đúng hay không trong tương lai. Nếuytxtđều không cố định, sau đó mối quan hệ được quan sát có thể tan vỡ trong tương lai. Nếuytxt đều đứng yên, sau đó mối quan hệ được quan sát sẽ giữ trong tương lai.

Đây là một ví dụ mô phỏng. Các biến,xtyt, đều không cố định theo thiết kế. Mặc dù mô hình hồi quy nói rằng mối quan hệ được quan sát là mạnh mẽ (dựa trên giá trị p vàR2), hết thời gian R2 là khủng khiếp (mô hình tồi tệ hơn nhiều so với việc sử dụng trung bình như một dự đoán).

### create two non-stationary variables
set.seed(12345)

x <- 100 + cumsum(rnorm(1000))

y <- 200 + cumsum(rnorm(1000))

df <- data.frame(y=y, x=x)

### split between training and test

train <- df[1:800, ]  ## 80% train
test <- df[801:1000, ] ## 20% train

### linear regression

lm.mod <- lm(y~x, data=train)

summary(lm.mod)

### measure fit

library(caret)

in.sample.R2 <- R2(lm.mod$fitted.values, train$y, formula="traditional")
out.sample.R2 <- R2(predict(lm.mod, newdata=test), test$y, formula="traditional")

in.sample.R2
out.sample.R2

TLDR; Dự đoán tương lai là khó khăn. Hồi quy tuyến tính sử dụng dữ liệu chuỗi thời gian có thể cực kỳ sai lệch. Giữ một số dữ liệu của bạn dựa trên thời gian tuần tự (ví dụ: giữ 9 quý cuối của chuỗi thời gian của bạn). Xác thực mô hình của bạn bằng cách sử dụng dữ liệu giữ.

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.