Hiểu về dải tin cậy từ hồi quy đa thức


14

Tôi đang cố gắng để hiểu kết quả mà tôi thấy trong biểu đồ của tôi dưới đây. Thông thường, tôi có xu hướng sử dụng Excel và nhận được dòng hồi quy tuyến tính nhưng trong trường hợp bên dưới tôi đang sử dụng R và tôi nhận được hồi quy đa thức với lệnh:

ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth()

Vì vậy, câu hỏi của tôi sôi lên về điều này:

  1. Vùng màu xám (mũi tên số 1) xung quanh đường hồi quy màu xanh là gì? Đây có phải là độ lệch chuẩn của hồi quy đa thức không?

  2. Tôi có thể nói rằng bất cứ thứ gì nằm ngoài vùng màu xám (mũi tên số 2) là 'ngoại lệ' và bất cứ thứ gì rơi vào vùng màu xám (mũi tên số 3) đều nằm trong độ lệch chuẩn không?

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

Câu trả lời:


14

Dải màu xám là dải tin cậy cho đường hồi quy. Tôi không đủ quen thuộc với ggplot2 để biết chắc chắn đó là dải tin cậy 1 SE hay dải tin cậy 95%, nhưng tôi tin rằng đó là trước đây ( Chỉnh sửa: rõ ràng đó là 95% CI ). Một dải tin cậy cung cấp một đại diện cho sự không chắc chắn về đường hồi quy của bạn. Theo một nghĩa nào đó, bạn có thể nghĩ rằng đường hồi quy thực sự cao bằng đỉnh của dải đó, thấp như đáy hoặc lắc lư khác nhau trong dải. (Lưu ý rằng giải thích này nhằm mục đích trực quan và không chính xác về mặt kỹ thuật, nhưng phần lớn giải thích hoàn toàn chính xác là khó cho hầu hết mọi người làm theo.)

Bạn nên sử dụng dải tin cậy để giúp bạn hiểu / nghĩ về đường hồi quy. Bạn không nên sử dụng nó để suy nghĩ về các điểm dữ liệu thô. Hãy nhớ rằng đường hồi quy đại diện cho giá trị trung bình của tại mỗi điểm trong X (nếu bạn cần hiểu điều này đầy đủ hơn, nó có thể giúp bạn đọc câu trả lời của tôi ở đây: Trực giác đằng sau các phân phối Gaussian có điều kiện là gì? ). Mặt khác, bạn chắc chắn không mong đợi mọi điểm dữ liệu quan sát được bằng giá trị trung bình có điều kiện. Nói cách khác, bạn không nên sử dụng dải tin cậy để đánh giá xem điểm dữ liệu có phải là ngoại lệ hay không. YX


( Chỉnh sửa: ghi chú này là ngoại vi cho câu hỏi chính, nhưng tìm cách làm rõ một điểm cho OP. )

Hồi quy đa thức không phải là hồi quy phi tuyến tính, mặc dù những gì bạn nhận được không giống như một đường thẳng. Thuật ngữ 'tuyến tính' có một ý nghĩa rất cụ thể trong ngữ cảnh toán học, cụ thể là các tham số bạn đang ước tính - betas - đều là các hệ số. Hồi quy đa thức chỉ có nghĩa là các đồng biến của bạn là , X 2 , X 3 , v.v., nghĩa là chúng có mối quan hệ phi tuyến tính với nhau, nhưng betas của bạn vẫn là hệ số, do đó nó vẫn là mô hình tuyến tính. Nếu betas của bạn là, giả sử, số mũ, thì bạn sẽ có một mô hình phi tuyến tính. XX2X3

Tóm lại, việc một dòng có nhìn thẳng hay không không liên quan gì đến việc một mô hình có tuyến tính hay không. Khi bạn phù hợp với một mô hình đa thức (giả sử với X 2 ), mô hình đó không 'biết' rằng, ví dụ, X 2 thực sự chỉ là bình phương của X 1 . Nó 'nghĩ' đây chỉ là hai biến số (mặc dù nó có thể nhận ra rằng có một số đa cộng đồng). Như vậy, trong sự thật nó được lắp một (thẳng / căn hộ) hồi quy máy bay trong một không gian ba chiều chứ không phải là một (cong) hồi quy dòng trong một không gian hai chiều. Điều này không hữu ích cho chúng ta khi nghĩ về, và trên thực tế, cực kỳ khó thấy kể từ X 2XX2X2X1X2là một chức năng hoàn hảo của . Kết quả là, chúng tôi không bận tâm đến việc nghĩ theo cách này và âm mưu của chúng tôi thực sự là hai hình chiếu hai chiều trên mặt phẳng ( X , Y ) . Tuy nhiên, trong không gian thích hợp, đường thẳng thực sự là 'thẳng' theo một nghĩa nào đó. X(X, Y)

Từ góc độ toán học, một mô hình là tuyến tính nếu các tham số bạn đang cố ước tính là các hệ số. Để làm rõ hơn nữa, hãy xem xét so sánh giữa tiêu chuẩn (OLS) tuyến tính hồi quy mô hình, và một mô hình hồi quy logistic đơn giản trình bày trong hai hình thức khác nhau:
ln ( π ( Y )

Y=β0+β1X+ε
ln(π(Y)1π(Y))=β0+β1X
π(Y)=exp(β0+β1X)1+exp(β0+β1X)
βββ mô hình tuyến tính , bởi vì nó có thể được viết lại dưới dạng mô hình tuyến tính. Để biết thêm thông tin về điều đó, có thể giúp đọc câu trả lời của tôi ở đây:Sự khác biệt giữa mô hình logit và probit .)

+1 Các ví dụ trong tài liệu gợi ý cho tôi độ tin cậy khá cao, có thể là 95%.
whuber

@gung cảm ơn vì câu trả lời chi tiết (bạn cũng có một tấm séc!). Tôi đọc tuyên bố đầu tiên của bạn và tôi có một chút bối rối. Bạn có thể vui lòng giải thích thêm về nó. Nếu đường kết quả không phải là đường thẳng (y = mx + b) thì điều gì làm cho nó tuyến tính? Cảm ơn một lần nữa cho câu trả lời.
adhg

Các tài liệu tại docs.ggplot2.org/0.9.3.1/stat_smooth.html khẳng định đó là dải tin cậy 95% cho đường cong hồi quy.
whuber

2
Tôi nghĩ rằng Loess mượt mà mặc định được sử dụng ở đây, chứ không phải là hồi quy đa thức?
xan

@adhg, tôi nghĩ rằng tôi đã bao gồm tuyến tính so với phi tuyến tính ở một nơi khác, nhưng tôi không thể tìm thấy nó. Vì vậy, tôi đã thêm một số tài liệu bổ sung ở đây. HTH
gung - Tái lập Monica

11

Để thêm vào các câu trả lời đã có, ban nhạc biểu thị khoảng tin cậy của giá trị trung bình, nhưng từ câu hỏi của bạn, bạn rõ ràng đang tìm kiếm một khoảng dự đoán . Khoảng dự đoán là một phạm vi mà nếu bạn đã vẽ một điểm mới thì về mặt lý thuyết sẽ được chứa trong phạm vi X% thời gian (nơi bạn có thể đặt mức X).

library(ggplot2)
set.seed(5)
x <- rnorm(100)
y <- 0.5*x + rt(100,1)
MyD <- data.frame(cbind(x,y))

Chúng tôi có thể tạo cùng loại âm mưu mà bạn đã thể hiện trong câu hỏi ban đầu của mình với khoảng tin cậy xung quanh giá trị trung bình của đường hồi quy hoàng thổ được làm mịn (mặc định là khoảng tin cậy 95%).

ConfiMean <- ggplot(data = MyD, aes(x,y)) + geom_point() + geom_smooth()
ConfiMean

enter image description here

Đối với một ví dụ nhanh và bẩn về các khoảng dự đoán, ở đây tôi tạo ra một khoảng dự đoán bằng cách sử dụng hồi quy tuyến tính với các spline làm mịn (vì vậy nó không nhất thiết là một đường thẳng). Với dữ liệu mẫu, nó hoạt động khá tốt, trong 100 điểm chỉ có 4 điểm nằm ngoài phạm vi (và tôi đã chỉ định khoảng 90% cho chức năng dự đoán).

#Now getting prediction intervals from lm using smoothing splines
library(splines)
MyMod <- lm(y ~ ns(x,4), MyD)
MyPreds <- data.frame(predict(MyMod, interval="predict", level = 0.90))
PredInt <- ggplot(data = MyD, aes(x,y)) + geom_point() + 
           geom_ribbon(data=MyPreds, aes(x=fit,ymin=lwr, ymax=upr), alpha=0.5)
PredInt

enter image description here

Bây giờ một vài ghi chú. Tôi đồng ý với Ladislav rằng bạn nên xem xét các phương pháp dự báo chuỗi thời gian kể từ khi bạn có một chuỗi thường xuyên kể từ khoảng năm 2007 rõ ràng từ cốt truyện của bạn nếu bạn nhìn chăm chỉ có tính thời vụ (kết nối các điểm sẽ làm cho nó rõ ràng hơn nhiều). Để làm điều này, tôi khuyên bạn nên kiểm tra chức năng dự báo.stl trong gói dự báo nơi bạn có thể chọn cửa sổ theo mùa và nó cung cấp sự phân tách mạnh mẽ về tính thời vụ và xu hướng khi sử dụng Loess. Tôi đề cập đến các phương pháp mạnh mẽ vì dữ liệu của bạn có một vài đột biến đáng chú ý.

Nói chung, đối với dữ liệu chuỗi không theo thời gian, tôi sẽ xem xét các phương pháp mạnh mẽ khác nếu bạn có dữ liệu với các ngoại lệ không thường xuyên. Tôi không biết cách tạo ra các khoảng dự đoán bằng cách sử dụng trực tiếp Loess, nhưng bạn có thể xem xét hồi quy lượng tử (tùy thuộc vào mức độ cực kỳ của các khoảng dự đoán cần phải có). Mặt khác, nếu bạn chỉ muốn phù hợp để có khả năng phi tuyến tính, bạn có thể xem xét các spline để cho phép hàm thay đổi trên x.


4

Vâng, đường màu xanh là một hồi quy cục bộ trơn tru . Bạn có thể kiểm soát độ rung của dòng theo spantham số (từ 0 đến 1). Nhưng ví dụ của bạn là một "chuỗi thời gian", vì vậy hãy cố gắng tìm kiếm một số phương pháp phân tích phù hợp hơn là chỉ phù hợp với một đường cong trơn tru (chỉ nên phục vụ để tiết lộ xu hướng có thể).

Theo tài liệu để ggplot2 (và đặt trong nhận xét bên dưới): stat_smoothkhoảng tin cậy của độ mịn được thể hiện bằng màu xám. Nếu bạn muốn tắt khoảng tin cậy, hãy sử dụng se = FALSE.


1
(1) Tôi không thấy trong tài liệu tham khảo của bạn, nơi nó tuyên bố vùng màu xám là khoảng tin cậy theo chiều. Có vẻ như khá rõ ràng từ các ví dụ rằng khu vực màu xám thay vào đó là khoảng tin cậy cho đường cong . (2) Không ai có thể tuyên bố một cách hợp lý tỷ lệ lớn các điểm nằm ngoài vùng màu xám là "ngoại lệ"; Có quá nhiều trong số họ.
whuber

(1) sai lầm của tôi, ở đây tôi thêm một cuốn sách đề cập đến "khoảng tin cậy theo điểm": Wickham H (2009) ggplot2 Đồ họa thanh lịch để phân tích dữ liệu. Phương tiện 212. (trang 14). (2) Tôi đồng ý.
Ladislav Naďo

Có bất kỳ tài liệu tham khảo nào của bạn nêu mức độ tin cậy mặc định được đặt ở mức nào không?
whuber

Không, tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về cài đặt mặc định.
Ladislav Naďo

Tôi tìm thấy mặc định trên trang đầu tiên của tài liệu tham khảo của bạn: "(0,95 theo mặc định)." Điều đó có nghĩa rằng một trong hai mượt mà này có lỗi nghiêm trọng hoặc nếu không giải thích của bạn tham chiếu là sai: vì như vậy một phần lớn của các điểm dữ liệu thường nằm ngoài vùng màu xám và giả mã là đúng, vùng màu xám trở thành một khu vực tự tin cho dự đoán (đường cong phù hợp) và không phải là vùng tin cậy cho các điểm.
whuber
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.