Το σύνολο δεδομένων που αναλύεται είναι το IBM HR Analytics Employee Attrition & Performance, το οποίο αντλήθηκε από την πλατφόρμα Kaggle.
Αποτελείται από 1470 εγγραφές και 35 μεταβλητές, που σχετίζονται με δημογραφικά στοιχεία, την απόδοση και την εργασιακή ικανοποίηση και κυρίως αν έχουν Αποχωρήσει από την εταιρεία ή όχι.
Η επιλογή του συγκεκριμένου dataset έγινε, διότι ο συνδυασμός των ποσοτικών και ποιοτικών δεδομένων, που προσφέρει σχετικά με το τμήμα του Ανθρωπίνου Δυναμικού στα πλαίσια της Επιχειρηματικής Αναλυτικής επιτρέπει την χρήση στατιστικών εργαλείων για τη λήψη αποφάσεων, που αφορούν τη διακράτηση του προσωπικού και τη βελτίωση του εργασιακού περιβάλλοντος.
| Μεταβλητή | Τύπος | Εύρος Τιμών | Μονάδες Μέτρησης |
|---|---|---|---|
| Age | Διακριτή | 18 - 60 | Έτη |
| DailyRate | Διακριτή | 102 - 1499 | Νομισματικές Μονάδες (π.χ. Ευρώ) |
| DistanceFromHome | Διακριτή | 1 - 29 | Απόσταση (συνήθως Μίλια) |
| HourlyRate | Διακριτή | 30 - 100 | Νομισματικές Μονάδες ανά ώρα |
| MonthlyIncome | Συνεχής | 1.009 - 19.999 | Νομισματικές Μονάδες ανά μήνα |
| MonthlyRate | Διακριτή | 2.094 - 26.999 | Νομισματικές Μονάδες |
| NumCompaniesWorked | Διακριτή | 0 - 9 | Αριθμός εταιρειών |
| PercentSalaryHike | Διακριτή | 11 - 25 | Ποσοστό (%) |
| TotalWorkingYears | Διακριτή | 0 - 40 | Έτη |
| TrainingTimesLastYear | Διακριτή | 0 - 6 | Αριθμός εκπαιδεύσεων |
| YearsAtCompany | Διακριτή | 0 - 40 | Έτη |
| YearsInCurrentRole | Διακριτή | 0 - 18 | Έτη |
| YearsSinceLastPromotion | Διακριτή | 0 - 15 | Έτη |
| YearsWithCurrManager | Διακριτή | 0 - 17 | Έτη |
| Μεταβλητή | Περιγραφή / Τιμές |
|---|---|
| Attrition | Εγκατάλειψη εργασίας (Yes, No) |
| BusinessTravel | Συχνότητα ταξιδιών (Non-Travel, Travel_Rarely, Travel_Frequently) |
| Department | Τμήμα (Sales, Research & Development, Human Resources) |
| EducationField | Τομέας εκπαίδευσης (Life Sciences, Medical, Marketing, κ.α.) |
| Gender | Φύλο (Female, Male) |
| JobRole | Ρόλος εργασίας (Manager, Sales Executive, Laboratory Technician, κ.α.) |
| MaritalStatus | Οικογενειακή κατάσταση (Single, Married, Divorced) |
| OverTime | Υπερωρίες (Yes, No) |
| Μεταβλητή | Εύρος (Κλίμακα) | Περιγραφή |
|---|---|---|
| Education | 1 - 5 | Επίπεδο εκπαίδευσης (1: Χαμηλό, 5: Υψηλό) |
| EnvironmentSatisfaction | 1 - 4 | Ικανοποίηση από το περιβάλλον εργασίας |
| JobInvolvement | 1 - 4 | Βαθμός εμπλοκής στην εργασία |
| JobLevel | 1 - 5 | Ιεραρχικό επίπεδο θέσης |
| JobSatisfaction | 1 - 4 | Ικανοποίηση από την εργασία |
| PerformanceRating | 3 - 4 | Αξιολόγηση απόδοσης |
| RelationshipSatisfaction | 1 - 4 | Ικανοποίηση από τις σχέσεις στην εργασία |
| StockOptionLevel | 0 - 3 | Επίπεδο δικαιωμάτων προαίρεσης μετοχών |
| WorkLifeBalance | 1 - 4 | Ισορροπία επαγγελματικής/προσωπικής ζωής |
##* Φόρτωση Δεδομένων*
# Φόρτωση των δεδομένων
hr_data <- read.csv("WA_Fn-UseC_-HR-Employee-Attrition.csv", stringsAsFactors = TRUE)
# Έλεγχος των πρώτων γραμμών για να δούμε αν φορτώθηκαν σωστά
head(hr_data)
## Age Attrition BusinessTravel DailyRate Department
## 1 41 Yes Travel_Rarely 1102 Sales
## 2 49 No Travel_Frequently 279 Research & Development
## 3 37 Yes Travel_Rarely 1373 Research & Development
## 4 33 No Travel_Frequently 1392 Research & Development
## 5 27 No Travel_Rarely 591 Research & Development
## 6 32 No Travel_Frequently 1005 Research & Development
## DistanceFromHome Education EducationField EmployeeCount EmployeeNumber
## 1 1 2 Life Sciences 1 1
## 2 8 1 Life Sciences 1 2
## 3 2 2 Other 1 4
## 4 3 4 Life Sciences 1 5
## 5 2 1 Medical 1 7
## 6 2 2 Life Sciences 1 8
## EnvironmentSatisfaction Gender HourlyRate JobInvolvement JobLevel
## 1 2 Female 94 3 2
## 2 3 Male 61 2 2
## 3 4 Male 92 2 1
## 4 4 Female 56 3 1
## 5 1 Male 40 3 1
## 6 4 Male 79 3 1
## JobRole JobSatisfaction MaritalStatus MonthlyIncome MonthlyRate
## 1 Sales Executive 4 Single 5993 19479
## 2 Research Scientist 2 Married 5130 24907
## 3 Laboratory Technician 3 Single 2090 2396
## 4 Research Scientist 3 Married 2909 23159
## 5 Laboratory Technician 2 Married 3468 16632
## 6 Laboratory Technician 4 Single 3068 11864
## NumCompaniesWorked Over18 OverTime PercentSalaryHike PerformanceRating
## 1 8 Y Yes 11 3
## 2 1 Y No 23 4
## 3 6 Y Yes 15 3
## 4 1 Y Yes 11 3
## 5 9 Y No 12 3
## 6 0 Y No 13 3
## RelationshipSatisfaction StandardHours StockOptionLevel TotalWorkingYears
## 1 1 80 0 8
## 2 4 80 1 10
## 3 2 80 0 7
## 4 3 80 0 8
## 5 4 80 1 6
## 6 3 80 0 8
## TrainingTimesLastYear WorkLifeBalance YearsAtCompany YearsInCurrentRole
## 1 0 1 6 4
## 2 3 3 10 7
## 3 3 3 0 0
## 4 3 3 8 7
## 5 3 3 2 2
## 6 2 2 7 7
## YearsSinceLastPromotion YearsWithCurrManager
## 1 0 5
## 2 1 7
## 3 0 0
## 4 3 0
## 5 2 2
## 6 3 6
library(dplyr)
library(knitr)
# Υπολογισμός στατιστικών
summary_stats <- hr_data %>%
summarise(
Mean = mean(MonthlyIncome),
Median = median(MonthlyIncome),
SD = sd(MonthlyIncome),
Variance = var(MonthlyIncome),
Min = min(MonthlyIncome),
Max = max(MonthlyIncome),
Range = max(MonthlyIncome) - min(MonthlyIncome)
)
kable(summary_stats, caption = "Περιγραφικά Στατιστικά Μηνιαίου Εισοδήματος Υπαλλήλων", digits=2)
| Mean | Median | SD | Variance | Min | Max | Range |
|---|---|---|---|---|---|---|
| 6502.93 | 4919 | 4707.96 | 22164857 | 1009 | 19999 | 18990 |
cor_val <- cor(hr_data$Age, hr_data$MonthlyIncome)
print(paste("Συντελεστής Συσχέτισης:", round(cor_val, 3)))
## [1] "Συντελεστής Συσχέτισης: 0.498"
Με τον υπολογισμό της συσχέτισης μεταξύ της Ηλικίας των Εργαζομένων και του Μηνιαίου Εισοδήματός τους, παρατηρούμε ότι υπάρχει μια θετική συσχέτιση. Αυτό σημαίνει ότι στην επιχείρηση λειτουργεί ως προγνωστικός παράγοντας για υψηλότερες απολαβές και αυτό σχετίζεται με το γεγονός ότι “με τα χρόνια αυξάνεται και η εμπειρία”.
Στο παρακάτω γράφημα εξετάζουμε αν η Αποχώρηση των υπαλλήλων σχετίζεται με τον συνδυασμό της Ηλικίας και των Μηνιαίων Εισοδημάτων τους.
library(ggplot2)
ggplot(data = hr_data, aes(x = Age, y = MonthlyIncome, color = Attrition)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", color = "black", se = TRUE) +
labs(title = "Συσχέτιση Ηλικίας και Εισοδήματος",
subtitle = "Με διάκριση βάσει Αποχώρησης",
x = "Ηλικία",
y = "Μηνιαίο Εισόδημα",
color = "Αποχώρηση") +
theme_minimal()
Συμπέρασμα: Παρατηρούμε μια σαφής θετική συσχέτιση μεταξύ της ηλικίας και του μηνιαίου εισοδήματος, καθώς οι μεγαλύτεροι σε ηλικία υπάλληλοι τείνουν να κατέχουν υψηλότερες μισθολογικές απολαβές (όπως δείχνει η μαύρη γραμμή τάσης). Επίσης, παρατηρούμε ότι οι περιπτώσεις αποχώρησης (Attrition: Yes) εντοπίζονται κυρίως σε χαμηλότερα εισοδήματα, ανεξαρτήτως ηλικίας.
Στο παρακάτω γράφημα εξετάζουμε αν τα Έτη προϋπηρεσίας σχετίζονται με την Αποχώρηση των υπαλλήλων ή όχι.
library(ggplot2)
ggplot(data = hr_data, aes(x = Attrition, y = YearsAtCompany, fill = Attrition)) +
geom_boxplot(outlier.color = "red", outlier.shape = 16) +
labs(title = "Χρόνια στην Εταιρεία vs Αποχώρηση",
subtitle = "Σύγκριση κατανομής προϋπηρεσίας",
x = "Αποχώρηση (Attrition)",
y = "Έτη στην Εταιρεία",
fill = "Κατάσταση") +
theme_light() +
theme(legend.position = "none")
Συμπέρασμα: Φαίνεται ότι οι υπάλληλοι, που αποχωρούν (Yes) έχουν χαμηλότερη διάμεσο ετών προϋπηρεσίας σε σχέση με εκείνους, που παραμένουν (No). Η συγκέντρωση των δεδομένων χαμηλά στον άξονα Y υποδηλώνει ότι ο κίνδυνος φυγής είναι μεγαλύτερος στα πρώτα έτη εργασίας. Τα κόκκινα σημεία (outliers) υποδεικνύουν σπάνιες αλλά κρίσιμες αποχωρήσεις στελεχών με πολυετή εμπειρία.
Στο παρακάτω γράφημα εξετάζουμε τη μισθολογική κλίμακα των υπαλλήλων.
library(ggplot2)
ggplot(data = hr_data, aes(x = MonthlyIncome)) +
geom_histogram(binwidth = 1000, fill = "orange", color = "white") +
labs(title = "Κατανομή Μηνιαίου Εισοδήματος",
subtitle = "Ανάλυση συχνότητας ανά κλιμάκιο 1.000€",
x = "Μηνιαίο Εισόδημα",
y = "Αριθμός Υπαλλήλων") +
theme_minimal()
Συμπέρασμα: Παρατηρούμε ότι οι περισσότεροι υπάλληλοι αμείβονται με χαμηλούς μισθούς, γεγονός που εξηγεί τη δεξιά κλίση του γραφήματος, καθώς προχωράμε σε υψηλότερους μισθούς, ο αριθμός των υπαλλήλων μειώνεται απότομα, δείχνοντας ότι οι πολύ υψηλές απολαβές αφορούν ελάχιστα στελέχη.
Στο παρακάτω γράφημα αναλύουμε τον Αριθμό των εργαζομένων, που απασχολούνται σε κάθε Ρόλο εντός της εταιρείας.
library(ggplot2)
ggplot(data = hr_data, aes(x = JobRole, fill = JobRole)) +
geom_bar() +
coord_flip() +
labs(title = "Πλήθος Υπαλλήλων ανά Εργασιακό Ρόλο",
subtitle = "Ανάλυση ανθρώπινου δυναμικού ανά ειδικότητα",
x = "Ρόλος Εργασίας",
y = "Συχνότητα (Αριθμός Υπαλλήλων)") +
theme_minimal() +
guides(fill = "none")
Συμπέρασμα: Από τις μπάρες καταλαβαίνουμε ότι οι ειδικότητες, όπως οι Sales Executive και Research Scientist είναι οι πιο πολυπληθείς και αποτελούν τον βασικό κορμό του ανθρώπινου δυναμικού της επιχείρησης.