Hầu hết các độ mịn bổ sung trong hộp công cụ mgcv thực sự có sẵn cho các ứng dụng chuyên gia - bạn có thể bỏ qua chúng cho các GAM thông thường, đặc biệt là các độ mịn đơn biến (bạn không cần một spline hiệu ứng ngẫu nhiên, một spline trên quả cầu, trường ngẫu nhiên Markov, hoặc một bộ phim xà phòng mượt mà hơn nếu bạn có dữ liệu đơn biến chẳng hạn.)
Nếu bạn có thể chịu chi phí thiết lập, hãy sử dụng spline hồi quy tấm mỏng (TPRS).
Các spline này là tối ưu theo nghĩa MSE không triệu chứng, nhưng yêu cầu một chức năng cơ bản cho mỗi quan sát. Những gì Simon làm trong mgcv là tạo ra một phiên bản xếp hạng thấp của TPRS tiêu chuẩn bằng cách sử dụng toàn bộ cơ sở TPRS và khiến nó bị phân hủy. Điều này tạo ra một cơ sở mới trong đó k
hàm cơ sở đầu tiên trong không gian mới giữ lại hầu hết tín hiệu trong cơ sở ban đầu, nhưng trong nhiều hàm cơ sở ít hơn. Đây là cách mgcv quản lý để có được một TPRS chỉ sử dụng một số chức năng cơ bản được chỉ định thay vì một chức năng cho mỗi quan sát. Sự xuất tinh này bảo tồn phần lớn sự tối ưu của cơ sở TPRS cổ điển, nhưng với nỗ lực tính toán đáng kể cho các tập dữ liệu lớn.
Nếu bạn không thể chịu chi phí thiết lập TPRS, hãy sử dụng các hàm hồi quy bậc ba (CRS)
Đây là một cơ sở nhanh chóng để tạo và do đó phù hợp với các vấn đề với nhiều dữ liệu. Tuy nhiên, nó dựa trên nút thắt, do đó, ở một mức độ nào đó, người dùng bây giờ cần phải chọn vị trí các nút đó. Đối với hầu hết các vấn đề, có rất ít vấn đề đạt được bằng cách vượt ra ngoài vị trí nút mặc định (tại ranh giới của dữ liệu và cách đều nhau ở giữa), nhưng nếu bạn có mẫu đặc biệt không đồng đều trên phạm vi của hiệp phương sai, bạn có thể chọn đặt các nút thắt ví dụ, các lượng tử mẫu cách đều nhau của hiệp phương sai.
Mỗi loại mịn khác trong mgcv đều đặc biệt, được sử dụng khi bạn muốn làm mịn đẳng hướng hoặc hai hoặc nhiều đồng biến, hoặc để làm mịn không gian, hoặc thực hiện co rút, hoặc hiệu ứng ngẫu nhiên và spline ngẫu nhiên, hoặc ở đó các biến số theo chu kỳ, hoặc độ rung thay đổi phạm vi của một hiệp phương sai. Bạn chỉ cần mạo hiểm đến mức này vào hộp công cụ trơn tru nếu bạn gặp vấn đề cần xử lý đặc biệt.
Co ngót
Có các phiên bản thu nhỏ của cả TPRS và CRS tính bằng mgcv . Những điều này thực hiện một spline trong đó phần hoàn toàn trơn tru của cơ sở cũng phải chịu hình phạt mịn. Điều này cho phép quá trình lựa chọn độ mịn thu nhỏ lại một mặt mịn hơn cả một hàm tuyến tính về cơ bản bằng không. Điều này cho phép hình phạt độ mịn cũng thực hiện lựa chọn tính năng.
Duchon splines, P splines và B splines
Các spline này có sẵn cho các ứng dụng chuyên gia, nơi bạn cần xác định thứ tự cơ sở và thứ tự phạt riêng biệt. Duchon splines tổng quát hóa TPRS. Tôi có ấn tượng rằng các spline P đã được thêm vào mgcv để cho phép so sánh với các cách tiếp cận dựa trên khả năng bị phạt khác, và bởi vì chúng là các spline được sử dụng bởi Eilers & Marx trong bài báo năm 1996 của họ, đã thúc đẩy rất nhiều công việc tiếp theo trong GAMs. Các spline P cũng hữu ích như là một cơ sở cho các spline khác, như các spline với các ràng buộc hình dạng và các spline thích ứng.
Các spline B, như được thực hiện trong mgcv cho phép rất linh hoạt trong việc thiết lập hình phạt và các nút thắt cho các spline, có thể cho phép một số phép ngoại suy vượt quá phạm vi của dữ liệu được quan sát.
Spline tuần hoàn
Nếu phạm vi của các giá trị cho hiệp phương sai có thể được coi là trên một vòng tròn trong đó điểm cuối của phạm vi phải thực sự tương đương (tháng hoặc ngày trong năm, góc di chuyển, khía cạnh, hướng gió), có thể áp dụng ràng buộc này Điều cơ bản. Nếu bạn có đồng biến như thế này, thì sẽ hợp lý khi áp đặt ràng buộc này.
Chất làm mịn thích ứng
Thay vì điều chỉnh một GAM riêng biệt trong các phần của hiệp phương sai, các spline thích ứng sử dụng ma trận hình phạt có trọng số, trong đó các trọng số được phép thay đổi trơn tru trong phạm vi của hiệp phương sai. Ví dụ, đối với các spline TPRS và CRS, chúng giả định mức độ mịn như nhau trên phạm vi của hiệp phương sai. Nếu bạn có một mối quan hệ trong trường hợp này không phải là trường hợp, thì cuối cùng bạn có thể sử dụng nhiều mức độ tự do hơn dự kiến để cho phép spline thích ứng với các phần uốn lượn và không uốn lượn. Một ví dụ kinh điển trong văn học làm mịn là
library('ggplot2')
theme_set(theme_bw())
library('mgcv')
data(mcycle, package = 'MASS')
pdata <- with(mcycle,
data.frame(times = seq(min(times), max(times), length = 500)))
ggplot(mcycle, aes(x = times, y = accel)) + geom_point()
Những dữ liệu này thể hiện rõ ràng các giai đoạn có độ mịn khác nhau - hiệu quả bằng không đối với phần đầu tiên của loạt bài, rất nhiều trong quá trình tác động, giảm sau đó.
nếu chúng tôi phù hợp với một GAM tiêu chuẩn cho những dữ liệu này,
m1 <- gam(accel ~ s(times, k = 20), data = mcycle, method = 'REML')
chúng ta có một sự phù hợp hợp lý nhưng có một chút sự gượng gạo ở đầu và cuối phạm vi times
và sự phù hợp được sử dụng ~ 14 độ tự do
plot(m1, scheme = 1, residuals = TRUE, pch= 16)
Để phù hợp với độ rung khác nhau, một spline thích nghi sử dụng ma trận hình phạt có trọng số với các trọng số thay đổi trơn tru với hiệp phương sai. Ở đây tôi chỉnh lại mô hình ban đầu với cùng kích thước cơ sở (k = 20) nhưng bây giờ chúng tôi có 5 tham số độ mịn (mặc định là m = 5
) thay vì 1 ban đầu.
m2 <- gam(accel ~ s(times, k = 20, bs = 'ad'), data = mcycle, method = 'REML')
Lưu ý rằng mô hình này sử dụng mức độ tự do ít hơn nhiều (~ 8) và độ trơn được trang bị ít hơn ở phần cuối, trong khi vẫn có thể điều chỉnh phù hợp với những thay đổi lớn trong gia tốc đầu trong quá trình va chạm.
Điều thực sự đang diễn ra ở đây là spline có cơ sở để thông suốt và là cơ sở cho hình phạt (để cho phép các trọng số thay đổi trơn tru với hiệp phương sai). Theo mặc định cả trong số này là P splines, nhưng bạn cũng có thể sử dụng các loại cơ sở CRS quá ( bs
chỉ có thể là một trong những 'ps'
, 'cr'
, 'cc'
, 'cs'
.)
Như được minh họa ở đây, việc lựa chọn có nên thích nghi hay không thực sự phụ thuộc vào vấn đề; nếu bạn có một mối quan hệ mà bạn cho rằng hình thức chức năng là trơn tru, nhưng mức độ trơn tru khác nhau trong phạm vi của hiệp phương sai trong mối quan hệ thì một spline thích nghi có thể có ý nghĩa. Nếu loạt của bạn có các giai đoạn thay đổi nhanh chóng và các giai đoạn thay đổi thấp hoặc dần dần, điều đó có thể chỉ ra rằng có thể cần một sự thích nghi trơn tru.