Για την παρουσίαση της γραμμικής παλινρόμησης στην συγκεκριμένη εργασία χρησιμοποιήθηκε το 10ο dataset από το παρακάτω link: Πηγή
Το dataset προέρχεται από τον Παγκόσμιο Οργανισμό Υγείας (WHO) και καλύπτει την χρονική περίοδο 2000–2015 για 193 χώρες. Αποτελείται από 22 στήλες και 2938 γραμμές. Διαιρείται σε 4 βασικές κατηγορίες:
Να εντοπιστούν οι βασικοί παράγοντες που επηρεάζουν το προσδόκιμο ζωής, δίνοντας έμφαση:
Στην ανοσοποίηση (π.χ. Ηπατίτιδα Β, Πολιομυελίτιδα)
Στη θνησιμότητα (βρεφική και ενήλικη)
Σε κοινωνικούς (εκπαίδευση), οικονομικούς (κατά κεφαλήν εισόδημα, δαπάνες υγείας) και συμπεριφορικούς παράγοντες (αλκοόλ, κάπνισμα)
Ποιοι παράγοντες επηρεάζουν το προσδόκιμο ζωής;
Πώς επηρεάζει η θνησιμότητα βρεφών/ενηλίκων;
Υπάρχει συσχέτιση με το κάπνισμα, το αλκοόλ ή την εκπαίδευση;
Βοηθά η αύξηση των δαπανών υγείας σε χώρες με προσδόκιμο <65 ετών;
Κατά τη διαδικασία δημιουργίας γραφημάτων παρατηρήθηκε ότι ορισμένες στήλες περιείχαν κενά (whitespace) στα ονόματά τους, γεγονός που προκαλούσε προβλήματα στην εκτέλεση του κώδικα, καθώς οι στήλες δεν αναγνωρίζονταν σωστά.
Για την αντιμετώπιση του προβλήματος πραγματοποιήθηκαν τροποποιήσεις στα ονόματα των στηλών, με χρήση του εργαλείου OpenRefine, ώστε να αφαιρεθούν τα κενά και να διασφαλιστεί η ομαλή επεξεργασία των δεδομένων όπως φαίνεται παρακάτω.
Το summary του dataset φαίνεται παρακάτω για όλες τις μεταβλητές.
## Country Year Status LifeExpectancy
## Length:2938 Min. :2000 Length:2938 Min. :36.30
## Class :character 1st Qu.:2004 Class :character 1st Qu.:63.10
## Mode :character Median :2008 Mode :character Median :72.10
## Mean :2008 Mean :69.22
## 3rd Qu.:2012 3rd Qu.:75.70
## Max. :2015 Max. :89.00
## NA's :10
## AdultMortality InfantDeaths Alcohol PercentageExpenditure
## Min. : 1.0 Min. : 0.0 Min. : 0.0100 Min. : 0.000
## 1st Qu.: 74.0 1st Qu.: 0.0 1st Qu.: 0.8775 1st Qu.: 4.685
## Median :144.0 Median : 3.0 Median : 3.7550 Median : 64.913
## Mean :164.8 Mean : 30.3 Mean : 4.6029 Mean : 738.251
## 3rd Qu.:228.0 3rd Qu.: 22.0 3rd Qu.: 7.7025 3rd Qu.: 441.534
## Max. :723.0 Max. :1800.0 Max. :17.8700 Max. :19479.912
## NA's :10 NA's :194
## HepatitisB Measles BMI Under.five.deaths
## Min. : 1.00 Min. : 0.0 Min. : 1.00 Min. : 0.00
## 1st Qu.:77.00 1st Qu.: 0.0 1st Qu.:19.30 1st Qu.: 0.00
## Median :92.00 Median : 17.0 Median :43.50 Median : 4.00
## Mean :80.94 Mean : 2419.6 Mean :38.32 Mean : 42.04
## 3rd Qu.:97.00 3rd Qu.: 360.2 3rd Qu.:56.20 3rd Qu.: 28.00
## Max. :99.00 Max. :212183.0 Max. :87.30 Max. :2500.00
## NA's :553 NA's :34
## Polio TotalExpenditure Diphtheria HIVAIDS
## Min. : 3.00 Min. : 0.370 Min. : 2.00 Min. : 0.100
## 1st Qu.:78.00 1st Qu.: 4.260 1st Qu.:78.00 1st Qu.: 0.100
## Median :93.00 Median : 5.755 Median :93.00 Median : 0.100
## Mean :82.55 Mean : 5.938 Mean :82.32 Mean : 1.742
## 3rd Qu.:97.00 3rd Qu.: 7.492 3rd Qu.:97.00 3rd Qu.: 0.800
## Max. :99.00 Max. :17.600 Max. :99.00 Max. :50.600
## NA's :19 NA's :226 NA's :19
## GDP Population Thinness1.19.years Thinness5.9.years
## Min. : 1.68 Min. :3.400e+01 Min. : 0.10 Min. : 0.10
## 1st Qu.: 463.94 1st Qu.:1.958e+05 1st Qu.: 1.60 1st Qu.: 1.50
## Median : 1766.95 Median :1.387e+06 Median : 3.30 Median : 3.30
## Mean : 7483.16 Mean :1.275e+07 Mean : 4.84 Mean : 4.87
## 3rd Qu.: 5910.81 3rd Qu.:7.420e+06 3rd Qu.: 7.20 3rd Qu.: 7.20
## Max. :119172.74 Max. :1.294e+09 Max. :27.70 Max. :28.60
## NA's :448 NA's :652 NA's :34 NA's :34
## IncomeCompositionOfResources Schooling
## Min. :0.0000 Min. : 0.00
## 1st Qu.:0.4930 1st Qu.:10.10
## Median :0.6770 Median :12.30
## Mean :0.6276 Mean :11.99
## 3rd Qu.:0.7790 3rd Qu.:14.30
## Max. :0.9480 Max. :20.70
## NA's :167 NA's :163
Μοντέλο 1
##
## Call:
## lm(formula = LifeExpectancy ~ Alcohol, data = LifeData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.962 -4.722 1.622 6.408 20.757
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 64.76334 0.25321 255.76 <2e-16 ***
## Alcohol 0.95464 0.04124 23.15 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.735 on 2733 degrees of freedom
## (203 observations deleted due to missingness)
## Multiple R-squared: 0.1639, Adjusted R-squared: 0.1636
## F-statistic: 535.8 on 1 and 2733 DF, p-value: < 2.2e-16
## (Intercept) Alcohol
## 64.7633398 0.9546442
Μοντέλο 2
##
## Call:
## lm(formula = LifeExpectancy ~ Alcohol + BMI, data = LifeData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.012 -4.236 0.759 3.855 27.631
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 57.677698 0.321664 179.31 <2e-16 ***
## Alcohol 0.559536 0.037998 14.73 <2e-16 ***
## BMI 0.235550 0.007748 30.40 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.56 on 2717 degrees of freedom
## (218 observations deleted due to missingness)
## Multiple R-squared: 0.375, Adjusted R-squared: 0.3746
## F-statistic: 815.2 on 2 and 2717 DF, p-value: < 2.2e-16
## (Intercept) Alcohol BMI
## 57.6776980 0.5595358 0.2355500
Μοντέλο 3
##
## Call:
## lm(formula = LifeExpectancy ~ Alcohol + BMI + Schooling, data = LifeData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -27.0992 -2.9448 0.4659 3.5452 31.3794
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 43.309525 0.471804 91.796 < 2e-16 ***
## Alcohol -0.108684 0.035310 -3.078 0.00211 **
## BMI 0.104648 0.007231 14.473 < 2e-16 ***
## Schooling 1.870962 0.049572 37.743 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.011 on 2565 degrees of freedom
## (369 observations deleted due to missingness)
## Multiple R-squared: 0.5908, Adjusted R-squared: 0.5904
## F-statistic: 1235 on 3 and 2565 DF, p-value: < 2.2e-16
## (Intercept) Alcohol BMI Schooling
## 43.3095248 -0.1086842 0.1046482 1.8709625
Μοντέλο 4
##
## Call:
## lm(formula = LifeExpectancy ~ Alcohol + BMI + Schooling + HIVAIDS,
## data = LifeData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -27.7763 -2.7155 -0.0378 2.8292 25.9428
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 48.123234 0.394078 122.116 <2e-16 ***
## Alcohol 0.008987 0.028165 0.319 0.75
## BMI 0.070792 0.005800 12.206 <2e-16 ***
## Schooling 1.642517 0.039748 41.323 <2e-16 ***
## HIVAIDS -0.712284 0.018303 -38.916 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.767 on 2564 degrees of freedom
## (369 observations deleted due to missingness)
## Multiple R-squared: 0.7428, Adjusted R-squared: 0.7424
## F-statistic: 1851 on 4 and 2564 DF, p-value: < 2.2e-16
## (Intercept) Alcohol BMI Schooling HIVAIDS
## 48.123233653 0.008987216 0.070792071 1.642516804 -0.712283953
Μοντέλο 5
m5 <- lm(LifeExpectancy ~ Alcohol + BMI + Schooling + HIVAIDS + IncomeCompositionOfResources, LifeData)
summary(m5)##
## Call:
## lm(formula = LifeExpectancy ~ Alcohol + BMI + Schooling + HIVAIDS +
## IncomeCompositionOfResources, data = LifeData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -27.6957 -2.5169 -0.1844 2.5388 26.5321
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 47.703573 0.379532 125.691 <2e-16 ***
## Alcohol -0.008500 0.027075 -0.314 0.754
## BMI 0.061399 0.005606 10.952 <2e-16 ***
## Schooling 1.168324 0.049936 23.397 <2e-16 ***
## HIVAIDS -0.685205 0.017674 -38.770 <2e-16 ***
## IncomeCompositionOfResources 10.386243 0.705123 14.730 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.578 on 2563 degrees of freedom
## (369 observations deleted due to missingness)
## Multiple R-squared: 0.7628, Adjusted R-squared: 0.7624
## F-statistic: 1649 on 5 and 2563 DF, p-value: < 2.2e-16
## (Intercept) Alcohol
## 47.703572961 -0.008500224
## BMI Schooling
## 0.061399480 1.168324116
## HIVAIDS IncomeCompositionOfResources
## -0.685204546 10.386242882
results <- data.frame(
Model = c(
"Alcohol",
"Alcohol + BMI",
"Alcohol + BMI + Schooling",
"Alcohol + BMI + Schooling + HIVAIDS",
"Alcohol + BMI + Schooling + HIVAIDS + IncomeCompositionOfResources"
),
R_squared = c(
summary(m1)$r.squared,
summary(m2)$r.squared,
summary(m3)$r.squared,
summary(m4)$r.squared,
summary(m5)$r.squared
),
SSE = c(
SSE1,
SSE2,
SSE3,
SSE4,
SSE5
),
RMSE = c(
RMSE1,
RMSE2,
RMSE3,
RMSE4,
RMSE5
)
)
knitr::kable(results, digits = 4, caption = "Σύγκριση Μοντέλων: R-squared και SSE")| Model | R_squared | SSE | RMSE |
|---|---|---|---|
| Alcohol | 0.1639 | 208521.92 | 8.4246 |
| Alcohol + BMI | 0.3750 | 155296.68 | 7.2703 |
| Alcohol + BMI + Schooling | 0.5908 | 92666.83 | 5.6161 |
| Alcohol + BMI + Schooling + HIVAIDS | 0.7428 | 58257.13 | 4.4530 |
| Alcohol + BMI + Schooling + HIVAIDS + IncomeCompositionOfResources | 0.7628 | 53710.42 | 4.2757 |
Αξιολόγηση Μοντέλων για την Πρόβλεψη Προσδόκιμου Ζωής
Η πρόβλεψη του προσδόκιμου ζωής βελτιώνεται σταδιακά με την προσθήκη σημαντικών κοινωνικοοικονομικών και υγειονομικών μεταβλητών:
Alcohol μόνο → Πολύ χαμηλή εξηγητική ικανότητα (R² = 0.16, RMSE = 8.42).
BMI → Βελτίωση καθώς το BMI σχετίζεται με τη γενική υγεία.
Schooling → Σημαντική άνοδος (R² = 0.59), δείχνει τον ρόλο της εκπαίδευσης.
HIV/AIDS → Θεαματική βελτίωση (R² = 0.74), κρίσιμος παράγοντας σε πολλές χώρες.
IncomeCompositionOfResources → Τελική ενίσχυση (R² = 0.76, RMSE = 4.28), οι οικονομικοί πόροι επηρεάζουν καθοριστικά τη μακροζωία.
Συμπέρασμα Το καλύτερο μοντέλο περιλαμβάνει μεταβλητές που αντικατοπτρίζουν την υγεία, την εκπαίδευση και την οικονομική ευημερία, προσφέροντας ικανοποιητική ακρίβεια πρόβλεψης.
Περαιτέρω προσθήκη μεταβλητών δοκιμάστηκε αλλά οδήγησε σε ελάχιστες βελτιώσεις, μη αξιόλογες υπολογιστικά για τη συνολική απόδοση του μοντέλου.
set.seed(956)
split <- sample.split(LifeData$LifeExpectancy,SplitRatio=0.75)
LifeTrain = subset(LifeData,split==TRUE)
LifeTest = subset(LifeData,split==FALSE)
nrow(LifeTest)## [1] 733
Χωρίζουμε το αρχικό dataset σε εκπαιδευτικό σύνολο (75%) και σύνολο ελέγχου (25%) για να αξιολογήσουμε την απόδοση του μοντέλου μας.
vars_used <- all.vars(formula(m5))
LifeTestClean <- LifeTest %>% filter(if_all(all_of(vars_used), ~ !is.na(.)))
nrow(LifeTestClean)## [1] 638
Σε αυτό το σημείο φιλτράρουμε το test set, αφαιρώντας τις γραμμές που περιέχουν ελλιπείς τιμές (NA) για οποιαδήποτε από τις μεταβλητές που χρησιμοποιεί το μοντέλο μας (m5). Έτσι αποφεύγουμε λάθη στην πρόβλεψη.
LifePrediction <- predict(m5, newdata=LifeTestClean)
SSEPred <- sum((LifePrediction - LifeTestClean$LifeExpectancy)^2)
SSTPred <- sum((mean(LifeTrain$LifeExpectancy) - LifeTestClean$LifeExpectancy)^2)
R2Pred <- 1 - SSEPred/SSTPred
R2Pred## [1] 0.7459865
## [1] 4.521762
Υπολογίζουμε το out-of-sample R-squared, που μας δείχνει πόσο καλά γενικεύει το μοντέλο σε νέα, μη εκπαιδευμένα δεδομένα. Συγκρίνουμε με το R² του training set.
Επίσης, υπολογίζουμε και το μέσο τετραγωνικό σφάλμα (RMSE), το οποίο μας λέει κατά πόσο οι προβλέψεις μας αποκλίνουν από τις πραγματικές τιμές.
Καθώς ενισχύαμε το μοντέλο με επιπλέον μεταβλητές, παρατηρήσαμε σημαντική αύξηση στην εξηγητική του ικανότητα (R²):
Η εκπαίδευση (Schooling) αποδείχθηκε ιδιαίτερα σημαντικός παράγοντας, προσφέροντας μεγάλη βελτίωση στην ακρίβεια του μοντέλου (από R² = 0.27 σε R² = 0.59).
Η μεταβλητή HIV/AIDS είχε θεαματική επίδραση στην πρόβλεψη, πιθανόν λόγω της επίδρασής της σε ευάλωτες πληθυσμιακές ομάδες.
Το IncomeCompositionOfResources, που αντανακλά την οικονομική ικανότητα μιας χώρας να επενδύει σε κοινωνικούς και υγειονομικούς πόρους, οδήγησε σε ακόμα υψηλότερη ακρίβεια (R² = 0.76), επιβεβαιώνοντας ότι ο πλούτος μιας χώρας συσχετίζεται με το προσδόκιμο ζωής.
Παρόλο που κάθε νέα μεταβλητή βελτίωνε το μοντέλο, η οριακή συνεισφορά μειωνόταν όσο προσθέταμε περισσότερες:
Η μετάβαση από μοντέλο 4 σε μοντέλο 5 είχε μικρότερο αντίκτυπο από τις προηγούμενες.
Αυτό υποδεικνύει ότι υπάρχει ένα όριο στην απόδοση που μπορούμε να επιτύχουμε με γραμμικά μοντέλα, ακόμη κι αν προσθέσουμε πολλές μεταβλητές.
Με τη χρήση test set για πρόβλεψη, επιβεβαιώσαμε ότι:
Το μοντέλο παρουσιάζει υψηλό R² και χαμηλό RMSE και στο test set.
Η προσεκτική προεπεξεργασία (καθαρισμός ελλιπών τιμών) συνέβαλε καθοριστικά στη σωστή πρόβλεψη.
Η έρευνα επιβεβαιώνει ότι:
Η πρόσβαση στην εκπαίδευση, η πρόληψη ασθενειών, και η οικονομική ευρωστία είναι κρίσιμοι παράγοντες μακροζωίας.
Παράγοντες όπως αλκοόλ και BMI, αν και σχετικοί, δεν αρκούν από μόνοι τους για να εξηγήσουν τη μεταβλητότητα στο προσδόκιμο ζωής.