Αυτό το σύνολο δεδομένων αποτυπώνει τον παλμό των viral τάσεων στα μέσα κοινωνικής δικτύωσης σε TikTok, Instagram, Twitter και YouTube. Παρέχει πληροφορίες για τα πιο δημοφιλή hashtag, τους τύπους περιεχομένου και τα επίπεδα αλληλεπίδρασης των χρηστών.Αυτό το dataset περιέχει 5.000 εγγραφές από viral αναρτήσεις στα μέσα κοινωνικής δικτύωσης σε TikTok, Instagram, Twitter και YouTube. Περιλαμβάνει βασικές μετρήσεις αλληλεπίδρασης, όπως προβολές, likes, κοινοποιήσεις και σχόλια, καθώς και δημοφιλή hashtags και τύπους περιεχομένου. , προσφέροντας μια ολοκληρωμένη εικόνα για το πώς εξελίσσονται οι τάσεις σε διαφορετικές πλατφόρμες
Αυτό το dataset έχει άμεση σχέση με την επιχειρηματική αναλυτική, καθώς παρέχει δεδομένα που βοηθούν τις επιχειρήσεις να κατανοήσουν την καταναλωτική συμπεριφορά, να δημιουργήσουν στρατηγικές περιεχομένου, να αξιολογήσουν την απόδοση των καμπανιών τους, να εντοπίσουν νέες τάσεις στην αγορά, να αναλύσουν τον ανταγωνισμό και να προβλέψουν μελλοντικές εξελίξεις. Χρησιμοποιώντας αυτές τις πληροφορίες, οι επιχειρήσεις μπορούν να βελτιώσουν τις στρατηγικές μάρκετινγκ και να προσαρμοστούν καλύτερα στις ανάγκες του κοινού τους.
| Μεταβλητή | Τύπος | Περιγραφή | Μονάδες / Εύρος Τιμών |
|---|---|---|---|
| Post_ID | Χαρακτήρας | Μοναδικό αναγνωριστικό για κάθε ανάρτηση | - |
| Platform | Κατηγορική | Πλατφόρμα κοινωνικής δικτύωσης | - |
| Hashtag | Χαρακτήρας | Hashtag της ανάρτησης | - |
| Content_Type | Κατηγορική | Τύπος περιεχομένου (Video, Shorts, Post) | - |
| Region | Κατηγορική | Περιοχή δημοσίευσης | - |
| Views | Αριθμητική | Αριθμός προβολών | Πλήθος |
| Likes | Αριθμητική | Αριθμός “μου αρέσει” | Πλήθος |
| Shares | Αριθμητική | Αριθμός κοινοποιήσεων | Πλήθος |
| Comments | Αριθμητική | Αριθμός σχολίων | Πλήθος |
| Engagement_Level | Κατηγορική | Κατηγορία αλληλεπίδρασης (High, Medium, Low) | - |
# Φόρτωση του dataset
Viral_Social_Media_Trends <- read.csv("Viral_Social_Media_Trends.csv")
# Εμφάνιση συνοπτικών στατιστικών
summary(Viral_Social_Media_Trends)
## Post_ID Platform Hashtag Content_Type
## Length:5000 Length:5000 Length:5000 Length:5000
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Region Views Likes Shares
## Length:5000 Min. : 1266 Min. : 490 Min. : 52
## Class :character 1st Qu.:1186207 1st Qu.:126892 1st Qu.:25029
## Mode :character Median :2497373 Median :249443 Median :50840
## Mean :2494066 Mean :251475 Mean :50520
## 3rd Qu.:3759781 3rd Qu.:373971 3rd Qu.:75774
## Max. :4999430 Max. :499922 Max. :99978
## Comments Engagement_Level
## Min. : 18 Length:5000
## 1st Qu.:12305 Class :character
## Median :25004 Mode :character
## Mean :24888
## 3rd Qu.:37073
## Max. :49993
# Επιλογή αριθμητικών μεταβλητών
numeric_vars <- c("Views", "Likes", "Shares", "Comments")
# Υπολογισμός μέτρων διασποράς
numeric_vars <- c("Views", "Likes", "Shares", "Comments")
dispersion_measures <- data.frame(
Μεταβλητή = numeric_vars,
Εύρος = sapply(Viral_Social_Media_Trends[, numeric_vars, drop=FALSE], function(x) max(x, na.rm=TRUE) - min(x, na.rm=TRUE)),
Διακύμανση = sapply(Viral_Social_Media_Trends[, numeric_vars, drop=FALSE], var, na.rm=TRUE),
Τυπική_Απόκλιση = sapply(Viral_Social_Media_Trends[, numeric_vars, drop=FALSE], sd, na.rm=TRUE)
)
# Προβολή αποτελεσμάτων
dispersion_measures
## Μεταβλητή Εύρος Διακύμανση Τυπική_Απόκλιση
## Views Views 4998164 2.130111e+12 1459489.82
## Likes Likes 499432 2.083680e+10 144349.58
## Shares Shares 99926 8.448534e+08 29066.36
## Comments Comments 49975 2.040471e+08 14284.50
# Υπολογισμός συντελεστών συσχέτισης
correlation_matrix <- cor(Viral_Social_Media_Trends[, numeric_vars], use = "complete.obs", method = "pearson")
# Προβολή του πίνακα συσχετίσεων
correlation_matrix
## Views Likes Shares Comments
## Views 1.000000000 -0.003176765 0.01314358 -0.009956131
## Likes -0.003176765 1.000000000 0.01115356 -0.011771810
## Shares 0.013143580 0.011153557 1.00000000 -0.000131630
## Comments -0.009956131 -0.011771810 -0.00013163 1.000000000
Ο παρακάτω πίνακας δείχνει τους συντελεστές συσχέτισης μεταξύ των
μεταβλητών Views, Likes, Shares,
και Comments. Οι τιμές κυμαίνονται από -1 έως
1:
-0.0032) → Σχεδόν
μηδενική συσχέτιση
0.0131) →
Πολύ αδύναμη θετική συσχέτιση
-0.0099) →
Σχεδόν μηδενική συσχέτιση
0.0112) → Σχεδόν
μηδενική θετική συσχέτιση
-0.0118) →
Πολύ αδύναμη αρνητική συσχέτιση
-0.0001) →
Ουσιαστικά καμία σχέση
Δεν υπάρχει ισχυρή συσχέτιση μεταξύ των μεταβλητών. Αυτό σημαίνει
ότι:
Οι προβολές δεν επηρεάζουν άμεσα τα likes, τις κοινοποιήσεις ή τα
σχόλια.
Οι αλληλεπιδράσεις (likes, shares, comments) φαίνεται να είναι
ανεξάρτητες μεταξύ τους.
Άλλοι παράγοντες (π.χ. περιεχόμενο, δημοτικότητα δημιουργού, ώρα
ανάρτησης) μπορεί να επηρεάζουν τις μετρήσεις περισσότερο από τη μεταξύ
τους σχέση.
library(ggplot2)
ggplot(Viral_Social_Media_Trends, aes(x=Views, y=Comments)) +geom_point()
Στο συγκεκριμένο διάγραμμα διασποράς φαίνεται ότι ο αριθμός των Views δεν επηρεάζει των αριθμό των comments καθώς αναρτήσεις με λίγες προβολές μπορεί να έχουν πολλά σχόλια και το αντίστροφο.
ggplot(Viral_Social_Media_Trends, aes(x=Platform)) +
geom_bar(aes(y=after_stat(count)), fill="blue") + # Δηλώνουμε ότι θέλουμε το πλήθος
labs(title="Αριθμός Αναρτήσεων ανά Πλατφόρμα",
x="Πλατφόρμα",
y="Αριθμός Αναρτήσεων") +
theme_minimal() # Επιλογή ενός καθαρού θέματος για το γράφημα
Σε αυτό το bar chart παρατηρείται ότι οι περισσότερες αναρτήσεις έχουν γίνει στο Youtube με μικρή διαφορά από το TikTok, καθώς επίσης ενδιαφέρον στατιστικό είναι πως η απόκλιση μεταξύ τών αναρτήσεων του πρώτου Youtube και του τελευταίου Twitter(X) είναι μικρή.
ggplot(Viral_Social_Media_Trends, aes(x=Hashtag, y=Views)) +
geom_boxplot(fill="blue", color="black") + # Δημιουργία του boxplot με χρώμα
labs(title="Κατανομή Προβολών ανά Hashtag",
x="Hashtag",
y="Views") +
theme_minimal()
Δεν φαίνεται κάποιο hashtag να έχει ξεκάθαρη υπεροχή σε προβολές.
Η διάμεσος είναι παρόμοια μεταξύ των hashtags, αλλά υπάρχουν αναρτήσεις με πολύ διαφορετικές επιδόσεις
Η υψηλή διακύμανση σημαίνει ότι η απόδοση μιας ανάρτησης εξαρτάται όχι μόνο από το hashtag αλλά και από άλλους παράγοντες (π.χ. ποιότητα περιεχομένου, engagement, αλγόριθμοι πλατφορμών).
ggplot(Viral_Social_Media_Trends, aes(x=Likes)) + geom_histogram(binwidth = 5000, fill="blue",alpha=0.7) + labs(title="Histogram of likes") + theme_minimal()
Η κατανομή των Likes φαίνεται να είναι ομοιόμορφη, καθώς οι μπάρες έχουν σχετικά παρόμοια ύψη σε όλο το εύρος των δεδομένων. Αυτό υποδηλώνει ότι δεν υπάρχει σαφής τάση συγκέντρωσης σε συγκεκριμένες τιμές. Επιπλέον, δεν διακρίνεται έντονη ασυμμετρία ή επικράτηση χαμηλών ή υψηλών τιμών, γεγονός που δείχνει ότι τα Likes κατανέμονται σχετικά ισόποσα σε διαφορετικά επίπεδα.
model_simple <- lm(Views ~ Likes, data = Viral_Social_Media_Trends)
summary(model_simple)
##
## Call:
## lm(formula = Views ~ Likes, data = Viral_Social_Media_Trends)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2494771 -1309960 1590 1263705 2512703
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.502e+06 4.147e+04 60.339 <2e-16 ***
## Likes -3.212e-02 1.430e-01 -0.225 0.822
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1460000 on 4998 degrees of freedom
## Multiple R-squared: 1.009e-05, Adjusted R-squared: -0.00019
## F-statistic: 0.05044 on 1 and 4998 DF, p-value: 0.8223
ggplot(Viral_Social_Media_Trends, aes(x = Likes, y = Views)) +
geom_point(alpha = 0.3, color = "steelblue") +
geom_smooth(method = "lm", se = FALSE, color = "red") +
labs(title = "Model 1: Views vs Likes",
x = "Likes", y = "Views")
## `geom_smooth()` using formula = 'y ~ x'
Δεν φαίνεται να υπάρχει ισχυρή γραμμική σχέση μεταξύ των Likes και των Views. Η μεταβλητή Likes, από μόνη της, δεν εξηγεί επαρκώς τις διακυμάνσεις στα Views, υποδεικνύοντας ότι άλλοι παράγοντες πιθανώς επηρεάζουν τις Views σε μεγαλύτερο βαθμό.
model_medium <- lm(Views ~ Likes + Shares, data = Viral_Social_Media_Trends)
summary(model_medium)
##
## Call:
## lm(formula = Views ~ Likes + Shares, data = Viral_Social_Media_Trends)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2509817 -1303022 5494 1260770 2542230
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.469e+06 5.458e+04 45.240 <2e-16 ***
## Likes -3.361e-02 1.430e-01 -0.235 0.814
## Shares 6.618e-01 7.103e-01 0.932 0.352
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1460000 on 4997 degrees of freedom
## Multiple R-squared: 0.0001838, Adjusted R-squared: -0.0002164
## F-statistic: 0.4593 on 2 and 4997 DF, p-value: 0.6317
ggplot(Viral_Social_Media_Trends, aes(x = Likes, y = Views, color = Shares)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", aes(group = 1), se = FALSE, color = "red") +
labs(title = "Model 2: Views vs Likes + Shares",
x = "Likes", y = "Views") +
scale_color_viridis_c()
## `geom_smooth()` using formula = 'y ~ x'
model_full <- lm(Views ~ Likes + Shares + Comments, data = Viral_Social_Media_Trends)
summary(model_full)
##
## Call:
## lm(formula = Views ~ Likes + Shares + Comments, data = Viral_Social_Media_Trends)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2513931 -1301656 5276 1268858 2545200
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.495e+06 6.560e+04 38.029 <2e-16 ***
## Likes -3.480e-02 1.430e-01 -0.243 0.808
## Shares 6.618e-01 7.103e-01 0.932 0.352
## Comments -1.021e+00 1.445e+00 -0.707 0.480
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1460000 on 4996 degrees of freedom
## Multiple R-squared: 0.0002837, Adjusted R-squared: -0.0003166
## F-statistic: 0.4726 on 3 and 4996 DF, p-value: 0.7014
Viral_Social_Media_Trends$Predicted_Views <- predict(model_full)
ggplot(Viral_Social_Media_Trends, aes(x = Likes, y = Views)) +
geom_point(alpha = 0.3, color = "grey60") +
geom_line(aes(y = Predicted_Views), color = "darkgreen", linewidth = 1) +
labs(title = "Model 3: Predicted Views based on Likes + Shares + Comments",
x = "Likes", y = "Views")
# Συνάρτηση για SSE και R²
model_stats <- function(model) {
residuals <- resid(model)
SSE <- sum(residuals^2)
R2 <- summary(model)$r.squared
return(c(SSE = SSE, R_squared = R2))
}
stats1 <- model_stats(model_simple)
stats2 <- model_stats(model_medium)
stats3 <- model_stats(model_full)
model_comparison <- rbind(
Model1 = stats1,
Model2 = stats2,
Model3 = stats3
)
print(model_comparison)
## SSE R_squared
## Model1 1.064832e+16 1.009184e-05
## Model2 1.064647e+16 1.837998e-04
## Model3 1.064540e+16 2.836841e-04
Η προσθήκη των μεταβλητών Shares και Comments στο μοντέλο οδηγεί σε πολύ μικρή βελτίωση της προβλεπτικής ικανότητας. Αυτό υποδεικνύει ότι καμία από τις ανεξάρτητες μεταβλητές δεν σχετίζεται ισχυρά με τις προβολές (Views).Αρα, τα δεδομένα είτε περιέχουν πολύ θόρυβο, είτε λείπουν σημαντικοί παράγοντες που επηρεάζουν τις προβολές, όπως το περιεχόμενο του post, η ώρα δημοσίευσης, ή ο τύπος του κοινού.