Buku John Fox, An R pendamping untuk regresi terapan adalah sumber daya yang sangat baik pada pemodelan regresi terapan dengan R
. Paket car
yang 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)
R
lm
boxCox
car
λfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
Ini menghasilkan plot seperti berikut:
λλ
Untuk mengubah variabel dependen Anda sekarang, gunakan fungsi yjPower
dari car
paket:
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 y
variabel dependen Anda dan x1
, x2
dll. 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 boxTidwell
dari car
paket (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.x
menunjukkan 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
λincome
pendapatann 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 gam
Anda dapat menentukan prediktor mana yang ingin Anda gunakan menggunakan splines menggunakan s()
fungsi:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
di sini, x1
akan dipasang menggunakan spline dan x2
linear seperti pada regresi linier normal. Di dalam gam
Anda 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 gam
seperti di glm
.
Lihat posting ini dari situs.