Bagaimana cara mendapatkan R-kuadrat untuk fit loess?

15

Bagaimana cara menghitung statistik R-squared ( ) dalam R untuk dan / atau fungsi output? Misalnya untuk data ini:r2loesspredict

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

cars.lpmemiliki dua larik fituntuk model dan se.fituntuk kesalahan standar.

Yuriy Petrovskiy
sumber
Dalam regresi linier, sama dengan korelasi kuadrat antara nilai yang diamati dan nilai yang dipasang - bagaimana dengan itu? R2
Makro

Jawaban:

10

Pikiran pertama saya adalah menghitung ukuran R 2 semuR2 sebagai berikut:

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

Di sini, kami mendapatkan nilai 0,6814984 ( ), dekat dengan apa yang akan diperoleh dari GAM : cor(cars$dist, predict(cars.lo))^2

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

Ini juga tampaknya sesuai dengan loessfungsi S yang akan kembali (saya tidak punya S jadi saya tidak bisa memeriksa sendiri) sebagai Multiple R-squared. Misalnya, menggunakan airqualitydataset R, yang terlihat sepertiairloessR2

masukkan deskripsi gambar di sini

Saya harus mencatat bahwa saya tidak menemukan makalah yang berurusan secara khusus dengan itu (ok, itu hanya googling cepat), dan William Cleveland tidak berbicara tentang R2

Namun, saya bertanya-tanya apakah kebebasan yang Anda dapat memilih tingkat perataan (atau jendela span) tidak menghalangi penggunaanR2

chl
sumber
8
R2R2
@whuber: Jadi akan lebih baik (lebih akurat) untuk menggunakan model polinominal (atau lainnya) dengan r2didukung kapan harus menggunakan model loess jika saya perlu mendapatkan seberapa baik model yang dihasilkan menggambarkan data sumber?
Yuriy Petrovskiy
3
Belum tentu "lebih akurat." Memang, menggunakan Loess untuk mencapai akurasi dalam model prediktif akan menjadi hal yang bodoh. Saya pikir merujuk Loess sebagai "model" menyampaikan kemungkinan kesalahpahaman tentang cara kerjanya dan bagaimana itu dimaksudkan untuk digunakan: itu benar-benar alat eksplorasi dan grafis untuk membantu melihat pola dan tren. Karena ini benar-benar hanya jendela bergerak yang lebih halus, ia bertindak sebagai model lingkungan spasial yang cukup rumit di mana nilai yang dipasang pada suatu titik tergantung pada titik tetangga yang ada dalam dataset dan pada nilai-nilai di sana.
whuber
2
Akan lebih konseptual suara untuk menghitung r2dari GAM?
russellpierce