## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Περιγραφή του Dataset:

Το dataset περιέχει δημογραφικά, οικονομικά και πιστωτικά στοιχεία για άτομα που έχουν αιτηθεί δάνειο. https://www.kaggle.com/datasets/udaymalviya/bank-loan-data.



Αιτιολόγηση της Επιλογής για Επιχειρηματική Αναλυτική:

Το συγκεκριμένο dataset είναι εξαιρετικά χρήσιμο για την επιχειρηματική αναλυτική καθώς επιτρέπει:

  1. Αξιολόγηση πιστοληπτικής ικανότητας (credit scoring)

  2. Πρόβλεψη πιθανότητας χρεοκοπίας ενός πελάτη

  3. Βελτιστοποίηση επιτοκίων και όρων δανειοδότησης με βάση το ρίσκο

  4. Διαχείριση ρίσκου και βελτίωση στρατηγικών ανάκτησης οφειλών


Πιθανά Επιχειρηματικά Ερωτήματα:

Ποιοι παράγοντες επηρεάζουν περισσότερο την έγκριση ενός δανείου;

Υπάρχει συσχέτιση μεταξύ του επιτοκίου και του κινδύνου αθέτησης πληρωμών;

Ποιο δημογραφικό προφίλ δανειοληπτών έχει τη μεγαλύτερη πιθανότητα αποπληρωμής;

Υπάρχει διαφορά στη χορήγηση δανείων μεταξύ ατόμων με διαφορετικά επίπεδα εκπαίδευσης ή επαγγελματικής εμπειρίας;


Περιγραφή Μεταβλητών:

  • person_age: Ηλικία του ατόμου που αιτείται το δάνειο. Τύπος δεδομένων: αριθμητική (int/float). Εύρος τιμών: 18+ έτη.

  • person_gender: Φύλο του ατόμου. Τύπος δεδομένων: κατηγορική (string). Δυνατές τιμές: “Male”, “Female”.

  • person_education: Επίπεδο εκπαίδευσης του ατόμου. Τύπος δεδομένων: κατηγορική (string). Δυνατές τιμές: “High School”, “Bachelor”, “Master”, κ.ά.

  • person_income: Ετήσιο εισόδημα του ατόμου σε δολάρια. Τύπος δεδομένων: αριθμητική (float).

  • person_emp_exp: Χρόνια επαγγελματικής εμπειρίας του ατόμου. Τύπος δεδομένων: αριθμητική (float). Εύρος τιμών: 0+ έτη.

  • person_home_ownership: Κατάσταση ιδιοκτησίας κατοικίας. Τύπος δεδομένων: κατηγορική (string). Δυνατές τιμές: “RENT”, “OWN”, “MORTGAGE”, κ.ά.

  • loan_amnt: Ποσό του δανείου που αιτήθηκε το άτομο, σε δολάρια. Τύπος δεδομένων: αριθμητική (float).

  • loan_intent: Σκοπός για τον οποίο λαμβάνεται το δάνειο. Τύπος δεδομένων: κατηγορική (string). Δυνατές τιμές: “PERSONAL”, “EDUCATION”, “MEDICAL”, κ.ά.

  • loan_int_rate: Επιτόκιο του δανείου σε ποσοστό (%). Τύπος δεδομένων: αριθμητική (float). Εύρος τιμών: 0-100%.

  • loan_percent_income: Ποσοστό του ετήσιου εισοδήματος που διατίθεται για την αποπληρωμή του δανείου. Τύπος δεδομένων: αριθμητική (float). Εύρος τιμών: 0-1.

  • cb_person_cred_hist_length: Μήκος του πιστωτικού ιστορικού του ατόμου, σε έτη. Τύπος δεδομένων: αριθμητική (int). Εύρος τιμών: 0+ έτη.

  • credit_score: Πιστωτική βαθμολογία του ατόμου. Τύπος δεδομένων: αριθμητική (int). Τυπικό εύρος τιμών: 300-850.

  • previous_loan_defaults_on_file: Υπάρχουν προηγούμενες αθετήσεις πληρωμών; Τύπος δεδομένων: κατηγορική (string). Δυνατές τιμές: “Yes”, “No”.

  • loan_status: Κατάσταση αποπληρωμής του δανείου. Τύπος δεδομένων: δυαδική (0: Αθέτηση πληρωμής, 1: Κανονική αποπληρωμή).

Περιγραφικά Στατιστικά

summary(loandata)
##    person_age     person_gender      person_education   person_income    
##  Min.   : 20.00   Length:45000       Length:45000       Min.   :   8000  
##  1st Qu.: 24.00   Class :character   Class :character   1st Qu.:  47204  
##  Median : 26.00   Mode  :character   Mode  :character   Median :  67048  
##  Mean   : 27.76                                         Mean   :  80319  
##  3rd Qu.: 30.00                                         3rd Qu.:  95789  
##  Max.   :144.00                                         Max.   :7200766  
##  person_emp_exp   person_home_ownership   loan_amnt     loan_intent       
##  Min.   :  0.00   Length:45000          Min.   :  500   Length:45000      
##  1st Qu.:  1.00   Class :character      1st Qu.: 5000   Class :character  
##  Median :  4.00   Mode  :character      Median : 8000   Mode  :character  
##  Mean   :  5.41                         Mean   : 9583                     
##  3rd Qu.:  8.00                         3rd Qu.:12237                     
##  Max.   :125.00                         Max.   :35000                     
##  loan_int_rate   loan_percent_income cb_person_cred_hist_length  credit_score  
##  Min.   : 5.42   Min.   :0.0000      Min.   : 2.000             Min.   :390.0  
##  1st Qu.: 8.59   1st Qu.:0.0700      1st Qu.: 3.000             1st Qu.:601.0  
##  Median :11.01   Median :0.1200      Median : 4.000             Median :640.0  
##  Mean   :11.01   Mean   :0.1397      Mean   : 5.867             Mean   :632.6  
##  3rd Qu.:12.99   3rd Qu.:0.1900      3rd Qu.: 8.000             3rd Qu.:670.0  
##  Max.   :20.00   Max.   :0.6600      Max.   :30.000             Max.   :850.0  
##  previous_loan_defaults_on_file  loan_status    
##  Length:45000                   Min.   :0.0000  
##  Class :character               1st Qu.:0.0000  
##  Mode  :character               Median :0.0000  
##                                 Mean   :0.2222  
##                                 3rd Qu.:0.0000  
##                                 Max.   :1.0000


Scatter Plot

library(ggplot2)
ggplot(loandata, aes(x = person_age, y = person_income)) + geom_point()



Παρατηρείται ότι το μεγαλύτερο μέρος των δεδομένων συγκεντρώνεται σε χαμηλές τιμές εισοδήματος.

Υπάρχουν ορισμένες ακραίες τιμές (outliers) ιδιαίτερα σε άτομα με εξαιρετικά υψηλό εισόδημα και μεγάλη ηλικία (>100 έτη), που ενδεχομένως να είναι σφάλματα ή εξαιρετικά σπάνιες περιπτώσεις.



Scatter Plot 2

library(ggplot2)
ggplot(loandata, aes(x = loan_amnt, y = person_education)) + geom_point()



Το ποσό δανείου κατανέμεται ομοιόμορφα μεταξύ των επιπέδων εκπαίδευσης.

Δεν φαίνεται ξεκάθαρη σχέση μεταξύ επιπέδου εκπαίδευσης και ποσού δανείου.

Πιθανώς απαιτείται διαφορετική απεικόνιση (π.χ. boxplot) για να διερευνηθεί καλύτερα η κατανομή των ποσών ανά κατηγορία.



Box Plot

ggplot(loandata, aes(x = loan_amnt, y = person_age, fill = "blue")) +
  geom_boxplot() +
  theme_minimal() +
  scale_fill_brewer(palette = "Set3")



Τα περισσότερα δεδομένα βρίσκονται κοντά στον πυθμένα του boxplot, υποδηλώνοντας ότι το μεγαλύτερο μέρος των δανείων αφορά άτομα σε χαμηλότερες ηλικίες.

Υπάρχουν σημαντικά outliers σε υψηλές ηλικίες, που ίσως χρειάζονται περαιτέρω ανάλυση.

Η διανομή του ποσού δανείου φαίνεται συγκεντρωμένη σε μια συγκεκριμένη περιοχή με λίγες εξαιρέσεις.



Histogram

ggplot(loandata, aes(loan_amnt)) +
      geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.



Τα περισσότερα δάνεια φαίνεται να είναι συγκεντρωμένα σε χαμηλότερα ποσά (κάτω από 15.000). Υπάρχουν επίσης μερικές κορυφές (spikes), πιθανότατα λόγω συγκεκριμένων σταθερών ποσών δανείου που επιλέγονται συχνά. Διασπορά και Συμμετρία Το διάγραμμα δείχνει μια ασύμμετρη κατανομή, με ουρά προς τα δεξιά (δεξιά λοξότητα). Αυτό σημαίνει ότι υπάρχουν μερικά δάνεια με πολύ υψηλά ποσά, αλλά είναι λιγότερο συχνά. Ρυθμίσεις του Histogram Η προεπιλεγμένη τιμή bins = 30 έχει χρησιμοποιηθεί για την ομαδοποίηση των δεδομένων. Ενδέχεται να χρειαστεί προσαρμογή της παραμέτρου binwidth για πιο ομαλή παρουσίαση.



Barchart

ggplot(loandata, aes(loan_intent)) +
      geom_bar()



Εκπαίδευση (EDUCATION) και Ιατρικά Έξοδα (MEDICAL) είναι από τους πιο συχνούς σκοπούς δανείων. Η κατηγορία HOMEIMPROVEMENT έχει το μικρότερο αριθμό δανείων, δηλώνοντας ότι λιγότεροι δανειολήπτες παίρνουν δάνειο για ανακαίνιση σπιτιού. Οι υπόλοιπες κατηγορίες έχουν σχετικά ισοκατανεμημένο αριθμό δανείων, χωρίς μεγάλες διαφορές μεταξύ τους. Συμπέρασμα Το διάγραμμα μας βοηθά να κατανοήσουμε τις προτεραιότητες των δανειοληπτών. Παρατηρούμε ότι οι πιο συχνοί λόγοι λήψης δανείων σχετίζονται με εκπαίδευση και ιατρικά έξοδα, ενώ οι λιγότεροι δανειολήπτες επιλέγουν δάνεια για βελτίωση κατοικίας



Γραμμική Παλινδρόμηση

Model 1 - Ποσό δανείου

model1 <- lm(person_age ~ loan_amnt, data = loandata)
summary(model1)
## 
## Call:
## lm(formula = person_age ~ loan_amnt, data = loandata)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
##  -8.477  -4.270  -1.663   2.410 116.468 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 2.730e+01  5.172e-02  527.77   <2e-16 ***
## loan_amnt   4.858e-05  4.507e-06   10.78   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.037 on 44998 degrees of freedom
## Multiple R-squared:  0.002576,   Adjusted R-squared:  0.002553 
## F-statistic: 116.2 on 1 and 44998 DF,  p-value: < 2.2e-16



ggplot(loandata, aes(x = loan_amnt, y = person_age)) +
  geom_point(alpha = 0.5) +
  geom_abline(intercept = coef(model1)[1], slope = coef(model1)[2], color = "red", linewidth = 1.2) +
  labs(title = "Γραμμική Παλινδρόμηση: Ηλικία ~ Ποσό Δανείου",
       x = "Loan Amount", y = "Person Age")

Σχόλιο: Το διάγραμμα παρουσιάζει τη γραμμική παλινδρόμηση της ηλικίας σε σχέση με το ποσό δανείου. Από την κατανομή των σημείων φαίνεται ότι υπάρχει μεγάλη συγκέντρωση ατόμων με χαμηλά ποσά δανείων, κυρίως κάτω από τις 10.000 μονάδες, ενώ οι ηλικίες κυμαίνονται κυρίως μεταξύ 20 και 60 ετών. Η κόκκινη γραμμή παλινδρόμησης είναι σχεδόν οριζόντια, γεγονός που υποδηλώνει ότι δεν υπάρχει ουσιαστική γραμμική συσχέτιση μεταξύ της ηλικίας και του ποσού δανείου. Συνεπώς, μπορούμε να συμπεράνουμε πως η ηλικία δεν επηρεάζει εμφανώς το ποσό του δανείου, τουλάχιστον με γραμμικό τρόπο.



Model 2 - Προσθήκη person_income

model2 <- lm(person_age ~ loan_amnt + person_income , data = loandata)
summary(model2)
## 
## Call:
## lm(formula = person_age ~ loan_amnt + person_income, data = loandata)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.067  -4.129  -1.700   2.365 113.916 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.656e+01  5.397e-02 492.222   <2e-16 ***
## loan_amnt     3.883e-06  4.563e-06   0.851    0.395    
## person_income 1.449e-05  3.583e-07  40.428   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.931 on 44997 degrees of freedom
## Multiple R-squared:  0.03753,    Adjusted R-squared:  0.03749 
## F-statistic: 877.4 on 2 and 44997 DF,  p-value: < 2.2e-16

Σχόλιο: Με την προσθήκη του person_income στο μοντέλο, παρατηρείται αξιοσημείωτη βελτίωση. Ο νέος συντελεστής για το person_income είναι στατιστικά σημαντικός (p-value < 2e-16) και έχει θετικό πρόσημο, υποδηλώνοντας ότι όσο αυξάνεται το εισόδημα, αυξάνεται και η ηλικία, κάτι που ίσως αντανακλά μια γενική τάση μεγαλύτερων ηλικιών να έχουν υψηλότερα εισοδήματα. Αντίθετα, το loan_amnt πλέον δεν είναι στατιστικά σημαντικό (p-value = 0.395), πράγμα που σημαίνει ότι μόλις προστεθεί το εισόδημα στο μοντέλο, η επίδραση του ποσού του δανείου στην ηλικία σχεδόν εξαφανίζεται. Η τιμή του R-squared αυξάνεται στο 0.0375, κάτι που δείχνει ότι το μοντέλο εξηγεί περίπου το 3.75% της διακύμανσης στην ηλικία — σαφώς βελτιωμένο σε σχέση με το προηγούμενο μοντέλο, αν και ακόμα σχετικά χαμηλό. Συνοπτικά, η προσθήκη του εισοδήματος βελτιώνει το μοντέλο και αναδεικνύει ότι το εισόδημα σχετίζεται πολύ πιο έντονα με την ηλικία από ό,τι το ποσό του δανείου.



Model 3 - Προσθήκη person_age

model3 <- lm(person_age ~ loan_amnt + person_income + person_education, data = loandata)
summary(model3)
## 
## Call:
## lm(formula = person_age ~ loan_amnt + person_income + person_education, 
##     data = loandata)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -19.903  -4.068  -1.702   2.389 113.582 
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  2.696e+01  7.066e-02 381.560  < 2e-16 ***
## loan_amnt                    3.288e-06  4.526e-06   0.726    0.468    
## person_income                1.440e-05  3.554e-07  40.503  < 2e-16 ***
## person_educationBachelor    -8.842e-01  7.389e-02 -11.967  < 2e-16 ***
## person_educationDoctorate    5.308e+00  2.421e-01  21.926  < 2e-16 ***
## person_educationHigh School -3.334e-01  7.594e-02  -4.390 1.14e-05 ***
## person_educationMaster      -6.707e-01  8.851e-02  -7.577 3.60e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.882 on 44993 degrees of freedom
## Multiple R-squared:  0.05325,    Adjusted R-squared:  0.05313 
## F-statistic: 421.8 on 6 and 44993 DF,  p-value: < 2.2e-16

Σχόλιο Η προσθήκη της μεταβλητής person_education στο μοντέλο έχει σημαντική επίδραση στην πρόβλεψη της ηλικίας. Στο προηγούμενο μοντέλο, όπου περιλαμβάνονταν μόνο οι μεταβλητές loan_amnt και person_income, το R-squared ήταν πολύ χαμηλό (0.0026), υποδεικνύοντας ότι το μοντέλο εξηγούσε μόνο το 0.26% της μεταβλητότητας στην ηλικία. Η προσθήκη του εισοδήματος αύξησε ελαφρώς την εξήγηση, αλλά παρέμεινε αρκετά περιορισμένη. Στο νέο μοντέλο, με την προσθήκη της μεταβλητής person_education, παρατηρείται μια σημαντική βελτίωση. Η person_education έχει στατιστικά σημαντική επίδραση στην ηλικία, με διαφορετικές κατηγορίες εκπαίδευσης να συνδέονται με διαφορετικά επίπεδα ηλικίας. Τα άτομα με πτυχίο Bachelor εμφανίζονται κατά μέσο όρο νεότερα από τα άτομα στην αναφορά, ενώ τα άτομα με διδακτορικό τίτλο είναι κατά μέσο όρο μεγαλύτερα. Ενδιάμεσα, τα άτομα με απολυτήριο Λυκείου και με μεταπτυχιακό τίτλο έχουν επίσης διαφοροποιήσεις στην ηλικία τους σε σχέση με την αναφορά. Η σημασία της εκπαίδευσης στο μοντέλο ενισχύει τη ικανότητά του να εξηγεί την ηλικία, αλλά το R-squared παραμένει σχετικά χαμηλό (0.0533), υποδεικνύοντας ότι υπάρχουν άλλοι παράγοντες που επίσης επηρεάζουν την ηλικία και δεν καλύπτονται από το μοντέλο. Συνολικά, η προσθήκη της εκπαίδευσης βελτιώνει την εξήγηση του μοντέλου και προσφέρει σημαντικές πληροφορίες για την ηλικία των ατόμων, αλλά το μοντέλο χρειάζεται περαιτέρω μεταβλητές ή πιο σύνθετους παράγοντες για να γίνει πιο ακριβές και να εξηγήσει καλύτερα την ηλικία των ατόμων.



library(knitr)

model_summary <- data.frame(
  Μοντέλο = c(
    "Ηλικία ~ Ποσό Δανείου",
    "Ηλικία ~ Ποσό Δανείου + Εισόδημα",
    "Ηλικία ~ Ποσό Δανείου + Εισόδημα + Εκπαίδευση"
  ),
  R_squared = c(
    summary(model1)$r.squared,
    summary(model2)$r.squared,
    summary(model3)$r.squared
  ),
  SSE = c(
    deviance(model1),
    deviance(model2),
    deviance(model3)
  )
)

model_summary$R_squared <- round(model_summary$R_squared, 4)
model_summary$SSE <- round(model_summary$SSE, 2)

kable(model_summary, caption = "Σύγκριση Μοντέλων: R² και SSE")
Σύγκριση Μοντέλων: R² και SSE
Μοντέλο R_squared SSE
Ηλικία ~ Ποσό Δανείου 0.0026 1640178
Ηλικία ~ Ποσό Δανείου + Εισόδημα 0.0375 1582692
Ηλικία ~ Ποσό Δανείου + Εισόδημα + Εκπαίδευση 0.0533 1556845


Συμπέρασμα

Συνολικά, τα τρία μοντέλα παρέχουν μια αναλυτική εικόνα της σχέσης μεταξύ διαφόρων παραμέτρων και της ηλικίας των ατόμων, αλλά κάθε μοντέλο έχει τις δικές του αδυναμίες και πλεονεκτήματα. Στο πρώτο μοντέλο, που περιλάμβανε μόνο το loan_amnt, το μοντέλο αποδείχθηκε πολύ περιορισμένο, καθώς η μεταβλητή αυτή εξηγούσε ελάχιστο ποσοστό της μεταβλητότητας στην ηλικία (μόλις 0.26% του R-squared). Παρά την στατιστική σημαντικότητα του ποσού του δανείου, η χαμηλή εξήγηση της ηλικίας υποδεικνύει ότι το ποσό του δανείου δεν είναι ουσιαστικός παράγοντας για την πρόβλεψη της ηλικίας. Το δεύτερο μοντέλο, που προσέθεσε τη μεταβλητή person_income, παρουσίασε μια μικρή βελτίωση στην εξήγηση της ηλικίας (R-squared: 0.0533), με το εισόδημα να αποδεικνύεται σημαντικό παράγοντα για την ηλικία. Ωστόσο, το ποσό του δανείου παρέμεινε μη σημαντικό, υποδεικνύοντας ότι το εισόδημα είχε μεγαλύτερη επίδραση στην ηλικία. Στο τρίτο μοντέλο, η προσθήκη της μεταβλητής person_education ενίσχυσε σημαντικά το μοντέλο, καθώς η εκπαίδευση των ατόμων αποδείχθηκε ισχυρός προγνωστικός παράγοντας για την ηλικία. Η εκπαίδευση φάνηκε να επηρεάζει την ηλικία, με άτομα με διδακτορικό τίτλο να είναι μεγαλύτερα και άτομα με πτυχίο Bachelor ή Master να είναι νεότερα, συγκριτικά με την αναφορά. Παρά τη βελτίωση, το R-squared παρέμεινε χαμηλό (0.0533), υποδεικνύοντας ότι το μοντέλο εξακολουθεί να μην εξηγεί μεγάλο μέρος της μεταβλητότητας στην ηλικία. Σε τελική ανάλυση, ενώ η προσθήκη της person_education προσφέρει μια πιο ολοκληρωμένη εικόνα για την πρόβλεψη της ηλικίας, τα μοντέλα συνολικά υποδεικνύουν ότι υπάρχουν άλλοι παράγοντες που επηρεάζουν την ηλικία και δεν καλύπτονται πλήρως από τις μεταβλητές που εξετάστηκαν. Επομένως, παρά την πρόοδο που επιτεύχθηκε με την προσθήκη των νέων μεταβλητών, το μοντέλο εξακολουθεί να απαιτεί περαιτέρω βελτιώσεις και ίσως την προσθήκη περισσότερων παραμέτρων για να προσφέρει καλύτερη εξήγηση της ηλικίας των ατόμων.