Apakah berbobot dalam model linier yang kuat berarti untuk analisis goodness of fit?

19

Saya memperkirakan model linier yang kuat Rdengan bobot MM menggunakan rlm()paket MASS. `R`` tidak memberikan nilai untuk model, tetapi saya ingin memilikinya jika ini merupakan jumlah yang berarti. Saya juga tertarik untuk mengetahui apakah ada makna memiliki nilai yang menimbang varian total dan residual dengan cara yang sama dengan pengamatan yang tertimbang dalam regresi yang kuat. Pemikiran umum saya adalah bahwa, jika, untuk keperluan regresi, kita pada dasarnya dengan bobot memberikan beberapa perkiraan pengaruh kurang karena mereka outlier dalam beberapa cara, maka mungkin untuk tujuan penghitungan kita juga harus memberikan taksiran yang sama kurang berpengaruh?R2R2r2

Saya menulis dua fungsi sederhana untuk dan berbobot , semuanya ada di bawah. Saya juga memasukkan hasil menjalankan fungsi-fungsi ini untuk model saya yang disebut HI9. EDIT: Saya menemukan halaman web Adelle Coster dari UNSW yang memberikan rumus untuk itu termasuk vektor bobot dalam menghitung perhitungan keduanya dan sama seperti yang saya lakukan, dan memintanya untuk referensi yang lebih formal: http: //web.maths. unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (masih mencari bantuan dari Cross divalidasi tentang bagaimana menafsirkan rq tertimbang ini .)R2R2R2SSeSStr2

#I used this function to calculate a basic r-squared from the robust linear model
r2 <- function(x){  
+ SSe <- sum((x$resid)^2);  
+ observed <- x$resid+x$fitted;  
+ SSt <- sum((observed-mean(observed))^2);  
+ value <- 1-SSe/SSt;  
+ return(value);  
+ }  
r2(HI9)  
[1] 0.2061147

#I used this function to calculate a weighted r-squared from the robust linear model
> r2ww <- function(x){
+ SSe <- sum((x$w*x$resid)^2); #the residual sum of squares is weighted
+ observed <- x$resid+x$fitted;
+ SSt <- sum((x$w*(observed-mean(observed)))^2); #the total sum of squares is weighted      
+ value <- 1-SSe/SSt;
+ return(value);
+ }
 > r2ww(HI9)
[1] 0.7716264

Terima kasih kepada siapa pun yang meluangkan waktu untuk menjawab ini. Mohon terima permintaan maaf saya jika sudah ada referensi yang sangat bagus tentang hal ini yang saya lewatkan, atau jika kode saya di atas sulit dibaca (saya bukan seorang pembuat kode).

CraigMilligan
sumber
letakkan bobot di dalam lm () dan ambil r-kuadrat dari sana (mengapa menemukan kembali roda?)
user603
1
terima kasih atas tip tentang cara melakukan apa yang saya lakukan lebih efisien. adakah yang bisa mengomentari arti dari r-squared tertimbang yang saya jelaskan / usulkan?
CraigMilligan
@ user603: Bagaimana Anda benar-benar akan menempatkan bobot di dalam lm ()?
histelheim
Hanya untuk pujian, kuadrat terkecil tertimbang yang dipasang di R adalah dengan meminimalkan jumlah (w * e ^ 2), di mana e adalah residu. Jadi untuk Anda kode perhitungan, semua bobot w harus diambil akar kuadrat.
Yuanhao Lai
Saya ingin menekankan bahwa kita tidak harus mengambil rata-rata tertimbang, setidaknya saya percaya bahwa karena sebuah program yang saya tulis memberikan r-squared mendekati 1 dengan: klasik r-squared tertimbang r-squared tetapi TIDAK dengan bobot r- kuadrat di mana nilai rata-rata tertimbang juga, saya menemukan -6 itu kontra-intuitif bahkan untuk saya, tapi saya percaya pengalaman itu
pierre

Jawaban:

22

Jawaban berikut didasarkan pada: (1) interpretasi saya terhadap Willett dan Singer (1988) Catatan Perhatian Lain tentang R-squared: Digunakan dalam analisis regresi kuadrat terkecil tertimbang. Ahli Statistik Amerika. 42 (3). pp236-238, dan (2) premis bahwa regresi linier yang kuat pada dasarnya adalah regresi kuadrat terkecil tertimbang dengan bobot yang diestimasi oleh proses berulang.

Rumus yang saya berikan dalam pertanyaan untuk r2w membutuhkan koreksi kecil agar sesuai dengan persamaan 4 di Willet dan Singer (1988) untuk r2wls: perhitungan SSt juga harus menggunakan rata-rata tertimbang:

the correction is SSt <- sum((x$w*observed-mean(x$w*observed))^2)].

Apa arti dari r-squared berbobot (dikoreksi) ini? Willett dan Singer mengartikannya sebagai: "koefisien determinasi dalam dataset [tertimbang] yang ditransformasikan. Ini adalah ukuran proporsi variasi dalam Y tertimbang yang dapat dihitung dengan ditimbang X, dan merupakan jumlah yang dihasilkan sebagai R2 oleh paket komputer statistik utama ketika regresi WLS dilakukan ".

Apakah ini bermakna sebagai tolok ukur kebaikan? Ini tergantung pada bagaimana itu disajikan dan ditafsirkan. Willett dan Singer mengingatkan bahwa ini biasanya sedikit lebih tinggi daripada r-kuadrat yang diperoleh dalam regresi kuadrat biasa, dan nilai tinggi mendorong tampilan yang menonjol ... tetapi tampilan ini mungkin menipu JIKA ditafsirkan dalam arti konvensional r -Squared (sebagai proporsi tidak tertimbangvariasi dijelaskan oleh model). Willett dan Singer mengusulkan bahwa alternatif yang kurang 'menipu' adalah pseudoR2wls (persamaan mereka 7), yang setara dengan fungsi saya r2 dalam pertanyaan awal. Secara umum, Willett dan Singer juga mengingatkan bahwa tidak baik bergantung pada r2 (bahkan pseudor2wl mereka) sebagai satu-satunya tolok ukur goodness of fit. Terlepas dari peringatan ini, keseluruhan premis dari regresi yang kuat adalah bahwa beberapa kasus dinilai 'tidak sebagus' dan tidak terlalu banyak dihitung dalam pemasangan model, dan mungkin baik untuk mencerminkan hal ini di bagian dari proses penilaian model. Gambaran r-squared yang dijelaskan, dapat menjadi salah satu tolok ukur goodness of fit - asalkan interpretasi yang benar diberikan dengan jelas dalam presentasi dan tidak diandalkan sebagai satu-satunya penilaian goodness of fit.

CraigMilligan
sumber
1
(+1). Terima kasih telah meluangkan waktu untuk memberikan jawabannya.
user603
1

@CraigMilligan. Tidak seharusnya:

  • berat berada di luar kurung kuadrat
  • rata-rata tertimbang dihitung untuk mana kita juga bisa menggunakansum(x$w*observed)/sum(x$w)weighted.mean(observed,x$w)

Sesuatu seperti ini:

r2ww <- function(x){
  SSe <- sum(x$w*(x$resid)^2)
  observed <- x$resid+x$fitted
  SSt <- sum(x$w*(observed-weighted.mean(observed,x$w))^2)
  value <- 1-SSe/SSt;
  return(value);
}
Julien Massardier
sumber