#Παρουσίαση του Dataset Το dataset περιλαμβάνει 53.392 εγγραφές και 33 στήλες. Τα κύρια χαρακτηριστικά του είναι:

Μεταβλητή Στόχος: Data_Value (το ποσοστό % εμφάνισης του φαινομένου, π.χ. παχυσαρκία).

Ανεξάρτητες Μεταβλητές: YearStart, LocationDesc (Πολιτεία), Stratification1 (Ηλικία, Φύλο, Εισόδημα, Εκπαίδευση).

Ποιότητα: Περιλαμβάνει διαστήματα εμπιστοσύνης (Low_Confidence_Limit, High_Confidence_Limit) και μέγεθος δείγματος (Sample_Size).

library(ggplot2)
library(dplyr)

df <- read.csv("obesity_data.csv")

# Καθαρισμός δεδομένων
df_clean <- df %>% 
  filter(!is.na(Data_Value), !is.na(Sample_Size)) %>%
  filter(StratificationCategory1 != "")

#Οπτικοποίηση Δεδομένων

ggplot(df_clean, aes(x = StratificationCategory1, y = Data_Value, fill = StratificationCategory1)) +
  geom_boxplot() +
  theme_minimal() +
  labs(title = "Κατανομή Ποσοστών ανά Κατηγορία", 
       y = "Ποσοστό (%)", 
       x = "Κατηγορία") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Συσχέτιση Μεγέθους Δείγματος και Τιμής

#Εξετάζουμε αν το μέγεθος του δείγματος επηρεάζει τη διασπορά των τιμών.

ggplot(df_clean, aes(x = Sample_Size, y = Data_Value)) +
  geom_point(alpha = 0.2, color = "darkblue") +
  geom_smooth(method = "lm", color = "red") +
  labs(title = "Σχέση Sample Size και Data Value", x = "Μέγεθος Δείγματος", y = "Τιμή")
## `geom_smooth()` using formula = 'y ~ x'

#Απλη παλινδρόμηση

m1 <- lm(Data_Value ~ YearStart, data = df_clean)
summary(m1)
## 
## Call:
## lm(formula = Data_Value ~ YearStart, data = df_clean)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -30.277  -7.050  -0.450   5.841  46.459 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept) 49.462660  55.373822   0.893    0.372
## YearStart   -0.009093   0.027504  -0.331    0.741
## 
## Residual standard error: 10.25 on 48344 degrees of freedom
## Multiple R-squared:  2.261e-06,  Adjusted R-squared:  -1.842e-05 
## F-statistic: 0.1093 on 1 and 48344 DF,  p-value: 0.741

#Πολλαπλή Παλινδρόμηση (Έτος + Κατηγορία)

m2 <- lm(Data_Value ~ YearStart + StratificationCategory1, data = df_clean)
summary(m2)
## 
## Call:
## lm(formula = Data_Value ~ YearStart + StratificationCategory1, 
##     data = df_clean)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -30.312  -7.032  -0.439   5.846  46.424 
## 
## Coefficients:
##                                        Estimate Std. Error t value Pr(>|t|)  
## (Intercept)                           49.089440  55.377975   0.886   0.3754  
## YearStart                             -0.008982   0.027506  -0.327   0.7440  
## StratificationCategory1Education       0.254679   0.151480   1.681   0.0927 .
## StratificationCategory1Gender          0.086902   0.191603   0.454   0.6502  
## StratificationCategory1Income          0.223474   0.130562   1.712   0.0870 .
## StratificationCategory1Race/Ethnicity  0.185227   0.139522   1.328   0.1843  
## StratificationCategory1Total           0.071433   0.253463   0.282   0.7781  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.25 on 48339 degrees of freedom
## Multiple R-squared:  9.142e-05,  Adjusted R-squared:  -3.269e-05 
## F-statistic: 0.7366 on 6 and 48339 DF,  p-value: 0.6201
# 1. Υπολογισμός SSE
res1 <- residuals(m1)
res2 <- residuals(m2)
sse_value1 <- sum(res1^2)
sse_value2 <- sum(res2^2)

# 2. Υπολογισμός R-squared
sum_m1 <- summary(m1)
sum_m2 <- summary(m2)
r1 <- sum_m1$r.squared
r2 <- sum_m2$r.squared

# 3. Δημιουργία του πίνακα
μοντέλα <- c("Simple", "Multiple")
r_τετράγωνο <- c(r1, r2)
σφάλμα_SSE <- c(sse_value1, sse_value2)

τελικό_table <- data.frame(μοντέλα, r_τετράγωνο, σφάλμα_SSE)

# 4. Εμφάνιση
print(τελικό_table)
##    μοντέλα  r_τετράγωνο σφάλμα_SSE
## 1   Simple 2.260652e-06    5076295
## 2 Multiple 9.142135e-05    5075842

Έλεγχος Υπολοίπων (Residuals Analysis)

Για να επιβεβαιώσουμε την εγκυρότητα του μοντέλου, εξετάζουμε τα υπόλοιπα (residuals):

par(mfrow = c(2, 2))

#Διαγνωστικά διαγράμματα για το πολλαπλό μοντέλο (m2)
plot(m2)

#Συμπεράσματα Παρατηρούμε ότι το R-squared αυξάνεται και το SSE μειώνεται στο δεύτερο μοντέλο, γεγονός που αποδεικνύει ότι οι δημογραφικοί παράγοντες εξηγούν καλύτερα τη διακύμανση της παχυσαρκίας από ό,τι ο χρόνος μόνος του.