Buku John Fox, An R pendamping untuk regresi terapan adalah sumber daya yang sangat baik pada pemodelan regresi terapan dengan R. Paket caryang saya gunakan dalam jawaban ini adalah paket yang menyertai. Buku ini juga memiliki situs web dengan bab-bab tambahan.
Mengubah respons (alias variabel dependen, hasil)
RlmboxCoxcarλfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
Ini menghasilkan plot seperti berikut:

λλ
Untuk mengubah variabel dependen Anda sekarang, gunakan fungsi yjPowerdari carpaket:
depvar.transformed <- yjPower(my.dependent.variable, lambda)
lambdaλboxCox
Penting: Daripada hanya mentransformasi log variabel dependen, Anda harus mempertimbangkan untuk menyesuaikan GLM dengan log-link. Berikut adalah beberapa referensi yang memberikan informasi lebih lanjut: pertama , kedua , ketiga . Untuk melakukan ini R, gunakan glm:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
di mana yvariabel dependen Anda dan x1, x2dll. adalah variabel independen Anda.
Transformasi prediktor
Transformasi prediktor yang benar - benar positif dapat diperkirakan dengan kemungkinan maksimum setelah transformasi variabel dependen. Untuk melakukannya, gunakan fungsi boxTidwelldari carpaket (untuk kertas asli lihat di sini ). Gunakan seperti itu: boxTidwell(y~x1+x2, other.x=~x3+x4). Yang penting di sini adalah bahwa opsi other.xmenunjukkan syarat-syarat regresi yang tidak boleh diubah. Ini akan menjadi semua variabel kategori Anda. Fungsi menghasilkan output dari bentuk berikut:
boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)
Score Statistic p-value MLE of lambda
income -4.482406 0.0000074 -0.3476283
education 0.216991 0.8282154 1.2538274
incomeλincomependapatann e w= 1 / penghasilano l d--------√
Posting lain yang sangat menarik di situs tentang transformasi variabel independen adalah yang ini .
Kerugian transformasi
1 / y√λλ
Pemodelan hubungan nonlinear
Dua metode yang cukup fleksibel agar sesuai dengan hubungan nonlinear adalah polinomial pecahan dan splines . Ketiga makalah ini menawarkan pengantar yang sangat baik untuk kedua metode: Pertama , kedua dan ketiga . Ada juga seluruh buku tentang polinomial pecahan dan R. The R paketmfp alat multivariabel polinomial pecahan. Presentasi ini mungkin informatif mengenai polinomial pecahan. Untuk menyesuaikan splines, Anda dapat menggunakan fungsi gam(model aditif umum, lihat di sini untuk pengenalan yang sangat baik dengan R) dari paketmgcv atau fungsins(natural cubic splines) dan bs(cubic B-splines) dari paket splines(lihat di sini untuk contoh penggunaan fungsi-fungsi ini). Menggunakan gamAnda dapat menentukan prediktor mana yang ingin Anda gunakan menggunakan splines menggunakan s()fungsi:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
di sini, x1akan dipasang menggunakan spline dan x2linear seperti pada regresi linier normal. Di dalam gamAnda dapat menentukan keluarga distribusi dan fungsi tautan seperti pada glm. Jadi untuk cocok dengan model dengan fungsi log-link, Anda dapat menentukan pilihan family=gaussian(link="log")dalam gamseperti di glm.
Lihat posting ini dari situs.