Bantu saya menyesuaikan regresi berganda non-linier ini yang telah menentang semua upaya sebelumnya

9

EDIT: Sejak membuat posting ini, saya telah menindaklanjuti dengan posting tambahan di sini .

Ringkasan teks di bawah ini: Saya sedang mengerjakan model dan telah mencoba regresi linier, transformasi Box Cox dan GAM tetapi belum membuat banyak kemajuan

Dengan menggunakan R, saya saat ini sedang mengerjakan model untuk memprediksi keberhasilan pemain baseball liga kecil di tingkat liga utama (MLB). Variabel dependen, karier yang ofensif menang di atas penggantian (oWAR), adalah proksi untuk sukses di level MLB dan diukur sebagai jumlah kontribusi ofensif untuk setiap permainan yang dilibatkan pemain selama karirnya (detail di sini - http : //www.fangraphs.com/library/misc/war/). Variabel independen adalah z-skor variabel ofensif liga kecil untuk statistik yang dianggap sebagai prediktor penting keberhasilan di tingkat liga utama termasuk usia (pemain dengan lebih banyak sukses di usia yang lebih muda cenderung prospek yang lebih baik), strike out rate [SOPct ], walk rate [BBrate] dan produksi yang disesuaikan (ukuran global produksi ofensif). Selain itu, karena ada beberapa level liga minor, saya telah memasukkan variabel dummy untuk level liga minor (Double A, High A, Low A, Rookie, dan Musim Pendek dengan Triple A [level tertinggi sebelum liga utama] sebagai variabel referensi]). Catatan: Saya telah mengubah skala PERANG menjadi variabel yang berubah dari 0 menjadi 1.

Variabel sebar adalah sebagai berikut:

sebar

Untuk referensi, variabel dependen, oWAR, memiliki plot berikut:

lot tergantungvariabel

Saya mulai dengan regresi linier oWAR = B1zAge + B2zSOPct + B3zBBPct + B4zAdjProd + B5DoubleA + B6HighA + B7LowA + B8Rookie + B9ShortSeasondan mendapatkan plot diagnostik berikut:

linearRegressionDiagnostics

Ada masalah yang jelas dengan kurangnya ketidakberpihakan dari residu dan kurangnya variasi acak. Selain itu, residu tidak normal. Hasil regresi ditunjukkan di bawah ini:

linearRegressionResults

Mengikuti saran di utas sebelumnya , saya mencoba transformasi Box-Cox tanpa hasil. Selanjutnya, saya mencoba GAM dengan tautan log dan menerima plot ini:

splines

Asli checkChecksGAM diagnostik

Plot Diagnostik Baru GAMDiag

Sepertinya splines membantu mencocokkan data tetapi plot diagnostik masih menunjukkan kecocokan yang buruk. EDIT: Saya pikir saya melihat residual vs nilai pas awalnya tapi saya salah. Plot yang awalnya ditampilkan ditandai sebagai Asli (di atas) dan plot yang saya unggah kemudian ditandai sebagai Plot Diagnostik Baru (juga di atas)

Hasil GAME

The model telah meningkatR2

tetapi hasil yang dihasilkan oleh perintah gam.check(myregression, k.rep = 1000)tidak begitu menjanjikan.

Hasil GAM2

Adakah yang bisa menyarankan langkah selanjutnya untuk model ini? Saya senang memberikan informasi lain yang menurut Anda mungkin berguna untuk memahami kemajuan yang saya buat sejauh ini. Terima kasih atas bantuan yang Anda berikan.

zgall1
sumber
2
Saya menemukan kode dalam primer yang sangat baik ini pada GAM di R - www3.nd.edu/ ~ mclark19 / learn / GAMS.pdf Kode: perpustakaan (mobil) scatterplotMatrix (mydata [, c (1,1: 8)], pch = 19, cex = .5, reg.line = F, lwd.smooth = 1.25, spread = F, ellipse = T, col = c ('gray60', '# 2957FF', '# FF8000'), col.axis = 'gray50')
zgall1
1
Bisakah Anda membagikan dataset Anda? Juga, +1 untuk matriks sebar itu. Ini luar biasa.
Zach
1
Sayang sekali, sepertinya dataset yang menarik. Saran saya adalah untuk mencoba beberapa algoritma pembelajaran mesin lainnya, misalnya hutan acak.
Zach
2
Hutan acak didasarkan pada pohon keputusan. Lihatlah paket randomForest dalam R, dan halaman wikipedia hutan acak: en.wikipedia.org/wiki/Random_forest
Zach
2
"Variabel dependen ... diukur sebagai jumlah kontribusi ofensif untuk setiap permainan yang dilibatkan pemain selama kariernya." Ini melompat keluar untuk saya. Perancu yang serius di sini adalah berapa lama seorang pemain bermain, baik dalam waktu bermain yang lebih lama berarti lebih banyak waktu untuk "mengumpulkan" oWAR [b] pemain yang lebih baik mungkin akan bermain untuk periode waktu yang lebih lama.
Affine

Jawaban:

6

lrmrmsYrmsormYβYY

Frank Harrell
sumber
1
Menurut level, maksud Anda memilah variabel Y menjadi 100-200 ember? Jika demikian, apakah ada metode yang disukai untuk memilih ukuran nampan? Haruskah mereka berukuran sama?
zgall1
1
Lakukan saja binning sementara kecuali kita memiliki solusi kontinu. Anda dapat memasukkan ke dalam 100 persentil, misalnyarequire(Hmisc); cut2(y, g=100, levels.mean=TRUE)
Frank Harrell
Ketika Anda mengatakan versi baru rmsakan segera dirilis, apakah Anda tahu kapan itu mungkin?
zgall1
Jika Anda menggunakan linux saya bisa memberikannya kepada Anda sekarang, jika tidak, harap 2 minggu.
Frank Harrell
Saya tidak menggunakan Linux jadi saya kira saya harus menunggu. Tolong beri tahu saya kapan tersedia.
zgall1
1

Saya pikir kembali bekerja variabel dependen dan model bisa bermanfaat di sini. Melihat residu Anda dari lm(), tampaknya masalah utama adalah dengan pemain dengan PERANG karir tinggi (yang Anda definisikan sebagai jumlah dari semua PERANG). Perhatikan bahwa WAR yang diprediksi (skala) tertinggi Anda adalah 0,15 dari maksimum 1! Saya pikir ada dua hal dengan variabel dependen ini yang memperburuk masalah ini:

  • Pemain yang hanya bermain lebih lama memiliki lebih banyak waktu untuk mengumpulkan WAR
  • Pemain yang baik akan cenderung bertahan lebih lama, dan karenanya memiliki kesempatan untuk memiliki waktu yang lebih lama untuk mengumpulkan WAR

Namun dalam konteks prediksi, termasuk waktu yang dimainkan secara eksplisit sebagai kontrol (dengan cara apa pun, baik sebagai bobot, atau sebagai penyebut dalam menghitung rata-rata karir WAR) adalah kontraproduktif (juga saya menduga pengaruhnya juga akan non-linear). Jadi saya menyarankan waktu pemodelan agak kurang eksplisit dalam model campuran menggunakan lme4atau nlme.

j=msayasaya

sWSEBUAHRsayaj=α+σsaya2+<barang lainnya>+εsayaj

Dengan lme4, ini akan terlihat seperti
lmer(sWAR ~ <other stuff> + (1|Player), data=mydata)

sWSEBUAHR

Affine
sumber
Saya tidak yakin saya mengerti sepenuhnya. Jika variabel dependen adalah WAR musiman, apa variabel independennya? Garis stat liga minor yang identik untuk setiap pemain? Apakah pada dasarnya kita mengatakan bahwa garis stat liga minor A dapat mengarah ke liga utama WAR B, C, D dan E?
zgall1
Juga, sejak memposting model ini, saya telah menindaklanjuti dengan posting tambahan yang mungkin ingin Anda periksa di sini: stats.stackexchange.com/questions/61711/…
zgall1