Logistika Reqressiya Modelini təxmin etmək üçün R -dən istifadə etmək

Bu yazı R. -də bir logistik reqressiya aparmaq üçün addımları təsvir edir. Məlumatlar 2016 Amerika Milli Seçki Sorğusundan gəlir. Məlumat hazırlamaq üçün kodu github səhifəmizdə tapa bilərsiniz və təmizlənmiş məlumatları buradan yükləyə bilərsiniz.

Əlavə ediləcək addımlar aşağıdakılardır:

  1. Dəyişən kodlaşdırma və paylamaları yoxlayın
  2. İki tərəfli birlikləri qrafik olaraq nəzərdən keçirin
  3. Logit modelini uyğunlaşdırın
  4. Nəticələri əmsal nisbətlərinə görə şərh edin
  5. Nəticələri proqnozlaşdırılan ehtimallar baxımından şərh edin

İstifadə etdiyimiz dəyişənlər belə olacaq:

  • səsvermə: Respondentin Klintona və ya Trampa səs verməsi
  • Cins: Kişi və ya qadın
  • yaş: Respondentin yaşı (illərlə)
  • təhsil: əldə edilən ən yüksək təhsil səviyyəsi

Sadəlik üçün bu nümayiş kompleks sorğu dəyişənlərinə (çəki, PSU və təbəqələr) məhəl qoymayacaq.

Birdəfəlik Xülasələr

Əvvəlcə istifadə edəcəyimiz paketləri və məlumatları yükləyək.

Məlumatlar Stata (.dta) formatındadır, buna görə də oxumaq üçün cənnətdən istifadə edin. Həmçinin unutmayın ki, read_dta funksiyası məlumatların cari iş qovluğundakı məlumat qovluğunda saxlanıldığını güman edir. Varsayılan olaraq, read_dta dəyişən və dəyər etiketlərini R -də dəyişən atributlar olaraq Stata'dan idxal edəcək.

İstifadə etmək istədiyimiz bütün dəyişənlər rəqəmsaldır. Təfsiri və qrafiklərin qurulmasını asanlaşdırmaq üçün onları etiketli amillərə çevirəcəyik.

İstənilən statistik təhlildə ilk addım, kodlaşdırma səhvlərinin, kənara çıxmaların və ya əyləncəli paylanmaların olub olmadığını yoxlamaq üçün məlumatların vizual yoxlanılması olmalıdır. Dəyişən səs asılı dəyişəndir. Sayma funksiyasından istifadə edərək cavabların paylanmasını yoxlaya bilərik:

Səs verin N. Nisbət
Klinton 1269 0.52
Tramp 1171 0.48

İndi digər kateqoriyalı dəyişənlərin paylanmasını nəzərdən keçirin.

Cins N. Nisbət
Kişi 1128 0.462
Qadın 1312 0.538
Təhsil N. Nisbət
HS Tamamlanmadı 102 0.042
Tamamlanmış HS 381 0.156
Kollec 838 0.343
Kollec 4 illik dərəcə 624 0.256
Yüksək dərəcəli 479 0.196
NA 16 0.007

Yaş bölgüsünü də yoxlaya bilərik. Xülasə funksiyasından istifadə edərək ümumiləşdirilmiş statistika cədvəli yaradacağıq.

Min Maks Orta Orta SD
18 90 54 51.998 17.19

Min dəyəri müşahidə olunan ən aşağı yaşdır, yəni 18 -dir. Maksimum dəyər ən böyükdür, bu da 90 -dır. Orta yaş 54, Orta yaş 52 -dir, standart sapma 17.19.

Cədvəllər faydalıdır, lakin çox vaxt qrafiklər daha məlumatlıdır. Çubuq qrafikləri, kateqoriyalı dəyişənləri araşdırmaq üçün ən asandır. Nəticə dəyişənindən başlayın.

Nümunədə Klinton Trump -dan daha çox səs aldı, lakin böyük bir məbləğlə yox.

İndi kateqoriyalı müstəqil dəyişənlər.

Nümunəmizin kişilərdən daha çox qadın olduğunu görürük.

Bizim nümunəmizdə, modal respondentin bir kolleci var, ikinci ən çox məskunlaşmış kateqoriya kollec təhsillidir.

Davamlı dəyişənlər üçün histoqramlar paylanmanın formasını təyin etməyə və kənarları axtarmağa imkan verir. Aşağıdakı əmr histoqramı yaradır.

İndi bütün dəyişənlərimizin paylanmasının nə olduğunu yaxşı başa düşürük və yenidən yazmağın lazım olduğuna dair heç bir dəlil görmürük.

Bivariate Xülasələri

Tam müəyyən edilmiş modelə keçməzdən əvvəl, nəticə ilə hər bir fərdi proqnozlaşdırıcı arasındakı sadə əlaqələri araşdırmaq məsləhətdir. Bu, son modeldə sürprizlərin qarşısını almağa kömək edə bilər. Məsələn, məlumatlarda görünən sadə bir əlaqə yoxdursa, bu proqnozlaşdırıcı model üçün əhəmiyyətli olmadıqda təəccüblənməməliyik. Sadə bir əlaqə varsa, amma tam modeldə yox olarsa, digər dəyişənlərdən birinin qarışdırıcı olduğuna dair sübutumuz var. Bu faktora nəzarət etdikdən sonra əvvəlcə müşahidə etdiyimiz əlaqələr izah olunur.

Qrafiklər yenə faydalıdır. Nəticə kateqoriya olduqda və proqnozlaşdırıcı da kateqoriyadırsa, qruplaşdırılmış bir çubuq qrafiki məlumatlıdır. Aşağıda səs seçimi və cinsiyyət qrafiki verilmişdir.

Rəqəm kişilərdə Trump dəstəyinin daha yüksək olduğunu göstərir. Qadınlarda Clinton dəstəyi daha yüksək idi.

Bənzər bir rəqəm təhsil üçün də edilə bilər.

Rəqəm, Trumpın lisey diplomu və bəzi kollecə sahib olanlar tərəfindən bəyənildiyini, Klintonun isə kolleci bitirənlərə və xüsusən də ali təhsilli olanlar arasında daha yüksək olduğunu göstərir. Orta məktəb diplomu olmayanlar arasında Klintona bir qədər üstünlük verilsə də, ümumilikdə bu rəqəm Klintonun dəstəyinin təhsillə artdığını şərh etməyə üstünlük verir.

Boxplots, bir kateqoriya dəyişən ilə bir interval miqyasında ölçülən bir dəyişən arasındakı əlaqəni araşdırmaq üçün faydalıdır.

Coord_flip () funksiyası asılı dəyişəni y oxunda saxlamaq üçün istifadə olunur.

İki qutu arasında çoxlu üst -üstə düşmə var, baxmayaraq ki, Trump qutusu Clinton qutusundan bir qədər yüksəkdədir. Təfsir, yaşlı respondentlərin daha çox Trampa səs verməyə meylli olmasıdır.

Verilənləri diqqətlə araşdırdıqdan sonra modeli təxmin etməyə başlaya bilərik.

Modelin uyğunlaşdırılması

Logistika reqressiyasını R -yə uyğunlaşdırmaq üçün Ümumiləşdirilmiş Xətti Model mənasını verən glm funksiyasından istifadə edəcəyik. Bu funksiya daxilində asılı dəyişəni yazın, ardınca

və sonra müstəqil dəyişənlər + işarələri ilə ayrılır. Ailə binomial olaraq təyin edildikdə, R standart olaraq logit modelinə uyğundur. Diqqət yetirin ki, burada təhsilin də ədədi dəyişən kimi qəbul edirik.

Süpürgə paketi, ümumi modellərin çıxışına baxmaq üçün tidy () kimi faydalı funksiyaları ehtiva edir. Conf.int = T arqumenti güvən intervalları tələb edir.

müddət təxmin etmək səhv statistik s. dəyər konf. aşağı konf. yüksək
(Kəsişmək) 0.275 0.196 1.406 0.16 -0.108 0.660
gender_faktoruQadın -0.356 0.084 -4.230 0.00 -0.521 -0.191
təhsil -0.252 0.039 -6.507 0.00 -0.328 -0.176
yaş 0.013 0.002 5.322 0.00 0.008 0.018

Gender_factor bir faktor dəyişən olduğu üçün R avtomatik olaraq bizim üçün saxta dəyişənlər yaradacaq. Educ sıralı bir kateqoriyalı dəyişkəndir, təsirini xətti olaraq qəbul etmək üçün burada seçim edirik. Son dəyişən yaşdır. Cinsiyyət, yaş və təhsilin əhəmiyyətli təsirləri olduğunu görürük.

Tidy () funksiyasında exponentiate = T təyin edərək nəticələrimizə nisbət nisbətləri baxımından da baxa bilərik.

müddət təxmin etmək səhv statistik s. dəyər konf. aşağı konf. yüksək
(Kəsişmək) 1.317 0.196 1.406 0.16 0.897 1.935
gender_faktoruQadın 0.701 0.084 -4.230 0.00 0.594 0.826
təhsil 0.777 0.039 -6.507 0.00 0.720 0.838
yaş 1.013 0.002 5.322 0.00 1.008 1.018

Bu, bir cədvəl yaradacaq:

  • təxmini nisbət nisbətidir
  • std.error, nisbət nisbətinin standart səhvidir
  • statistik \ (z \) statistikasıdır
  • p dəyər dəyərdir
  • conf.low, bahis nisbətləri üçün 95% etibar aralığının aşağı səviyyəsidir
  • conf.high, bahis nisbətləri üçün 95% etibar aralığının yuxarı səviyyəsidir

Nəzərə alın ki, nisbət əmsalları sadəcə logit modelinin eksponentləşdirilmiş əmsallarıdır. Məsələn, təhsil üçün əmsal -252 idi. Oran nisbəti \ (\ exp (-. 252) = .777 \). Oran nisbəti üçün standart səhvlər delta metoduna əsaslanır. Oran nisbətləri ətrafında 95% etibarlılıq aralığı, logit modelinin eksponentləşdirilmiş 95% etibarlılıq intervallarıdır.

Oran əmsallarının təfsiri

Logit modelimizin qaytardığı əmsalları intuitiv şəkildə şərh etmək çətindir və buna görə də bunun əvəzinə nisbət nisbətlərini bildirmək adi haldır. Birdən az olan bir nisbət nisbəti \ (x \) artımının \ (y = 1 \) nisbətlərinin azalmasına səbəb olduğunu bildirir. Birdən çox olan bir nisbət nisbəti \ (x \) artımının \ (y = 1 \) nisbətlərinin artmasına səbəb olduğunu bildirir. Ümumiyyətlə, proqnozlaşdırıcıda bir vahid dəyişikliyi verilən nisbət dəyişikliyi yüzdə olaraq təyin edilə bilər

Məsələn, Trump -a səs vermə ehtimalı kişilərlə müqayisədə qadınlar üçün \ (100 (.701 - 1) = -29.9 \%\) aşağıdır. Bundan əlavə, təhsil miqyasındakı hər bir artım, Trump -a səs vermə ehtimalının \ (100 (.777 - 1) = -22.3 \%\) azalmasına gətirib çıxarır. Nəhayət, hər bir yaş artımı, Trump -a səs vermə şansının \ (100 (1.013 - 1) = 1.3 \%\) artmasına səbəb olur. Bütün bunlar \ (p

Proqnozlaşdırılan ehtimallar baxımından şərh

Oran nisbətləri ümumiyyətlə bildirilir, lakin bir nisbət nisbətinin dörd ayrı ehtimal tələb etdiyini nəzərə alsaq hələ də başa düşmək bir qədər çətindir:

Ehtimallar baxımından birbaşa düşünmək daha asandır. Lakin, modelin qeyri-xətti olması səbəbindən, ehtimala daimi təsir göstərən müstəqil bir vahid dəyişikliyindən danışmaq mümkün deyil. Bunun əvəzinə, proqnozlaşdırılan ehtimallar modeldəki digər dəyişənləri də nəzərə almağımızı tələb edir. Məsələn, 30 yaşlarında savadlı seçicilərdən və ya 60 yaşlarında təhsilsiz seçicilərdən danışmağımızdan asılı olaraq qadınlarda kişilər arasında Trump -a səs vermə ehtimalındakı fərq fərqli ola bilər.

R -də, modelimizdən proqnozlaşdırılan ehtimalları verdiyimiz hər hansı bir məlumat çərçivəsinə əlavə edəcək süpürgə paketindəki artırma funksiyasından istifadə edərək proqnozlaşdırılan ehtimalları tapa bilərik. Tutaq ki, Educ = 4 (kollec dərəcəsi) tutaraq 20-70 yaş aralığında hər iki cins üçün proqnozlaşdırılan ehtimalları əldə etmək istədik. Müəyyən edə bilərik:

Expand.grid funksiyası, arqument olaraq verilən yaş, cins və təhsil səviyyələrinin hər birləşməsini ehtiva edən yeni bir obyekt yaradacaq. Beləliklə, maraqlandığımız dəyərlərin xüsusi birləşməsi ilə yeni bir məlumat faylı yaratmaq mümkündür. Artırma funksiyası, müəyyən edilmiş birləşmələrin hər birinə Trump üçün səs vermə ehtimalını əlavə edəcək. Qeyd edək ki, expand.grid -dəki dəyişən adlar əvvəlki glm çağırışında göstərilən müstəqil dəyişənlərin adlarına tam uyğun olmalıdır. Nəticədə cədvəl aşağıdakı kimidir:

Yaş Cins Təhsil Pred. Prob SE Aşağı Yuxarı
20 Kişi 4 0.385 0.024 0.337 0.432
25 Kişi 4 0.400 0.022 0.356 0.444
30 Kişi 4 0.416 0.021 0.376 0.456
35 Kişi 4 0.432 0.019 0.395 0.469
40 Kişi 4 0.448 0.018 0.413 0.483
45 Kişi 4 0.464 0.017 0.431 0.497
50 Kişi 4 0.481 0.016 0.448 0.513
55 Kişi 4 0.497 0.016 0.465 0.529
60 Kişi 4 0.513 0.017 0.480 0.547
65 Kişi 4 0.530 0.018 0.494 0.565
70 Kişi 4 0.546 0.020 0.507 0.584
75 Kişi 4 0.562 0.021 0.520 0.604
20 Qadın 4 0.304 0.021 0.263 0.346
25 Qadın 4 0.318 0.020 0.280 0.357
30 Qadın 4 0.333 0.018 0.297 0.369
35 Qadın 4 0.347 0.017 0.314 0.381
40 Qadın 4 0.362 0.016 0.331 0.394
45 Qadın 4 0.378 0.015 0.348 0.407
50 Qadın 4 0.393 0.015 0.364 0.422
55 Qadın 4 0.409 0.015 0.379 0.439
60 Qadın 4 0.425 0.016 0.393 0.456
65 Qadın 4 0.441 0.017 0.407 0.475
70 Qadın 4 0.457 0.019 0.420 0.494
75 Qadın 4 0.473 0.021 0.432 0.514

  • İlk üç sütun, proqnozlaşdırılan ehtimalın hesablandığı müstəqil dəyişənlərin dəyərləridir.
  • Pred. Prob, proqnozlaşdırılan ehtimaldır.
  • SE, proqnozlaşdırılan ehtimalın standart səhvidir.
  • Aşağı və Yuxarı, ehtimal olunan ehtimal ətrafında 95% etibarlılıq intervalı verir.

35 yaşında, kollec təhsilli bir kişinin Trump-a səs vermə ehtimalı .432, 95% CI = [.395, .469].

Bu çox şeydir, buna görə də bir süjetlə daha yaxşı təqdim edə bilərik.

Təhsili kollec dərəcəsində sabit saxlayan kişi və qadınlar üçün ayrı -ayrı xətlər ilə yaş aralığında qurulmuş proqnozlaşdırılan ehtimalları alırıq. Hər beş ildən bir, proqnozlaşdırılan ehtimal ətrafında 95% etibarlılıq aralığına uyğun səhv xətləri alırıq. Modelə əsasən, Trump -a səs vermə ehtimalı yaşla artır, ancaq kişilər üçün qadınlardan daha yüksəkdir.

Hələ suallarınız var? Bizimlə əlaqə saxlayın!

Nikki, statistik analiz, iş inkişafı və digər məlumat elmi vəzifələrində kömək edən bir araşdırma köməkçisidir. Mexanika Mühəndisliyi ixtisası üzrə bakalavr dərəcəsini alıb və hazırda Riyaziyyat kafedrasının aspirantı olduğu Tətbiqi Statistika üzrə magistr təhsili alır. Həvəsinin məlumatlarla işlədiyini və ondan hansı anlayışların açıla biləcəyini gördükdən sonra məktəbə qayıtmağa məcbur edildi. Nikki eyni zamanda böyük bir heyvan həvəskarıdır. Boş vaxtlarında iti (Zeytun), iki pişik (Lucy və Bibər) və saqqallı əjdaha (Donuz Əti) ilə oynamağı sevir.

Metod Məsləhətçiləri Ann Arbor, LLC

2009-cu ildən bəri Methods Consultants, yerli başlanğıclardan federal hökumətə qədər müştərilərə kəmiyyət məlumatlarını anlamağa kömək etdi.