Saya memiliki masalah regresi linier. Singkatnya, saya punya dataset, saya membaginya menjadi dua himpunan bagian. Satu subset digunakan untuk menemukan regresi linier (subset pelatihan), yang lain digunakan untuk mengevaluasinya (subset evaluasi). Pertanyaan saya adalah bagaimana cara mengevaluasi hasil regresi linier ini setelah menerapkannya pada subset evaluasi data?
Berikut detailnya:
Di bagian pelatihan, saya melakukan regresi linier: dimana adalah groundtruth (juga dikenal sebagai target), adalah variabel independen. Lalu saya menemukan dan . ( dan diberikan dalam subset pelatihan).
Sekarang, gunakan dan ditemukan di atas dari bagian pelatihan, menerapkannya ke bagian evaluasi, saya menemukan . Dengan kata lain, ini ditemukan dari regresi linier dengan . Sekarang, sebagai tambahan, Saya juga punya dari set evaluasi. Bagaimana cara mengevaluasi hasil saya (berapa banyak berbeda dari )? Adakah model matematika umum untuk melakukan itu? Perlu semacam model / rumus matematika. Saya bisa memikirkan cara yang berbeda untuk melakukannya, tetapi mereka semua agak ad-hoc atau sederhana, tetapi ini adalah untuk karya ilmiah, sehingga hal-hal yang terdengar ad-hoc tidak dapat digunakan di sini, sayangnya.
Ada ide?
sumber
Jawaban:
Saya setuju dengan @Octern bahwa orang jarang melihat orang menggunakan kereta / split tes (atau bahkan hal-hal seperti cross-validation) untuk model linier. Overfitting (hampir) tentu bukan masalah dengan model yang sangat sederhana seperti ini.
Jika Anda ingin memahami "kualitas" model Anda, Anda mungkin ingin melaporkan interval kepercayaan (atau setara Bayesiannya) di sekitar koefisien regresi Anda. Ada beberapa cara untuk melakukan ini. Jika Anda tahu / dapat berasumsi bahwa kesalahan Anda terdistribusi secara normal, ada rumus sederhana (dan sebagian besar paket analisis data populer akan memberi Anda nilai-nilai ini). Alternatif populer lainnya adalah menghitungnya melalui resampling (mis. Bootstrap atau jackknifing), yang membuat lebih sedikit asumsi tentang distribusi kesalahan. Dalam kedua kasus, saya akan menggunakan set data lengkap untuk perhitungan.
sumber
jika Anda benar-benar baik-baik saja dengan model trainig linier Anda dan ingin tahu seberapa baik itu akan memprediksi data pengujian Anda, maka yang harus Anda lakukan adalah menggunakan rumus model linier yang sudah Anda miliki dan menyertakan koefisien estimasi a (= intersep) dan b (koefisien regresi, juga disebut kemiringan) yang dihasilkan dari model pertama.
akan terlihat seperti y = a + b * X di sini beberapa angka imajiner ... y = 2 + 0,5 * X
Perangkat lunak apa yang Anda gunakan? Apakah Anda menggunakan R? jika demikian, Anda dapat menggunakan fungsi predict.lm () dan menerapkannya pada dataset ke-2 Anda.
sumber
Meskipun hal ini sangat tergantung pada tujuan Anda, cara sederhana dan standar untuk melakukan ini adalah mengukur mean squared error (MSE) . Jadi, jika Anda memiliki dataset pengujian AndaD yang terdiri dari pasangan input / output, D={(x1,y1),(x2,y2),…,(xn,yn)} dan parameter Anda a dan b , maka UMK dapat dihitung sebagai
Ini mungkin cara yang masuk akal untuk mengukur kesalahan Anda juga karena ini kemungkinan adalah kriteria yang Anda gunakan untuk menemukan parametera dan b . Jika Anda ingin mendapatkan gagasan yang lebih baik tentang seberapa baik parameter perkiraan Anda digeneralisasi, Anda harus melihat ke sesuatu seperti cross validation .
sumber