Cieľom tejto záverečnej práce bolo komplexne analyzovať vzťah medzi študijnými návykmi študentov a ich výsledným skúškovým skóre (exam_score). Analýza vychádza z datasetu student_exam_scores.csv, ktorý obsahuje informácie o počte hodín štúdia, priemernej dĺžke spánku, dochádzke na vyučovanie, predchádzajúcich študijných výsledkoch a aktuálnom výsledku skúšky.
Práca kombinuje viacero ekonometrických prístupov – lineárnu regresiu, diagnostiku modelu, testovanie špecifikácie, riešenie potenciálnej nelinearity, analýzu multikolinearity a zhlukovú analýzu. Cieľom nebolo len odhadnúť jeden model, ale systematicky overiť jeho predpoklady a preskúmať štruktúru dát z viacerých uhlov pohľadu.
V práci je použitý dataset student_exam_scores.csv, ktorý obsahuje údaje o študijných návykoch a akademickom výkone študentov. Pozorovania predstavujú jednotlivých študentov a zahŕňajú informácie o výslednom skúškovom skóre (exam_score), počte hodín štúdia (hours_studied), priemernej dĺžke spánku (sleep_hours), dochádzke na vyučovanie (attendance_percent) a predchádzajúcich študijných výsledkoch (previous_scores). Všetky premenné sú kvantitatívne a vhodné na ekonometrickú analýzu.
Dáta boli pred spracovaním skontrolované a chýbajúce hodnoty boli nahradené mediánom. Základná deskriptívna a grafická analýza potvrdila realistické rozsahy hodnôt a absenciu výrazných odľahlých pozorovaní, čo umožňuje ďalšiu regresnú a zhlukovú analýzu.
## Rows: 200
## Columns: 5
## $ exam_score <dbl> 30.2, 25.0, 35.8, 34.0, 40.3, 35.7, 37.9, 18.3, 34.…
## $ hours_studied <dbl> 8.0, 1.3, 4.0, 3.5, 9.1, 8.4, 10.8, 2.0, 5.6, 1.3, …
## $ sleep_hours <dbl> 8.8, 8.6, 8.2, 4.8, 6.4, 5.1, 6.0, 4.3, 5.9, 8.9, 5…
## $ attendance_percent <dbl> 72.1, 60.7, 73.7, 95.1, 89.8, 58.5, 54.2, 75.8, 81.…
## $ previous_scores <dbl> 45, 55, 86, 66, 71, 75, 88, 55, 84, 70, 81, 85, 71,…
## exam_score hours_studied sleep_hours attendance_percent
## Min. :17.10 Min. : 1.000 Min. :4.000 Min. : 50.30
## 1st Qu.:29.50 1st Qu.: 3.500 1st Qu.:5.300 1st Qu.: 62.20
## Median :34.05 Median : 6.150 Median :6.700 Median : 75.25
## Mean :33.95 Mean : 6.325 Mean :6.622 Mean : 74.83
## 3rd Qu.:38.75 3rd Qu.: 9.000 3rd Qu.:8.025 3rd Qu.: 87.42
## Max. :51.30 Max. :12.000 Max. :9.000 Max. :100.00
## previous_scores
## Min. :40.0
## 1st Qu.:54.0
## Median :67.5
## Mean :66.8
## 3rd Qu.:80.0
## Max. :95.0
Dáta boli načítané zo súboru student_exam_scores.csv. Pred samotnou analýzou boli vybrané relevantné premenné a chýbajúce hodnoty boli nahradené mediánom príslušnej premennej, aby sa zachovala veľkosť vzorky a nebola narušená distribúcia dát.
Deskriptívna štatistika a boxploty ukázali, že:
premenné majú realistické rozsahy hodnôt,
nevyskytujú sa extrémne odľahlé pozorovania,
rozdelenia sú primerané pre ďalšiu ekonometrickú analýzu.
Tieto kroky potvrdili, že dáta sú vhodné na regresné aj exploračné metódy.
##
## Call:
## lm(formula = exam_score ~ hours_studied + sleep_hours + attendance_percent,
## data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.5534 -2.7064 -0.1704 3.1321 7.6393
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10.90021 1.95832 5.566 8.49e-08 ***
## hours_studied 1.62964 0.08502 19.168 < 2e-16 ***
## sleep_hours 0.57941 0.18318 3.163 0.00181 **
## attendance_percent 0.11907 0.01920 6.202 3.24e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.857 on 196 degrees of freedom
## Multiple R-squared: 0.6821, Adjusted R-squared: 0.6773
## F-statistic: 140.2 on 3 and 196 DF, p-value: < 2.2e-16
##
## Jarque Bera Test
##
## data: res
## X-squared = 5.1125, df = 2, p-value = 0.0776
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
## rstudent unadjusted p-value Bonferroni p
## 71 -2.258485 0.025023 NA
Základný lineárny regresný model bol špecifikovaný nasledovne: \[ exam\_score = \beta_0 + \beta_1 \cdot hours\_studied + \beta_2 \cdot sleep\_hours + \beta_3 \cdot attendance\_percent + u \] Výsledky regresie ukázali, že:
počet hodín štúdia a dochádzka majú silný a štatisticky významný pozitívny vplyv na výsledné skóre,
spánok má síce pozitívny, ale slabší efekt,
model vysvetľuje približne 68 % variability výsledkov (R² ≈ 0.68).
Diagnostické grafy (Residuals vs. Fitted, Q–Q plot, Scale–Location, Cookova vzdialenosť) naznačili, že:
rezíduá sú približne normálne rozložené,
nevyskytuje sa výrazná heteroskedasticita,
model nie je ovplyvnený extrémnymi pozorovaniami.
Normalita rezíduí bola overená aj pomocou Jarque–Bera testu, ktorý nezamietol nulovú hypotézu normality.
##
## Call:
## lm(formula = exam_score ~ I(log(hours_studied + 1)) + sleep_hours +
## attendance_percent, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.605 -2.687 0.091 3.340 9.939
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.11559 2.27489 0.930 0.35353
## I(log(hours_studied + 1)) 10.04270 0.57918 17.339 < 2e-16 ***
## sleep_hours 0.60652 0.19503 3.110 0.00215 **
## attendance_percent 0.11990 0.02045 5.863 1.9e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.108 on 196 degrees of freedom
## Multiple R-squared: 0.6394, Adjusted R-squared: 0.6339
## F-statistic: 115.9 on 3 and 196 DF, p-value: < 2.2e-16
##
## RESET test
##
## data: model
## RESET = 0.56353, df1 = 2, df2 = 194, p-value = 0.5701
##
## Call:
## lm(formula = exam_score ~ hours_studied + I(hours_studied^2) +
## sleep_hours + attendance_percent + I(attendance_percent^2),
## data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.8885 -2.5420 -0.1928 2.9303 7.9036
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.095799 8.359165 0.251 0.80230
## hours_studied 1.196918 0.399812 2.994 0.00311 **
## I(hours_studied^2) 0.033364 0.029985 1.113 0.26721
## sleep_hours 0.576782 0.182831 3.155 0.00186 **
## attendance_percent 0.395018 0.225507 1.752 0.08141 .
## I(attendance_percent^2) -0.001857 0.001512 -1.228 0.22086
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.848 on 194 degrees of freedom
## Multiple R-squared: 0.6868, Adjusted R-squared: 0.6787
## F-statistic: 85.08 on 5 and 194 DF, p-value: < 2.2e-16
## Analysis of Variance Table
##
## Model 1: exam_score ~ hours_studied + sleep_hours + attendance_percent
## Model 2: exam_score ~ hours_studied + I(hours_studied^2) + sleep_hours +
## attendance_percent + I(attendance_percent^2)
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 196 2915.8
## 2 194 2873.1 2 42.717 1.4422 0.2389
##
## RESET test
##
## data: model_poly
## RESET = 0.065584, df1 = 2, df2 = 192, p-value = 0.9365
##
## Call:
## lm(formula = exam_score ~ DUM + hours_studied + sleep_hours +
## attendance_percent, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.594 -2.584 -0.150 3.167 7.444
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 11.06387 1.98162 5.583 7.84e-08 ***
## DUM 0.57099 0.97955 0.583 0.56063
## hours_studied 1.58173 0.11836 13.364 < 2e-16 ***
## sleep_hours 0.58107 0.18352 3.166 0.00179 **
## attendance_percent 0.11937 0.01924 6.205 3.21e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.864 on 195 degrees of freedom
## Multiple R-squared: 0.6827, Adjusted R-squared: 0.6762
## F-statistic: 104.9 on 4 and 195 DF, p-value: < 2.2e-16
##
## Call:
## lm(formula = exam_score ~ hours_studied + I(DUM * hours_studied) +
## sleep_hours + attendance_percent, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.602 -2.557 -0.121 3.149 7.353
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 11.09197 1.98099 5.599 7.24e-08 ***
## hours_studied 1.57297 0.11888 13.232 < 2e-16 ***
## I(DUM * hours_studied) 0.06085 0.08909 0.683 0.49540
## sleep_hours 0.58164 0.18346 3.170 0.00177 **
## attendance_percent 0.11944 0.01923 6.211 3.12e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.862 on 195 degrees of freedom
## Multiple R-squared: 0.6829, Adjusted R-squared: 0.6764
## F-statistic: 105 on 4 and 195 DF, p-value: < 2.2e-16
## Analysis of Variance Table
##
## Model 1: exam_score ~ hours_studied + sleep_hours + attendance_percent
## Model 2: exam_score ~ hours_studied + I(DUM * hours_studied) + sleep_hours +
## attendance_percent
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 196 2915.8
## 2 195 2908.9 1 6.9593 0.4665 0.4954
##
## RESET test
##
## data: modelD_sklon
## RESET = 0.2949, df1 = 2, df2 = 193, p-value = 0.7449
Na zachytenie možného klesajúceho marginálneho efektu štúdia bola odhadnutá alternatívna špecifikácia s logaritmickou transformáciou premennej hours_studied. Tento model však dosahoval nižšie R² a horšie vysvetľoval variabilitu dát než pôvodná lineárna špecifikácia.
Ďalej bola vykonaná detailná analýza špecifikácie modelu, vrátane:
Ramseyho RESET testu,
grafickej analýzy rezíduí,
C+R (Component + Residual) grafov.
Tieto metódy naznačili, že lineárna forma modelu je vo všeobecnosti adekvátna, no pre niektoré premenné (najmä hours_studied) môže existovať mierna nelinearita. Z tohto dôvodu boli odhadnuté aj modely s kvadratickými členmi a modely so zlomom pomocou dummy premennej.
Výsledky ukázali, že nelineárne rozšírenia môžu mierne zlepšiť prispôsobenie modelu, avšak základný lineárny model zostáva interpretovateľný a dostatočne presný.
## hours_studied attendance_percent previous_scores
## hours_studied 1.000 -0.031 0.069
## attendance_percent -0.031 1.000 0.052
## previous_scores 0.069 0.052 1.000
##
## Call:
## lm(formula = exam_score ~ hours_studied + attendance_percent +
## previous_scores, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.9823 -2.5569 0.0532 2.5379 6.2655
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.02604 1.50433 3.341 0.000999 ***
## hours_studied 1.59599 0.06751 23.641 < 2e-16 ***
## attendance_percent 0.10978 0.01527 7.188 1.35e-11 ***
## previous_scores 0.15896 0.01392 11.418 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.064 on 196 degrees of freedom
## Multiple R-squared: 0.7994, Adjusted R-squared: 0.7963
## F-statistic: 260.3 on 3 and 196 DF, p-value: < 2.2e-16
## hours_studied attendance_percent previous_scores
## 1.006029 1.003939 1.007764
##
## Call:
## lm(formula = exam_score ~ hours_studied + attendance_percent,
## data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.6345 -2.8849 -0.0802 2.9866 8.4354
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.59078 1.60831 9.072 < 2e-16 ***
## hours_studied 1.65060 0.08668 19.043 < 2e-16 ***
## attendance_percent 0.11925 0.01963 6.075 6.3e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.944 on 197 degrees of freedom
## Multiple R-squared: 0.6659, Adjusted R-squared: 0.6625
## F-statistic: 196.3 on 2 and 197 DF, p-value: < 2.2e-16
##
## Call:
## lm(formula = exam_score ~ hours_studied + previous_scores, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.8566 -2.1947 0.1192 2.3712 8.4391
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.98579 1.14157 11.38 <2e-16 ***
## hours_studied 1.57899 0.07565 20.87 <2e-16 ***
## previous_scores 0.16439 0.01559 10.55 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.436 on 197 degrees of freedom
## Multiple R-squared: 0.7465, Adjusted R-squared: 0.7439
## F-statistic: 290 on 2 and 197 DF, p-value: < 2.2e-16
##
## Call:
## lm(formula = exam_score ~ Hours_c + Attend_c + Prev_c, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.9823 -2.5569 0.0532 2.5379 6.2655
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.9550 0.2167 156.706 < 2e-16 ***
## Hours_c 5.1508 0.2179 23.641 < 2e-16 ***
## Attend_c 1.5644 0.2177 7.188 1.35e-11 ***
## Prev_c 2.4899 0.2181 11.418 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.064 on 196 degrees of freedom
## Multiple R-squared: 0.7994, Adjusted R-squared: 0.7963
## F-statistic: 260.3 on 3 and 196 DF, p-value: < 2.2e-16
## Hours_c Attend_c Prev_c
## 1.006029 1.003939 1.007764
V ďalšej časti analýzy bola pozornosť venovaná multikolinearite medzi vysvetľujúcimi premennými, najmä medzi:
hours_studied,
attendance_percent,
previous_scores.
Korelačná matica a hodnoty VIF ukázali, že medzi premennými existujú len mierne vzťahy, ktoré nepredstavujú vážny problém multikolinearity. Dodatočné modely s vynechanými premennými a model so škálovanými premennými potvrdili stabilitu odhadnutých koeficientov.
Z výsledkov vyplýva, že:
predchádzajúce výsledky a aktuálne štúdium majú najväčší vplyv na skúškové skóre,
dochádzka má menší, ale samostatný efekt,
model je možné spoľahlivo interpretovať.
## # A tibble: 3 × 6
## cluster n avg_hours_studied avg_sleep_hours avg_attendance avg_exam_score
## <fct> <int> <dbl> <dbl> <dbl> <dbl>
## 1 1 45 4.64 7.99 76.1 29.9
## 2 2 97 8.84 6.66 76.2 39.2
## 3 3 58 3.42 5.49 71.6 28.3
## # A tibble: 3 × 6
## cluster hours_studied sleep_hours attendance_percent previous_scores
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 1 4.64 7.99 76.1 53.1
## 2 2 8.84 6.66 76.2 71.9
## 3 3 3.42 5.49 71.6 68.9
## # ℹ 1 more variable: exam_score <dbl>
Na doplnenie regresnej analýzy bola použitá hierarchická zhluková analýza metódou Ward D2, ktorá umožnila identifikovať skupiny študentov s podobnými charakteristikami.
Na základe dendrogramu boli identifikované tri klastre, ktoré sa odlišovali najmä:
úrovňou študijného úsilia (hours_studied),
dĺžkou spánku (sleep_hours),
dochádzkou (attendance_percent),
výsledným skúškovým skóre (exam_score).
Analýza centroidov ukázala, že:
Klastr 2 študentov sa vyznačuje najvyšším priemerom hodín štúdia a skúškových výsledkov,
Klastr 1 predstavuje priemerne študujúcich študentov so strednou dĺžkou spánku,
Klastr 3 obsahuje študentov s najnižším študijným úsilím a spánkom.
Vnútroklastrová variabilita naznačuje, že dochádzka a výsledné skóre sú premenné, ktoré najlepšie rozlišujú jednotlivé skupiny. Zhluková analýza tak poskytuje užitočný doplnkový pohľad k regresným výsledkom a lepšie objasňuje heterogenitu študentov.
Komplexná ekonometrická analýza ukázala, že študijné správanie študentov má významný vplyv na ich akademický výkon. Najdôležitejšími faktormi sú počet hodín venovaných štúdiu, dochádzka na vyučovanie a predchádzajúce študijné výsledky. Lineárny regresný model je správne špecifikovaný, spĺňa základné predpoklady a jeho výsledky sú stabilné.
Doplnenie analýzy o testy špecifikácie, riešenie nelinearity, multikolinearity a zhlukovú analýzu umožnilo hlbšie pochopenie dát a potvrdilo robustnosť záverov. Táto práca ukazuje, že kombinácia regresných a exploračných metód je vhodným nástrojom na analýzu vzdelávacích dát a môže slúžiť ako podklad pre ďalšie výskumy alebo praktické rozhodovanie v oblasti vzdelávania.