Làm thế nào để có được một bình phương R cho phù hợp với hoàng thổ?


15

Làm thế nào để tính toán thống kê R bình phương ( ) trong R cho và / hoặc đầu ra hàm? Ví dụ cho dữ liệu này:r2loesspredict

cars.lo <- loess(dist ~ speed, cars)
cars.lp <- predict(cars.lo, data.frame(speed = seq(5, 30, 1)), se = TRUE)

cars.lpcó hai mảng fitcho mô hình và se.fitcho lỗi tiêu chuẩn.


Trong hồi quy tuyến tính bằng với tương quan bình phương giữa các giá trị quan sát và các giá trị được trang bị - làm thế nào về điều đó? R2
Macro

Câu trả lời:


10

Suy nghĩ đầu tiên của tôi là tính toán số đo R 2 giảR2 như sau:

ss.dist <- sum(scale(cars$dist, scale=FALSE)^2)
ss.resid <- sum(resid(cars.lo)^2)
1-ss.resid/ss.dist

Ở đây, chúng ta có được một giá trị của 0.6814984 ( ), gần với những gì sẽ được lấy từ một GAM : cor(cars$dist, predict(cars.lo))^2

library(mgcv)
summary(gam(dist ~ speed, data=cars))

loessMultiple R-squaredairqualityairloessR2

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

R2

spanR2


8
R2R2

r2

3
Không nhất thiết là "chính xác hơn." Thật vậy, sử dụng Loess để đạt được độ chính xác trong một mô hình dự đoán sẽ là điên rồ. Tôi nghĩ rằng đề cập đến Loess như một "mô hình" truyền tải một sự hiểu lầm có thể có về cách thức hoạt động và cách sử dụng nó: nó thực sự là một công cụ đồ họa, khám phá để giúp xem các mô hình và xu hướng. Bởi vì nó thực sự chỉ là một cửa sổ chuyển động mượt mà hơn, nó hoạt động như một mô hình lân cận không gian khá phức tạp, trong đó giá trị được trang bị tại một điểm phụ thuộc vào các điểm lân cận tồn tại trong tập dữ liệu và các giá trị ở đó.
whuber

2
r2
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.