R - Bingung dengan Terminologi Sisa


34
  • Root berarti kuadrat kesalahan
  • jumlah sisa kuadrat
  • kesalahan standar residual
  • berarti kesalahan kuadrat
  • kesalahan tes

Saya pikir saya dulu mengerti istilah-istilah ini, tetapi semakin saya melakukan masalah statistik semakin saya bingung di mana saya menebak diri saya. Saya ingin jaminan ulang & contoh nyata

Saya dapat menemukan persamaannya secara online dengan mudah, tetapi saya mengalami kesulitan untuk mendapatkan penjelasan 'jelaskan seperti saya 5' dari istilah-istilah ini sehingga saya dapat mengkristalkan perbedaan di kepala saya dan bagaimana satu mengarah ke yang lain.

Jika ada yang bisa mengambil kode ini di bawah ini dan tunjukkan bagaimana saya akan menghitung masing-masing istilah ini saya akan sangat menghargainya. Kode R akan menjadi luar biasa ..

Menggunakan contoh di bawah ini:

summary(lm(mpg~hp, data=mtcars))

Tunjukkan pada saya dalam kode R cara menemukan:

rmse = ____
rss = ____
residual_standard_error = ______  # i know its there but need understanding
mean_squared_error = _______
test_error = ________

Poin bonus untuk menjelaskan seperti saya 5 perbedaan / kesamaan antara ini. contoh:

rmse = squareroot(mss)

2
Bisakah Anda memberikan konteks di mana Anda mendengar istilah " test error "? Karena ada yang sesuatu yang disebut 'error test' tapi aku tidak yakin itu apa yang Anda cari ... (itu muncul dalam konteks memiliki set tes dan training set --does setiap suara yang familiar? )
Steve S

Ya - pemahaman saya untuk itu adalah model yang dihasilkan pada set pelatihan yang diterapkan pada set tes. Kesalahan pengujian dimodelkan y - uji y atau (dimodelkan y - uji y) ^ 2 atau (dimodelkan y - uji y) ^ 2 /// DF (atau N?) Atau ((dimodelkan - uji y) ^ 2 / N) ^. 5?
user3788557

Jawaban:


60

Seperti yang diminta, saya ilustrasikan menggunakan regresi sederhana menggunakan mtcarsdata:

fit <- lm(mpg~hp, data=mtcars)
summary(fit)

Call:
lm(formula = mpg ~ hp, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.7121 -2.1122 -0.8854  1.5819  8.2360 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
hp          -0.06823    0.01012  -6.742 1.79e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 3.863 on 30 degrees of freedom
Multiple R-squared:  0.6024,    Adjusted R-squared:  0.5892 
F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

The rata kuadrat error (MSE) adalah mean dari kuadrat residual:

# Mean squared error
mse <- mean(residuals(fit)^2)
mse
[1] 13.98982

Root mean squared error (RMSE) kemudian adalah akar kuadrat dari MSE:

# Root mean squared error
rmse <- sqrt(mse)
rmse
[1] 3.740297

Jumlah sisa kuadrat (RSS) adalah jumlah dari sisa kuadrat:

# Residual sum of squares
rss <- sum(residuals(fit)^2)
rss
[1] 447.6743

Kesalahan standar residual (RSE) adalah akar kuadrat dari (RSS / derajat kebebasan):

# Residual standard error
rse <- sqrt( sum(residuals(fit)^2) / fit$df.residual ) 
rse
[1] 3.862962

Perhitungan yang sama, disederhanakan karena kami sebelumnya telah menghitung rss:

sqrt(rss / fit$df.residual)
[1] 3.862962

Istilah kesalahan tes dalam konteks regresi (dan teknik analitik prediktif lainnya) biasanya mengacu pada penghitungan statistik uji pada data uji, berbeda dari data pelatihan Anda.

Dengan kata lain, Anda memperkirakan model menggunakan sebagian dari data Anda (sering kali sampel 80%) dan kemudian menghitung kesalahan menggunakan sampel tahan. Sekali lagi, saya ilustrasikan menggunakan mtcars, kali ini dengan sampel 80%

set.seed(42)
train <- sample.int(nrow(mtcars), 26)
train
 [1] 30 32  9 25 18 15 20  4 16 17 11 24 19  5 31 21 23  2  7  8 22 27 10 28  1 29

Perkirakan model, lalu prediksi dengan data tahan:

fit <- lm(mpg~hp, data=mtcars[train, ])
pred <- predict(fit, newdata=mtcars[-train, ])
pred
 Datsun 710     Valiant  Merc 450SE  Merc 450SL Merc 450SLC   Fiat X1-9 
   24.08103    23.26331    18.15257    18.15257    18.15257    25.92090 

Gabungkan data asli dan prediksi dalam bingkai data

test <- data.frame(actual=mtcars$mpg[-train], pred)
    test$error <- with(test, pred-actual)
test
            actual     pred      error
Datsun 710    22.8 24.08103  1.2810309
Valiant       18.1 23.26331  5.1633124
Merc 450SE    16.4 18.15257  1.7525717
Merc 450SL    17.3 18.15257  0.8525717
Merc 450SLC   15.2 18.15257  2.9525717
Fiat X1-9     27.3 25.92090 -1.3791024

Sekarang hitung statistik pengujian Anda dengan cara normal. Saya menggambarkan MSE dan RMSE:

test.mse <- with(test, mean(error^2))
test.mse
[1] 7.119804

test.rmse <- sqrt(test.mse)
test.rmse
[1] 2.668296

Perhatikan bahwa jawaban ini mengabaikan bobot pengamatan.


Terima kasih atas jawaban ini sangat membantu saya mengerti. Dalam melakukan penelitian, pelajaran Datacamp tentang model fit menggambarkan formula yang berbeda dari milik Anda untuk RMSE. Saya menemukan halaman ini setelah pencarian Google. Formula yang Anda berikan untuk RMSE masuk akal dan mudah dipahami. Perhitungan mereka untuk RMSE melibatkan derajat kebebasan dalam penyebut. Juga, jika saya membaca posting mereka dengan benar mereka mengatakan bahwa R memanggil RMSE kesalahan standar residual tetapi dari jawaban Anda ini adalah metrik evaluasi yang berbeda. Pikiran?
Doug Fir

22

Poster asli meminta jawaban "jelaskan aku 5". Katakanlah guru sekolah Anda mengundang Anda dan teman sekolah untuk membantu menebak lebar meja guru. Masing-masing dari 20 siswa di kelas dapat memilih perangkat (penggaris, skala, pita, atau alat ukur) dan diizinkan untuk mengukur tabel 10 kali. Anda semua diminta untuk menggunakan lokasi awal yang berbeda pada perangkat untuk menghindari membaca nomor yang sama berulang kali; bacaan awal kemudian harus dikurangi dari bacaan akhir untuk akhirnya mendapatkan satu pengukuran lebar (Anda baru-baru ini belajar bagaimana melakukan jenis matematika itu).

Ada total 200 pengukuran lebar yang diambil oleh kelas (20 siswa, masing-masing 10 pengukuran). Pengamatan diserahkan kepada guru yang akan menghitung angka-angkanya. Mengurangi pengamatan setiap siswa dari nilai referensi akan menghasilkan 200 angka lainnya, yang disebut deviasi . Guru rata-rata sampel masing-masing siswa secara terpisah, memperoleh 20 berarti . Mengurangi pengamatan setiap siswa dari rata-rata masing-masing akan menghasilkan 200 penyimpangan dari rata-rata, yang disebut residual . Jika residu rata - rata dihitung untuk setiap sampel, Anda akan melihat itu selalu nol. Jika sebaliknya kita menguadratkan setiap residu, rata-rata, dan akhirnya membatalkan kuadrat, kita mendapatkan standar deviasi. (Ngomong-ngomong, kami menyebut perhitungan terakhir itu menggigit akar kuadrat (pikirkan menemukan basis atau sisi dari kuadrat yang diberikan), sehingga seluruh operasi sering disebut root-mean-square , singkatnya; standar deviasi pengamatan sama dengan akar kuadrat dari residu.)

Tetapi guru sudah tahu lebar meja sebenarnya, berdasarkan bagaimana itu dirancang dan dibangun dan diperiksa di pabrik. Jadi 200 angka lainnya, yang disebut error , dapat dihitung sebagai penyimpangan pengamatan sehubungan dengan lebar sebenarnya. Kesalahan rata - rata dapat dihitung untuk setiap sampel siswa. Demikian juga, 20 standar deviasi dari kesalahan , atau kesalahan standar , dapat dihitung untuk pengamatan. Lebih 20 kesalahan root-mean-squarenilai-nilai dapat dihitung juga. Tiga set dari 20 nilai terkait sebagai sqrt (me ^ 2 + se ^ 2) = rmse, dalam urutan tampilan. Berdasarkan rmse, guru dapat menilai siswa mana yang memberikan estimasi terbaik untuk lebar tabel. Selanjutnya, dengan melihat secara terpisah pada 20 kesalahan rata-rata dan 20 nilai kesalahan standar, guru dapat mengajar setiap siswa bagaimana meningkatkan bacaan mereka.

Sebagai tanda centang, guru mengurangi setiap kesalahan dari kesalahan rata-rata masing-masing, menghasilkan 200 angka lagi, yang akan kita sebut kesalahan residual (itu tidak sering dilakukan). Seperti di atas, kesalahan residual rata-rata adalah nol, sehingga deviasi standar dari kesalahan residual atau kesalahan residual standar sama dengan kesalahan standar , dan pada kenyataannya, demikian juga kesalahan residual root-mean-square . (Lihat di bawah untuk detailnya.)

Sekarang ini ada sesuatu yang menarik bagi guru. Kita dapat membandingkan rata-rata setiap siswa dengan seluruh kelas (20 berarti total). Seperti yang kami definisikan sebelum nilai poin ini:

  • m: rata-rata (dari pengamatan),
  • s: standar deviasi (dari pengamatan)
  • saya: kesalahan rata-rata (dari pengamatan)
  • se: kesalahan standar (dari pengamatan)
  • rmse: root-mean-square error (dari pengamatan)

kita juga dapat mendefinisikan sekarang:

  • mm: rata-rata dari rata-rata
  • sm: simpangan baku rata-rata
  • mem: berarti kesalahan rata-rata
  • sem: standard error dari mean
  • rmsem: root-mean-square error dari rata-rata

Hanya jika kelas siswa dikatakan tidak bias, yaitu, jika mem = 0, maka sem = sm = rmsem; yaitu, kesalahan standar rata-rata, standar deviasi rata-rata, dan kesalahan rata-rata-kuadrat rata-rata mungkin sama asalkan kesalahan rata-rata mean adalah nol.

Jika kita hanya mengambil satu sampel, yaitu, jika hanya ada satu siswa di kelas, standar deviasi pengamatan dapat digunakan untuk memperkirakan standar deviasi rata-rata (sm), seperti sm ^ 2 ~ s ^ 2 / n, di mana n = 10 adalah ukuran sampel (jumlah bacaan per siswa). Keduanya akan setuju dengan lebih baik ketika ukuran sampel tumbuh (n = 10,11, ...; lebih banyak bacaan per siswa) dan jumlah sampel tumbuh (n '= 20,21, ...; lebih banyak siswa di kelas). (Peringatan: "kesalahan standar" yang tidak memenuhi syarat lebih sering merujuk pada kesalahan standar rata-rata, bukan kesalahan standar pengamatan.)

Berikut adalah beberapa detail perhitungan yang terlibat. Nilai sebenarnya dilambangkan dengan t.

Operasi set-to-point:

  • berarti: MEAN (X)
  • root-mean-square: RMS (X)
  • standar deviasi: SD (X) = RMS (X-MEAN (X))

SET INTRA-SAMPLE:

  • pengamatan (diberikan), X = {x_i}, i = 1, 2, ..., n = 10.
  • penyimpangan: perbedaan satu set sehubungan dengan titik tetap.
  • residual: penyimpangan pengamatan dari rata-rata mereka, R = Xm.
  • kesalahan: penyimpangan pengamatan dari nilai sebenarnya, E = Xt.
  • kesalahan residual: penyimpangan kesalahan dari rata-rata, RE = E-MEAN (E)

POIN-POIN SAMPEL INTRA (lihat tabel 1):

  • m: rata-rata (dari pengamatan),
  • s: standar deviasi (dari pengamatan)
  • saya: kesalahan rata-rata (dari pengamatan)
  • se: standar kesalahan pengamatan
  • rmse: root-mean-square error (dari pengamatan)

Tabel 1

SET SAMPEL (ENSEMBLE):

  • berarti, M = {m_j}, j = 1, 2, ..., n '= 20.
  • residual dari rata-rata: deviasi rata-rata dari meannya, RM = M-mm.
  • kesalahan rata-rata: penyimpangan sarana dari "kebenaran", EM = Mt.
  • kesalahan sisa rata-rata: penyimpangan kesalahan rata-rata dari rata-rata, REM = EM-MEAN (EM)

POIN SAMPEL (ENSEMBLE) (lihat tabel 2):

  • mm: rata-rata dari rata-rata
  • sm: simpangan baku rata-rata
  • mem: berarti kesalahan rata-rata
  • sem: standard error (rata-rata)
  • rmsem: root-mean-square error dari rata-rata

Meja 2


0

Saya juga merasa semua persyaratannya sangat membingungkan. Saya merasa perlu untuk menjelaskan mengapa kami memiliki banyak metrik ini.

Ini catatan saya tentang SSE dan RMSE:

Metrik pertama: Jumlah Kesalahan Kuadrat (SSE). Nama lain, Jumlah Sisa Kuadrat (RSS), Jumlah Sisa Kuadrat (SSR).

Jika kita berada dalam komunitas optimisasi, SSE digunakan secara luas. Itu karena itu adalah tujuan dalam optimasi, di mana optimasi itu

memperkecilβ Xβ-y2

e=Xβ-ye2=eTe

Metrik Kedua: Root-mean-square error (RMSE) . Nama lain, deviasi root-mean-square.

RMSE adalah

1N(Xβ-y)=1NeTe

N

y

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.