Thư viện splines có các hàm bs
và ns
sẽ tạo cơ sở spline để sử dụng với lm
hàm, sau đó bạn có thể điều chỉnh mô hình tuyến tính và mô hình bao gồm spline và sử dụng anova
hàm để thực hiện kiểm tra mô hình đầy đủ và giảm để xem mô hình spline có phù hợp hơn đáng kể không hơn mô hình tuyến tính.
Dưới đây là một số mã ví dụ:
x <- rnorm(1000)
y <- sin(x) + rnorm(1000, 0, 0.5)
library(splines)
fit1 <- lm(y~x)
fit0 <- lm(y~1)
fit2 <- lm(y~bs(x,5))
anova(fit1,fit2)
anova(fit0,fit2)
plot(x,y, pch='.')
abline(fit1, col='red')
xx <- seq(min(x),max(x), length.out=250)
yy <- predict(fit2, data.frame(x=xx))
lines(xx,yy, col='blue')
Bạn cũng có thể sử dụng poly
hàm để thực hiện điều chỉnh đa thức và kiểm tra các số hạng phi tuyến tính như một bài kiểm tra độ cong.
R2
Có các kỹ thuật để tính toán và vẽ khoảng tin cậy cho phù hợp với hoàng thổ (tôi nghĩ có thể có một cách tích hợp trong gói ggplot2), bạn có thể vẽ biểu đồ độ tin cậy và xem liệu một đường thẳng có phù hợp với băng tần không (điều này không phải là giá trị p, nhưng vẫn cho có / không.
Bạn có thể điều chỉnh mô hình tuyến tính và lấy phần dư và khớp mô hình hoàng thổ với phần dư làm phản hồi (và biến quan tâm là yếu tố dự đoán), nếu mô hình thực là tuyến tính thì sự phù hợp này phải gần với đường thẳng và sắp xếp lại các điểm liên quan đến dự đoán không nên làm cho bất kỳ sự khác biệt. Bạn có thể sử dụng điều này để tạo ra một bài kiểm tra hoán vị. Phù hợp với hoàng thổ, tìm giá trị dự đoán xa nhất từ 0, bây giờ hoán vị ngẫu nhiên các điểm và khớp với một hoàng thổ mới và tìm điểm dự đoán xa nhất từ 0, lặp lại một loạt lần, giá trị p là tỷ lệ của các giá trị được hoán vị hơn nữa từ 0 so với giá trị ban đầu.
Bạn cũng có thể muốn xem xác thực chéo là một phương pháp chọn băng thông hoàng thổ. Điều này không cho giá trị p, nhưng băng thông vô hạn tương ứng với một mô hình tuyến tính hoàn hảo, nếu xác thực chéo cho thấy băng thông rất lớn thì điều đó cho thấy mô hình tuyến tính có thể hợp lý, nếu băng thông cao hơn rõ ràng kém hơn một số băng thông nhỏ hơn thì điều này cho thấy độ cong xác định và tuyến tính là không đủ.