Ngoài câu trả lời tuyệt vời của @ mkt, tôi nghĩ tôi sẽ cung cấp một ví dụ cụ thể để bạn thấy để bạn có thể phát triển một số trực giác.
Tạo dữ liệu cho ví dụ
Trong ví dụ này, tôi đã tạo một số dữ liệu bằng R như sau:
set.seed(124)
n <- 200
x1 <- rnorm(n, mean=0, sd=0.2)
x2 <- rnorm(n, mean=0, sd=0.5)
eps <- rnorm(n, mean=0, sd=1)
y = 1 + 10*x1 + 0.4*x2 + 0.8*x2^2 + eps
Như bạn có thể thấy ở trên, dữ liệu đến từ mô hình , trong đó là thuật ngữ lỗi ngẫu nhiên được phân phối bình thường với có nghĩa là và phương sai không xác định . Hơn nữa, , , và , trong khi . y=β0+β1∗x1+β2∗x2+β3∗x22+ϵϵ0σ2β0=1β1=10β2=0.4β3=0.8σ=1
Trực quan hóa dữ liệu được tạo thông qua Coplots
Dựa vào dữ liệu mô phỏng về biến kết quả y và biến dự đoán x1 và x2, chúng ta có thể hình dung các dữ liệu này bằng cách sử dụng coplots :
library(lattice)
coplot(y ~ x1 | x2,
number = 4, rows = 1,
panel = panel.smooth)
coplot(y ~ x2 | x1,
number = 4, rows = 1,
panel = panel.smooth)
Các coplots kết quả được hiển thị dưới đây.
Các coplot đầu tiên hiển thị các biểu đồ phân tán của y so với x1 khi x2 thuộc bốn phạm vi giá trị quan sát khác nhau (trùng nhau) và tăng cường mỗi phân tán này với sự phù hợp trơn tru, có thể phi tuyến tính có hình dạng được ước tính từ dữ liệu.
Coplot thứ hai hiển thị các biểu đồ phân tán của y so với x2 khi x1 thuộc bốn phạm vi giá trị quan sát khác nhau (trùng nhau) và tăng cường từng phân tán này với sự phù hợp trơn tru.
Các coplot đầu tiên cho thấy thật hợp lý khi giả định rằng x1 có hiệu ứng tuyến tính đối với y khi điều khiển x2 và hiệu ứng này không phụ thuộc vào x2.
Coplot thứ hai cho thấy thật hợp lý khi giả định rằng x2 có hiệu ứng bậc hai đối với y khi điều khiển x1 và hiệu ứng này không phụ thuộc vào x1.
Phù hợp với một mô hình được chỉ định chính xác
Các coplots đề nghị khớp mô hình sau với dữ liệu, cho phép tạo hiệu ứng tuyến tính của x1 và hiệu ứng bậc hai của x2:
m <- lm(y ~ x1 + x2 + I(x2^2))
Xây dựng thành phần cộng với các lô dư cho mô hình được chỉ định chính xác
Khi mô hình được chỉ định chính xác được gắn vào dữ liệu, chúng ta có thể kiểm tra các thành phần cộng với các ô dư cho từng yếu tố dự đoán có trong mô hình:
library(car)
crPlots(m)
Các thành phần này cộng với các ô dư được hiển thị bên dưới và cho thấy mô hình đã được chỉ định chính xác vì chúng không hiển thị bằng chứng về phi tuyến, v.v. Thật vậy, trong mỗi ô này, không có sự khác biệt rõ ràng giữa đường màu xanh chấm chấm gợi ý về hiệu ứng tuyến tính của bộ dự báo tương ứng và dòng màu đỏ tươi gợi ý về hiệu ứng phi tuyến tính của bộ dự báo đó trong mô hình.
Phù hợp với một mô hình được chỉ định không chính xác
Chúng ta hãy chơi người ủng hộ của quỷ và nói rằng mô hình lm () của chúng ta trên thực tế được chỉ định không chính xác (nghĩa là sai chính tả), theo nghĩa là nó đã bỏ qua thuật ngữ bậc hai I (x2 ^ 2):
m.mis <- lm(y ~ x1 + x2)
Xây dựng các thành phần cộng với các lô dư cho mô hình được chỉ định không chính xác
Nếu chúng ta xây dựng thành phần cộng với các ô dư cho mô hình sai chính tả, chúng ta sẽ thấy ngay một gợi ý về tính phi tuyến tính của hiệu ứng của x2 trong mô hình sai chính tả:
crPlots(m.mis)
Nói cách khác, như được thấy dưới đây, mô hình sai chính tả đã thất bại trong việc thu được hiệu ứng bậc hai của x2 và hiệu ứng này hiển thị trong thành phần cộng với biểu đồ dư tương ứng với dự đoán x2 trong mô hình sai chính tả.
Việc xác định sai hiệu ứng của x2 trong mô hình m.mis cũng sẽ rõ ràng khi kiểm tra các lô của phần dư liên quan đến mô hình này so với từng yếu tố dự đoán x1 và x2:
par(mfrow=c(1,2))
plot(residuals(m.mis) ~ x1, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
plot(residuals(m.mis) ~ x2, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
Như được thấy dưới đây, biểu đồ của phần dư được liên kết với m.mis so với x2 thể hiện một mô hình bậc hai rõ ràng, cho thấy rằng mô hình m.mis đã không thể bắt được mô hình hệ thống này.
Thay đổi mô hình được chỉ định không chính xác
Để chỉ định chính xác mô hình m.mis, chúng ta sẽ cần phải tăng nó để nó cũng bao gồm thuật ngữ I (x2 ^ 2):
m <- lm(y ~ x1 + x2 + I(x2^2))
Dưới đây là các sơ đồ của phần dư so với x1 và x2 cho mô hình được chỉ định chính xác này:
par(mfrow=c(1,2))
plot(residuals(m) ~ x1, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
plot(residuals(m) ~ x2, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
Lưu ý rằng mẫu bậc hai được thấy trước đây trong biểu đồ phần dư so với x2 cho mô hình sai chính tả m.mis hiện đã biến mất khỏi biểu đồ phần dư so với x2 cho mô hình m được chỉ định chính xác.
Lưu ý rằng trục tung của tất cả các ô dư so với x1 và x2 hiển thị ở đây phải được gắn nhãn là "Dư lượng". Vì một số lý do, R Studio cắt nhãn đó đi.