Làm thế nào để tôi giải thích điều này phù hợp với cốt truyện dư?


17

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

Tôi không thực sự hiểu sự không đồng nhất. Tôi muốn biết liệu mô hình của tôi có phù hợp hay không theo cốt truyện này.


Vui lòng chuẩn bị một lô dư so với các giá trị quan sát được. Nếu độ biến thiên của các lỗi có thể liên kết với giá trị quan sát được thì điều này có thể gợi ý vấn đề không đồng nhất
IrishStat

1
@IrishState dư so với quan sát sẽ hiển thị tương quan. Chúng khó giải thích hơn vì điều này. Dư lượng so với được trang bị cho thấy sự gần đúng nhất mà chúng ta có về cách các lỗi liên quan đến dân số có nghĩa là gì, và phần nào hữu ích để kiểm tra sự xem xét thông thường hơn trong hồi quy xem liệu phương sai có liên quan đến trung bình hay không.
Glen_b -Reinstate Monica

Câu trả lời:


18

Như @IrishStat đã nhận xét, bạn cần kiểm tra các giá trị quan sát của mình đối với các lỗi của bạn để xem liệu có vấn đề với tính biến đổi hay không. Tôi sẽ trở lại điều này cho đến cuối cùng.

Chỉ cần để bạn có được một ý tưởng về những gì chúng tôi có nghĩa là bởi heteroskedasticity: khi bạn phù hợp với một mô hình tuyến tính trên một biến bạn là chủ yếu nói rằng bạn thực hiện với giả định rằng bạn y ~ N ( X β , σ 2 ) hoặc trong điều khoản của layman rằng bạn y dự kiến ​​sẽ đánh đồng X β cộng với một số lỗi có phương sai σ 2 . Đây thực tế tuyến tính của bạn mô hình y = X β + ε , nơi mà các lỗi ε ~ N ( 0 , σ 2 )yy~N(Xβ,σ2)yXβσ2y= =Xβ+εε~N(0,σ2). OK, tuyệt vời cho đến nay hãy xem mã đó:

set.seed(1);            #set the seed for reproducability
N = 100;                #Sample size
x = runif(N)            #Independant variable
beta = 4;               #Regression coefficient
epsilon = rnorm(N);     #Error with variance 1 and mean 0
y = x * beta + epsilon  #Your generative model
lin_mod <- lm(y ~x)  #Your linear model

đúng vậy, mô hình của tôi ứng xử thế nào:

x11(); par(mfrow=c(1,3));   #Make a new 1-by-3 plot
plot(residuals(lin_mod)); 
title("Simple Residual Plot - OK model")
acf(residuals(lin_mod), main = ""); 
title("Residual Autocorrelation Plot - OK model");
plot(fitted(lin_mod), residuals(lin_mod)); 
title("Residual vs Fit. value - OK model");

sẽ cung cấp cho bạn một cái gì đó như thế này: nhập mô tả hình ảnh ở đây có nghĩa là phần dư của bạn dường như không có xu hướng rõ ràng dựa trên chỉ số tùy ý của bạn (âm mưu thứ nhất - thực sự ít thông tin nhất), dường như không có mối tương quan thực sự giữa chúng (âm mưu thứ 2 - khá quan trọng và có lẽ quan trọng hơn homoskedasticity) và rằng các giá trị được trang bị không có xu hướng thất bại rõ ràng, nghĩa là. giá trị được trang bị của bạn so với phần dư của bạn xuất hiện khá ngẫu nhiên. Dựa trên điều này, chúng tôi sẽ nói rằng chúng tôi không có vấn đề gì về tính không đồng nhất vì phần dư của chúng tôi dường như có cùng phương sai ở mọi nơi.

OK, bạn muốn heteroskedasticity mặc dù. Đưa ra các giả định tương tự về tính tuyến tính và tính gây nghiện, hãy xác định một mô hình tổng quát khác với các vấn đề không đồng nhất "rõ ràng". Cụ thể sau một số giá trị quan sát của chúng tôi sẽ ồn ào hơn nhiều.

epsilon_HS = epsilon;               
epsilon_HS[ x>.55  ] = epsilon_HS[x>.55 ] * 9       #Heteroskedastic errors

y2 = x * beta + epsilon_HS      #Your generative model
lin_mod2 <- lm(y2 ~x)            #Your unfortunate LM

trong đó các sơ đồ chẩn đoán đơn giản của mô hình:

 par(mfrow=c(1,3));   #Make a new 1-by-3 plot
 plot(residuals(lin_mod2)); 
 title("Simple Residual Plot - Fishy model")
 acf(residuals(lin_mod2), main = ""); 
 title("Residual Autocorrelation Plot - Fishy model");
 plot(fitted(lin_mod2), residuals(lin_mod2)); 
 title("Residual vs Fit. value - Fishy model");

nên đưa ra một cái gì đó như: nhập mô tả hình ảnh ở đây Ở đây cốt truyện đầu tiên có vẻ hơi "kỳ quặc"; có vẻ như chúng ta có một số phần dư tụ lại ở cường độ nhỏ nhưng điều đó không phải lúc nào cũng là vấn đề ... Âm mưu thứ hai là ổn, có nghĩa là chúng ta không có mối tương quan giữa phần dư của bạn trong các độ trễ khác nhau để chúng ta có thể thở trong giây lát. Và âm mưu thứ ba làm đổ đậu: rõ ràng là khi chúng ta đạt được giá trị cao hơn thì phần còn lại của chúng ta bùng nổ. Chúng tôi chắc chắn có sự không đồng nhất trong phần dư của mô hình này và chúng tôi cần phải làm gì đó về (ví dụ: IRLS , hồi quy Sen Theil , v.v.)

Ở đây vấn đề đã thực sự rõ ràng nhưng trong các trường hợp khác chúng ta có thể đã bỏ lỡ; để giảm cơ hội bỏ lỡ nó, một cốt truyện sâu sắc khác được đề cập bởi IrishStat: Residuals so với các giá trị quan sát hoặc trong vấn đề đồ chơi của chúng tôi:

 par(mfrow=c(1,2))
 plot(y, residuals(lin_mod) ); 
 title( "Residual vs Obs. value - OK model")
 plot(y2, residuals(lin_mod2) ); 
 title( "Residual vs Obs. value - Fishy model")

sẽ cung cấp một cái gì đó như:

nhập mô tả hình ảnh ở đâyR2R20,59890,03919

Công bằng trong tình huống của bạn, phần dư của bạn so với biểu đồ giá trị được trang bị có vẻ tương đối OK. Kiểm tra số dư của bạn so với các giá trị quan sát của bạn có thể sẽ hữu ích để đảm bảo bạn ở bên an toàn. (Tôi đã không đề cập QQ-lô hoặc bất cứ điều gì như thế không làm điều làm rắc rối hơn, nhưng bạn có thể muốn một thời gian ngắn rà soát những người quá.) Tôi hy vọng điều này sẽ giúp bạn hiểu rõ hơn về heteroskedasticity và những gì bạn nên tìm cho ra.


4
Bạn không nên ngạc nhiên hay lo lắng khi thấy mối quan hệ giữa phần dư & các giá trị quan sát được . Hãy thử tính kết quả lý thuyết cho một mô hình được chỉ định chính xác.
Scortchi - Phục hồi Monica


+1 cho cả hai bình luận của bạn. Cảm ơn bạn đã chỉ ra vấn đề đó; bình luận của bạn là / là tại chỗ. Tôi đã chỉnh sửa đoạn văn đó để nó đọc chính xác.
usεr11852 nói Phục hồi Monic

1
Không có gì. Tôi vẫn không chắc giá trị nào bạn nghĩ là biểu đồ của phần dư so với giá trị phản hồi quan sát được thêm vào; sự tồn tại và bản chất của tính không đồng nhất ít rõ ràng hơn trong biểu đồ của phần dư so với giá trị đáp ứng được trang bị.
Scortchi - Tái lập Monica

Tôi (hầu hết) đồng ý. Như bạn đã thấy nó cũng không phải là âm mưu chẩn đoán đầu tiên của tôi. Nó được đề xuất bởi IrishStat và tôi nghĩ rằng nó là cần thiết cho một câu trả lời đầy đủ cho OP.
usεr11852 nói Phục hồi Monic

9

Câu hỏi của bạn dường như là về tính không đồng nhất (vì bạn đã đề cập đến nó theo tên và thêm thẻ), nhưng câu hỏi rõ ràng của bạn (ví dụ: trong tiêu đề và) kết thúc bài đăng của bạn có khái quát hơn, "liệu mô hình của tôi có phù hợp hay không theo điều này âm mưu". Có nhiều thứ để xác định xem một mô hình có phù hợp hay không hơn là đánh giá tính không đồng nhất.

Tôi đã loại bỏ dữ liệu của bạn bằng cách sử dụng trang web này (ht @Alexis). Lưu ý rằng dữ liệu được sắp xếp theo thứ tự tăng dần của fitted. Dựa trên hồi quy và cốt truyện phía trên bên trái, có vẻ như nó đủ trung thành:

mod = lm(residuals~fitted)
summary(mod)
# ...
# Residuals:
#   Min       1Q   Median       3Q      Max 
# -0.78374 -0.13559  0.00928  0.19525  0.48107 
# 
# Coefficients:
#   Estimate Std. Error t value Pr(>|t|)
# (Intercept)  0.06406    0.35123   0.182    0.856
# fitted      -0.01178    0.05675  -0.208    0.836
# 
# Residual standard error: 0.2349 on 53 degrees of freedom
# Multiple R-squared:  0.0008118,  Adjusted R-squared:  -0.01804 
# F-statistic: 0.04306 on 1 and 53 DF,  p-value: 0.8364

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

Tôi không thấy bất kỳ bằng chứng nào về sự không đồng nhất ở đây. Từ phía trên bên phải (qq-cốt truyện), dường như không có bất kỳ vấn đề nào với giả định quy tắc.

Mặt khác, đường cong "S" trong vùng thấp màu đỏ phù hợp (ở ô trên bên trái), và các ô acf và pacf (ở phía dưới) có vẻ có vấn đề. Ở phía xa bên trái, hầu hết các phần dư nằm trên đường 0 màu xám. Khi bạn di chuyển sang phải, phần lớn phần dư giảm xuống dưới 0, sau đó ở trên và sau đó lại ở dưới. Kết quả của điều này là nếu tôi nói với bạn rằng tôi đang xem một phần dư cụ thể và nó có giá trị âm (nhưng tôi không nói cho bạn biết tôi đang xem cái nào), bạn có thể đoán chính xác là phần dư gần đó cũng có giá trị tiêu cực. Nói cách khác, phần dư không độc lập. Nhận biết điều gì đó về một người cung cấp cho bạn thông tin về người khác.

Ngoài các lô, điều này có thể được thử nghiệm. Một cách tiếp cận đơn giản là sử dụng một bài kiểm tra chạy :

library(randtests)
runs.test(residuals)
#  Runs Test
# 
# data:  residuals
# statistic = -3.2972, runs = 16, n1 = 27, n2 = 27, n = 54, p-value = 0.0009764
# alternative hypothesis: nonrandomness

X2X3

Để trả lời các câu hỏi rõ ràng của bạn: Âm mưu của bạn hiển thị tự động nối tiếp / không độc lập với phần dư của bạn. Nó có nghĩa là mô hình của bạn không phù hợp ở dạng hiện tại của nó.

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.