9.4. Logistik regressiya va uni tartibga solish
Logistik regressiya - bu taxminiy o'zgaruvchilar asosida ikkilik javob o'zgaruvchisini modellashtirish uchun ishlatiladigan statistik usul. Dastlab ikki sinfli yoki ikkilik javob muammolari uchun ishlab chiqilgan bo'lsa-da, bu usulni ko'p sinfli masalalar uchun umumlashtirish mumkin. Shunga qaramay, bizning misolimizdagi o'sma namunalari ma'lumotlari ikkitomonlama javob yoki ikki sinfli muammodir.
Logistik regressiya kontseptsiya sifatida chiziqli regressiyaga juda o'xshaydi va biz uni qiziqishning statistik taqsimotidan namuna olinadigan kuzatiladigan ma'lumotlarning ehtimolligini maksimal darajaga ko'taradigan statistik parametrlarni topishga harakat qiladigan "maksimal ehtimollarni baholash" muammosi deb hisoblashimiz mumkin. Bu, shuningdek, biz boshqariladigan mashinalarni o'rganish algoritmlarida ko'riladigan umumiy xarajatlar / zararlar funktsiyasi yondashuvi bilan juda bog'liq. Ikkilik javob o'zgaruvchilari bo'lsa, oddiy chiziqli regressiya modeli, masalan y men ∼β0+β1x , bu noto'g'ri tanlov bo'ladi, chunki u osongina tashqarida qadriyatlarni yaratishi mumkin 0 dan 1 chegara. Bizga kerak bo'lgan narsa - bashoratning pastki chegarasini nolga, yuqori chegarasini cheklaydigan model 1. Ushbu talabga birinchi navbatda muammoni boshqacha shakllantirish kerak. Agar y men faqat bo'lishi mumkin 0 yoki 1 , biz shakllantirishimiz mumkin y men ehtimolliklar bilan bitta va nol qiymatlarni qabul qila oladigan tasodifiy o'zgaruvchini amalga oshirish sifatida p men va 1- p navbati bilan. Ushbu tasodifiy o'zgaruvchi Bernulli taqsimotiga amal qiladi va ikkilik o'zgaruvchini bashorat qilish o'rniga biz muammoni quyidagicha shakllantirishimiz mumkin p men ∼0+β1x . Biroq, bizning boshlang'ich muammomiz hanuzgacha davom etmoqda, oddiy chiziqli regressiya hali ham yuqori qiymatlarga olib keladi 0 va 1 chegaralar. Chegaraviy talabni qondiradigan model quyida keltirilgan logistik tenglama hisoblanadi.
p men = e(β0+β1x ) va 1+e(β0+β1x)
Ushbu tenglamani quyidagi transformatsiya bilan chiziqlash mumkin
Logit (p ) = ln (p1-p) = β0+β1x
Chap tomon logit deb ataladi, ya'ni "logistika birligi" degan ma'noni anglatadi. Bundan tashqari, log stavkalari deb ham ataladi. Bunday holda, bizning modelimiz log miqyosida qiymatlarni hosil qiladi va yuqoridagi logistik tenglama bilan biz qiymatlarni 0 va 1 oralig'ida olamiz. Endi savol qoladi: "Bizning o'quv to'plamimiz uchun eng yaxshi parametrlarning taxminlari qanday". Biz maksimal ehtimollik doirasi bo'yicha eng yaxshi parametrlarni baholash statistik modelning haqiqatan ham kuzatilgan ma'lumotlarni ishlab chiqarish ehtimolini maksimal darajaga ko'tarishdir. Siz ushbu moslamani kuzatilgan ma'lumotlar to'plamiga ehtimollik taqsimoti deb o'ylashingiz mumkin. Ehtimollarni taqsimlash parametrlari kuzatilayotgan ma'lumotlarning ushbu taqsimotdan kelib chiqish ehtimolini maksimal darajada oshirishi kerak. Agar biz Gauss taqsimotidan foydalangan bo'lsak, kuzatilgan ma'lumotlar ushbu Gauss taqsimotidan olinishi yanada aniqroq bo'lguncha o'rtacha va dispersiya parametrlarini o'zgartirgan bo'lar edik. Logistik regressiyada javob o'zgaruvchisi binomial taqsimot yoki uning maxsus holati Bernulli taqsimoti bilan modellashtirilgan. Har bir javob o'zgaruvchining qiymati, y , 0 yoki 1 ga teng va biz parametrni aniqlashimiz kerak p 0 va 1 sonlarning bunday taqsimlanishini yaratishi mumkin bo'lgan qiymatlar. Agar biz eng yaxshisini topa olsak p men har bir o'sma namunasi uchun qiymatlar men , biz kuzatilgan ma'lumotlarga qaraganda modelning jurnalga kirish ehtimolligini maksimal darajaga ko'targan bo'lardik. Ikkilik javob o'zgaruvchisi uchun maksimal jurnalga o'xshashlik funktsiyasi tenglama sifatida ko'rsatilgan
ln(L)=N∑=1[ln(1-p)+y ln(p1-p)]
Ushbu tenglamani maksimal darajaga ko'tarish uchun biz tegmaslikni topishimiz kerak p parametrlarga bog'liq bo'lgan qiymatlar β0 va β1 shuningdek, taxminiy o'zgaruvchilar qiymatlariga bog'liq x . Tenglamani almashtirishni qayta tuzishimiz mumkin p logistik tenglama bilan. Bundan tashqari, ko'plab optimallash funktsiyalari maksimal darajaga emas, balki minimallashtirishga imkon beradi. Shuning uchun biz salbiy jurnal ehtimolidan foydalanamiz, bu "log yo'qotish" yoki "logistik yo'qotish" funktsiyasi deb ham ataladi. Quyidagi funktsiya "jurnalni yo'qotish" funktsiyasidir. Biz almashtirdir p logistik tenglama bilan va ifodani soddalashtirdi. Keling, bu amalda qanday ishlashini ko'rib chiqaylik. Birinchidan, yuqoridagi misolda bo'lgani kabi, biz o'simta namunalarini "CIMP" va "no CIMP" subtiplariga tasniflash uchun bitta genning ekspressioni, bitta taxminiy o'zgaruvchidan foydalanamiz. Biz tasodifiy o'rmon modelidagi eng muhim o'zgaruvchilardan biri bo'lgan PDPN gen ekspressionidan foydalanamiz. Biz karetada formulalar interfeysidan foydalanamiz, bu erda javoblarning nomlarini va formulada taxminiy o'zgaruvchilarni taqdim etamiz. Bunday holda, biz stats to'plamidan yadroli R funktsiyasidan foydalanamiz, glm(). "Glm" umumlashtirilgan chiziqli modellarni anglatadi va u R ning har xil turdagi regressiyalari uchun asosiy interfeys hisoblanadi.
# mos logistik regressiya modeli
# usul a
O'ziga mos kelmaslik uchun tartibni tartibga solish
Agar biz modelning egiluvchanligini cheklay olsak, bu ko'rinmaydigan, yangi ma'lumotlar to'plamidagi ishlashga yordam beradi. Odatda, ko'rilmagan ma'lumotlar to'plamidagi ishlashni yaxshilash uchun o'quv uslubining har qanday modifikatsiyasi muntazamlik deb ataladi. Modelga noaniqlikni kiritish va farqni kamaytirish uchun biz tartibga solinishimiz kerak. Bunga zararni yo'qotish funktsiyasini jarima muddati bilan o'zgartirish orqali erishish mumkin, bu koeffitsientlarning baholarini samarali ravishda qisqartiradi. Shuning uchun regressiya doirasidagi ushbu usullar "qisqarish" yoki "jazolangan regressiya" usullari deb ham ataladi.
Kichrayishni ta'minlashning usullaridan biri bu jazo muddatini qo'shish,, yo'qotish funktsiyasiga. Ushbu jazo muddati L2 normasi yoki L2 jarimasi sifatida ham tanilgan. U kvadrat vektor qiymatlari yig'indisining kvadrat ildizi sifatida hisoblanadi. Ushbu atama regressiya koeffitsientlarini nolga kamaytirishga yordam beradi. Yangi yo'qotish funktsiyasi quyidagicha, qaerda bu modeldagi parametrlar / koeffitsientlar soni va tenglamadagi jurnalni yo'qotish funktsiyasi. Ushbu jarimaga tortilgan yo'qotish funktsiyasi "tizma regressiyasi" deb nomlanadi (Hoerl va Kennard 1970). Penalti qo'shganda, optimallashtirish protsedurasi umumiy yo'qotish funktsiyasini minimal darajada ushlab turishning yagona usuli bu koeffitsientlarga kichikroq qiymatlarni belgilashdir. The parametr jazo muddatiga qancha ahamiyat berilishini nazorat qiladi. Qanchalik baland bo'lsa qiymati bo'lsa, regressiyadagi koeffitsientlar nolga yaqinlashadi. Biroq, ular hech qachon to'liq nolga teng bo'lmaydi.
Agar model muhim o'zgaruvchilarni tanlashini istasak, bu kerak emas. Jazoning kichik modifikatsiyasi - ning mutlaq qiymatlaridan foydalanish kvadrat qiymatlari o'rniga. Ushbu jazo "L1 normasi" yoki "L1 jarimasi" deb nomlanadi. L1 jazosidan foydalanadigan regressiya usuli "Lasso regressiyasi" (Tibshirani 1996) deb nomlanadi. Biroq, L1 jazosi taxminiy o'zgaruvchilar o'zaro bog'liq bo'lganda tasodifiy bitta o'zgaruvchini tanlashga intiladi. Bunday holda, o'zgaruvchilardan biri muhim emas, ammo u hali ham bashorat qilish qobiliyatiga ega bo'lishi mumkin. Boshqa tomondan, Ridge regressiyasi o'zaro bog'liq o'zgaruvchilar koeffitsientlarini bir-biriga nisbatan kamaytiradi va ularning hammasini saqlaydi. Lasso ham, Ridj regressiyasining ham kamchiliklari va afzalliklari borligi ko'rsatilgan (Fridman, Xasti va Tibshirani 2010). Yaqinda ikkala dunyoning eng yaxshisini o'z ichiga olgan "elastik to'r" deb nomlangan usul taklif qilindi (Zou va Xasti 2005). Ushbu usul L1 va L2 jarimalaridan foydalanadi. Quyidagi tenglama ushbu penalti bo'yicha o'zgartirilgan yo'qotish funktsiyasini ko'rsatadi. Ko'rib turganingizdek parametr hali ham penaltiga berilgan og'irlikni boshqaradi. Bu safar qo'shimcha parametr L1 yoki L2 jarimasiga berilgan og'irlikni boshqaradi va bu 0 dan 1 gacha bo'lgan qiymatga teng.Endi biz kontseptsiyani tartibga solish ortida oldik va uning amalda qanday ishlashini ko'rishimiz mumkin. Biz o'simtaning pastki turini bashorat qilish muammosida elastik to'rdan foydalanamiz. Biz o'zaro tekshirishga eng yaxshisini tanlashga ruxsat beramiz parametr at set.seed (17) kutubxona (glmnet)
# bu usul mashg'ulotlar bilan bog'liq hamma narsani nazorat qiladi
# biz faqat 10 marta o'zaro faoliyat tekshiruvni o'rnatamiz
trctrl <- trainControl (usul = "cv", son = 10)
# endi elastik to'r modelini tayyorlaymiz
# harakat qiladi
enetFit <- poezd (pastki turi ~., ma'lumotlar = trening,
usuli = "glmnet",
trControl = trctrl,
# alfa va lambda paramterlari sinab ko'rish uchun
tuneGrid = data.frame (alfa = 0.5,
lambda = seq (0.1,0.7.0.05)))
# o'zaro tekshiruv aniqligi bo'yicha eng yaxshi alfa va lambda qiymatlari
enetFit $ bestTune
## alfa lambda
## 1 0,5 0,1
# sinov aniqligi
class.res = predict (enetFit, test [, - 1])
confusionMatrix (test [, 1], class.res) $ umumiy [1]
## aniqlik
## 0.9814815
Ko'rib turganingizdek, tartibga solish ishlagan, sozlash bosqichi tanlangan λ=1 va biz eng yaxshi model bilan qoniqarli sinov to'plamining aniqligini olishga muvaffaq bo'ldik. O'zgaruvchan ahamiyatga ega mJazolangan regressiyaning o'zgaruvchan ahamiyati, ayniqsa lasso va elastik to'r uchun, qutidan ozmi-ko'pmi tashqarida. Muhokama qilinganidek, ushbu usullar ahamiyatsiz o'zgaruvchilar uchun regressiya koeffitsientlarini nolga o'rnatadi. Bu muhim o'zgaruvchilarni tanlash uchun tizimni taqdim etadi, ammo ularni saralashning bir usuli bo'lishi shart emas. Regressiya koeffitsientlari hajmidan foydalanish - bu taxminiy o'zgaruvchilarni saralashning bir usuli, ammo agar ma'lumotlar normallashtirilmagan bo'lsa, siz har xil o'zgaruvchilar uchun har xil o'lchovlarni olasiz. Bizning holatlarimizda biz ma'lumotlarni normal holatga keltirdik va biz bilamizki, o'zgaruvchilar mashg'ulotga kirishishdan oldin bir xil o'lchovga ega. Biz ushbu faktdan foydalanib, ularni regressiya koeffitsientlari asosida saralashimiz mumkin. Caret :: varImp () funktsiyasi o'zgaruvchanlarni elastik to'r modelidan saralash uchun koeffitsientlardan foydalanadi. Quyida, eng yaxshi 10 ta muhim va uchun kurashmoqchi edik
Do'stlaringiz bilan baham: |