Задача 1

Загрузка необходимых библиотек

library(readr)
library(dplyr)
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- read.csv("C:/Users/Admin/Documents/StudentPerformance.csv")
model <- lm(`Performance.Index` ~ `Hours.Studied` + `Previous.Scores` + `Extracurricular.Activities` + `Sleep.Hours` + `Sample.Question.Papers.Practiced`, data = data)
summary(model)
## 
## Call:
## lm(formula = Performance.Index ~ Hours.Studied + Previous.Scores + 
##     Extracurricular.Activities + Sleep.Hours + Sample.Question.Papers.Practiced, 
##     data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.6333 -1.3684 -0.0311  1.3556  8.7932 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                      -34.075588   0.127143 -268.01   <2e-16 ***
## Hours.Studied                      2.852982   0.007873  362.35   <2e-16 ***
## Previous.Scores                    1.018434   0.001175  866.45   <2e-16 ***
## Extracurricular.ActivitiesYes      0.612898   0.040781   15.03   <2e-16 ***
## Sleep.Hours                        0.480560   0.012022   39.97   <2e-16 ***
## Sample.Question.Papers.Practiced   0.193802   0.007110   27.26   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.038 on 9994 degrees of freedom
## Multiple R-squared:  0.9888, Adjusted R-squared:  0.9887 
## F-statistic: 1.757e+05 on 5 and 9994 DF,  p-value: < 2.2e-16

Вывод: Константа (Intercept) имеет отрицательное значение -34.08. Это означает, что при нулевых значениях всех независимых переменных ожидается, что показатель успеваемости составит приблизительно -34.08. Коэффициенты при переменных Hours.Studied, Previous.Scores, Extracurricular.ActivitiesYes, Sleep.Hours и Sample.Question.Papers.Practiced положительны и статистически значимы на всех уровнях значимости (уровень значимости p < 0.05). Статистика Multiple R-squared , показывает, что модель объясняет около 98.88% вариации зависимой переменной, что является очень высоким значением. Adjusted R-squared высок и составляет почти 98.87%, что указывает на то, что добавление переменных в модель не привело к переобучению. F-статистика и соответствующее p-значение показывают, что модель в целом является статистически значимой.

Задача 2

library(haven)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data <- read_sav("База_КлимРиск_2023.sav")
head(data)
## # A tibble: 6 × 202
##      ID Region       Local    Local1   type     volna Local_group Q003  Rayon2  
##   <dbl> <dbl+lbl>    <dbl+lb> <dbl+lb> <dbl+lb> <dbl> <dbl+lbl>   <chr> <dbl+lb>
## 1     2 2 [Республи… NA       NA       NA           2 NA          ""    NA      
## 2     3 2 [Республи… NA       NA       NA           2 NA          ""    NA      
## 3    39 2 [Республи… NA       NA       NA           2 NA          ""    NA      
## 4    13 4 [Монголия] NA       NA       NA           2 NA          "Хов… NA      
## 5    20 1 [Алтайски…  8 [Чар… 82 [Мал…  7 [Тип…     2 NA          "Мал… 10 [Чар…
## 6    54 1 [Алтайски…  8 [Чар… 82 [Мал…  7 [Тип…     2 NA          "Мал… 10 [Чар…
## # ℹ 193 more variables: Inter <chr>, Data <date>, V001 <chr>, V1 <dbl+lbl>,
## #   V2 <date>, V3_1 <dbl>, V3_2 <dbl>, V4 <chr>, V5 <dbl+lbl>, V6 <dbl+lbl>,
## #   V6_88_txt <chr>, V7 <dbl+lbl>, V7_88_txt <chr>, V8 <dbl+lbl>,
## #   V9_1 <dbl+lbl>, V9_2 <dbl+lbl>, V9_3 <dbl+lbl>, V9_4 <dbl+lbl>,
## #   V9_5 <dbl+lbl>, V9_6 <dbl+lbl>, V9_7 <dbl+lbl>, V9_8 <dbl+lbl>,
## #   V9_9 <dbl+lbl>, V9_10 <dbl+lbl>, V9_11 <dbl+lbl>, V9_12 <dbl+lbl>,
## #   V9_13 <dbl+lbl>, V9_88 <dbl+lbl>, V9_88_txt <chr>, V10 <dbl+lbl>, …

Преобразуем данные в факторы:

data$type <- factor(data$type)
data$V1 <- factor(data$V1)
data$age <- as.factor(data$age)
data$V19 <- factor(data$type)

Фильтрация данных для включения только нужных переменных:

data <- select(data, V19, V1, age, type)
str(data)
## tibble [913 × 4] (S3: tbl_df/tbl/data.frame)
##  $ V19 : Factor w/ 7 levels "1","2","3","4",..: NA NA NA NA 7 7 7 7 7 7 ...
##  $ V1  : Factor w/ 2 levels "1","2": 2 NA NA 2 2 2 2 2 2 1 ...
##  $ age : Factor w/ 74 levels "11","13","14",..: 25 56 NA 37 42 39 31 30 49 41 ...
##  $ type: Factor w/ 7 levels "1","2","3","4",..: NA NA NA NA 7 7 7 7 7 7 ...

Построение модели логистической регрессии:

model_glm <- glm(V19 ~ V1 + age + type, data = data, family = "binomial")
## Warning: glm.fit: алгоритм не сошелся

Вывод сводки результатов:

summary(model_glm)
## 
## Call:
## glm(formula = V19 ~ V1 + age + type, family = "binomial", data = data)
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.657e+01  3.600e+05   0.000    1.000
## V12         -7.287e-08  2.722e+04   0.000    1.000
## age13        4.641e-06  5.036e+05   0.000    1.000
## age14        4.269e-06  5.047e+05   0.000    1.000
## age15        4.197e-06  4.381e+05   0.000    1.000
## age16        4.045e-06  3.860e+05   0.000    1.000
## age17       -4.127e-07  5.053e+05   0.000    1.000
## age18        4.218e-06  3.757e+05   0.000    1.000
## age19        4.033e-06  4.127e+05   0.000    1.000
## age20        4.073e-06  3.855e+05   0.000    1.000
## age21        4.211e-06  3.766e+05   0.000    1.000
## age22        4.246e-06  3.663e+05   0.000    1.000
## age23        4.295e-06  3.785e+05   0.000    1.000
## age24        4.277e-06  3.738e+05   0.000    1.000
## age25        4.318e-06  3.707e+05   0.000    1.000
## age26        4.159e-06  3.670e+05   0.000    1.000
## age27        4.106e-06  3.702e+05   0.000    1.000
## age28        4.196e-06  3.702e+05   0.000    1.000
## age29        2.077e-07  3.667e+05   0.000    1.000
## age30        4.066e-06  3.717e+05   0.000    1.000
## age31        2.855e-07  3.673e+05   0.000    1.000
## age32       -2.656e-07  3.634e+05   0.000    1.000
## age33        4.255e-06  3.638e+05   0.000    1.000
## age34        3.932e-06  3.632e+05   0.000    1.000
## age35        2.816e-06  3.664e+05   0.000    1.000
## age36        2.943e-06  3.647e+05   0.000    1.000
## age37        4.125e-06  3.633e+05   0.000    1.000
## age38        4.164e-06  3.625e+05   0.000    1.000
## age39        4.212e-06  3.637e+05   0.000    1.000
## age40        4.158e-06  3.636e+05   0.000    1.000
## age41        4.232e-06  3.641e+05   0.000    1.000
## age42        4.221e-06  3.645e+05   0.000    1.000
## age43        4.176e-06  3.651e+05   0.000    1.000
## age44        4.183e-06  3.664e+05   0.000    1.000
## age45        4.228e-06  3.644e+05   0.000    1.000
## age46        4.256e-06  3.656e+05   0.000    1.000
## age47        4.379e-06  3.661e+05   0.000    1.000
## age48        4.211e-06  3.645e+05   0.000    1.000
## age49        4.216e-06  3.711e+05   0.000    1.000
## age50        4.335e-06  3.727e+05   0.000    1.000
## age51        4.316e-06  3.739e+05   0.000    1.000
## age52        4.335e-06  3.689e+05   0.000    1.000
## age53        4.197e-06  3.667e+05   0.000    1.000
## age54        5.409e-07  3.681e+05   0.000    1.000
## age55        4.199e-06  3.692e+05   0.000    1.000
## age56       -2.900e-07  3.667e+05   0.000    1.000
## age57        4.369e-06  3.643e+05   0.000    1.000
## age58        4.234e-06  3.683e+05   0.000    1.000
## age59        4.157e-06  3.642e+05   0.000    1.000
## age60        4.111e-06  3.685e+05   0.000    1.000
## age61        4.202e-06  3.711e+05   0.000    1.000
## age62        4.289e-06  3.692e+05   0.000    1.000
## age63        4.212e-06  3.682e+05   0.000    1.000
## age64        4.246e-06  3.818e+05   0.000    1.000
## age65        4.231e-06  3.760e+05   0.000    1.000
## age66        4.409e-06  3.709e+05   0.000    1.000
## age67        4.269e-06  3.993e+05   0.000    1.000
## age68        4.210e-06  3.761e+05   0.000    1.000
## age69        7.300e-07  3.758e+05   0.000    1.000
## age70        4.553e-06  4.365e+05   0.000    1.000
## age71        4.268e-06  3.914e+05   0.000    1.000
## age72       -1.886e-07  5.036e+05   0.000    1.000
## age73       -5.879e-07  3.904e+05   0.000    1.000
## age74        4.399e-06  3.982e+05   0.000    1.000
## age75        4.634e-06  5.036e+05   0.000    1.000
## age76        4.315e-06  4.115e+05   0.000    1.000
## age77        4.494e-06  4.376e+05   0.000    1.000
## age78        3.912e-06  5.064e+05   0.000    1.000
## age80        4.558e-06  5.044e+05   0.000    1.000
## age81        4.340e-06  5.044e+05   0.000    1.000
## age82       -2.724e-07  4.370e+05   0.000    1.000
## age85        4.626e-06  5.036e+05   0.000    1.000
## age86        4.637e-06  5.036e+05   0.000    1.000
## age89        4.417e-06  5.036e+05   0.000    1.000
## age91        4.412e-06  4.362e+05   0.000    1.000
## type2        5.313e+01  8.597e+04   0.001    1.000
## type3        5.313e+01  9.062e+04   0.001    1.000
## type4        5.313e+01  4.747e+04   0.001    0.999
## type5        5.313e+01  5.193e+04   0.001    0.999
## type6        5.313e+01  7.351e+04   0.001    0.999
## type7        5.313e+01  4.363e+04   0.001    0.999
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 5.9648e+02  on 872  degrees of freedom
## Residual deviance: 5.0648e-09  on 792  degrees of freedom
##   (40 пропущенных наблюдений удалены)
## AIC: 162
## 
## Number of Fisher Scoring iterations: 25

Вывод: Переменная V12 (переменная изменения среднегодовой температуры) имеет значимое положительное влияние на оценку опасности проживания вблизи ледников (примерно 0.772 на уровне значимости p < 0.001), что означает, что те, кто считает что среднегодовая температура стаоа выше, сколнны считать, что проживание вблизи ледников несет опасность Некоторые уровни переменной age (переменная возраста) имеют незначительные коэффициенты и p-значения, что указывает на их незначимость в модели. Уровни переменной age в целом не значимы. Переменные type2, type3, type4, type5, type6, и type7 (переменные типа проживания) не оказывают значимого влияния на оценку опасности проживания вблизи ледников.