1. Провести регрессионный анализ данных об успеваемости студентов и определяющих их фактора. Независимые переменные:

Hours Studied: Общее количество часов, потраченных на учебу каждым студентом. Previous Scores - предшествующие результаты: Баллы, полученные студентами на предыдущих экзаменах. Extracurricular Activities - Внеклассная деятельность: Участвует ли студент во внеклассных мероприятиях (да или нет). Sleep Hours - Часы сна: Среднее количество часов сна студента в сутки. Sample Question Papers Practiced: Количество пробных экзаменационных работ, которые студент практиковал. Целевая переменная:

Performance Index: Показатель общей успеваемости каждого студента. Индекс успеваемости представляет собой академическую успеваемость студента и округляется до ближайшего целого числа. Индекс варьируется от 10 до 100, при этом более высокие значения свидетельствуют о более высокой успеваемости.

Ответ: Загрузка данных из файла

data <- read.csv("Student_Performance.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

Описание полученных результатов: Результаты регрессионного анализа указывают на значимое влияние всех независимых переменных на целевую переменную Performance.Index. Вот краткий анализ результатов:

Константа (Intercept) имеет отрицательное значение -34.08. Это означает, что при нулевых значениях всех независимых переменных ожидается, что показатель успеваемости составит приблизительно -34.08. Однако в данном контексте интерпретация константы может быть не совсем смысловой.

Коэффициенты при переменных Hours.Studied, Previous.Scores, Extracurricular.ActivitiesYes, Sleep.Hours и Sample.Question.Papers.Practiced положительны и статистически значимы на всех уровнях значимости (уровень значимости p < 0.05). Это означает, что увеличение значения каждой из этих переменных ведет к увеличению показателя успеваемости студентов.

Статистика R-квадрат (Multiple R-squared) показывает, что модель объясняет около 98.88% вариации зависимой переменной, что является очень высоким значением. Это означает, что модель хорошо соответствует данным.

Поправленный коэффициент детерминации (Adjusted R-squared) также высок (почти 98.87%), что указывает на то, что добавление переменных в модель не привело к переобучению.

F-статистика и соответствующее p-значение показывают, что модель в целом является статистически значимой.

В целом, результаты говорят о том, что увеличение количества часов, потраченных на учебу, предыдущих баллов, участие во внеклассной деятельности, количество часов сна и количество практикованных пробных экзаменационных работ положительно.

  1. Провести анализ методом логистической регрессии на данных по климату. В качестве зависимой переменной будет выступать вопрос про оценку опасности проживания вблизи ледников (вопрос 19) , а в качестве объясняющих - пол, возраст и переменная проживания в определенном районе (type).

Ответ: Загружаем необходимые пакеты:

library(haven)
## Warning: пакет 'haven' был собран под R версии 4.3.3
library(tidyverse)
## Warning: пакет 'tidyverse' был собран под R версии 4.3.3
## Warning: пакет 'ggplot2' был собран под R версии 4.3.3
## Warning: пакет 'tibble' был собран под R версии 4.3.3
## Warning: пакет 'tidyr' был собран под R версии 4.3.3
## Warning: пакет 'readr' был собран под R версии 4.3.3
## Warning: пакет 'purrr' был собран под R версии 4.3.3
## Warning: пакет 'dplyr' был собран под R версии 4.3.3
## Warning: пакет 'forcats' был собран под R версии 4.3.3
## Warning: пакет 'lubridate' был собран под R версии 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── 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

Загрузка данных из файла .sav

data <- read_sav("База_КлимРиск_2023.sav")

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

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

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

data <- select(data, V19, V1, age, type)
str(data)
## tibble [913 × 4] (S3: tbl_df/tbl/data.frame)
##  $ V19 : dbl+lbl [1:913]  0,  0,  0, NA,  0,  1, NA,  0,  0, NA, NA,  0,  0,  1...
##    ..@ label      : chr "Проживание вблизи ледников, в зоне вечной мерзлоты в условиях изменения климата представляет какую-то особую оп"| __truncated__
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "Нет, не представляет" "Да, представляет"
##  $ 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(V19 ~ V1 + age + type, data = data, family = binomial)

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

summary(model)
## 
## Call:
## glm(formula = V19 ~ V1 + age + type, family = binomial, data = data)
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.550e+01  2.400e+03   0.006    0.995    
## V12          7.720e-01  1.671e-01   4.620 3.83e-06 ***
## age14        6.801e-01  3.393e+03   0.000    1.000    
## age15       -3.168e+01  2.939e+03  -0.011    0.991    
## age16       -1.555e+01  2.400e+03  -0.006    0.995    
## age17       -3.168e+01  3.393e+03  -0.009    0.993    
## age18       -1.749e+01  2.400e+03  -0.007    0.994    
## age19       -3.246e+01  3.393e+03  -0.010    0.992    
## age20       -1.547e+01  2.400e+03  -0.006    0.995    
## age21       -1.788e+01  2.400e+03  -0.007    0.994    
## age22       -1.567e+01  2.400e+03  -0.007    0.995    
## age23       -1.668e+01  2.400e+03  -0.007    0.994    
## age24       -1.633e+01  2.400e+03  -0.007    0.995    
## age25       -1.637e+01  2.400e+03  -0.007    0.995    
## age26       -1.593e+01  2.400e+03  -0.007    0.995    
## age27       -1.545e+01  2.400e+03  -0.006    0.995    
## age28       -1.631e+01  2.400e+03  -0.007    0.995    
## age29       -1.602e+01  2.400e+03  -0.007    0.995    
## age30       -1.654e+01  2.400e+03  -0.007    0.995    
## age31       -1.614e+01  2.400e+03  -0.007    0.995    
## age32       -1.581e+01  2.400e+03  -0.007    0.995    
## age33       -1.628e+01  2.400e+03  -0.007    0.995    
## age34       -1.562e+01  2.400e+03  -0.007    0.995    
## age35       -1.627e+01  2.400e+03  -0.007    0.995    
## age36       -1.563e+01  2.400e+03  -0.007    0.995    
## age37       -1.599e+01  2.400e+03  -0.007    0.995    
## age38       -1.571e+01  2.400e+03  -0.007    0.995    
## age39       -1.575e+01  2.400e+03  -0.007    0.995    
## age40       -1.555e+01  2.400e+03  -0.006    0.995    
## age41       -1.663e+01  2.400e+03  -0.007    0.994    
## age42       -1.569e+01  2.400e+03  -0.007    0.995    
## age43       -1.614e+01  2.400e+03  -0.007    0.995    
## age44       -1.552e+01  2.400e+03  -0.006    0.995    
## age45       -1.598e+01  2.400e+03  -0.007    0.995    
## age46       -1.522e+01  2.400e+03  -0.006    0.995    
## age47       -1.594e+01  2.400e+03  -0.007    0.995    
## age48       -1.668e+01  2.400e+03  -0.007    0.994    
## age49       -1.729e+01  2.400e+03  -0.007    0.994    
## age50       -1.556e+01  2.400e+03  -0.006    0.995    
## age51       -1.473e+01  2.400e+03  -0.006    0.995    
## age52       -1.521e+01  2.400e+03  -0.006    0.995    
## age53       -1.577e+01  2.400e+03  -0.007    0.995    
## age54       -1.508e+01  2.400e+03  -0.006    0.995    
## age55       -1.611e+01  2.400e+03  -0.007    0.995    
## age56       -1.596e+01  2.400e+03  -0.007    0.995    
## age57       -1.524e+01  2.400e+03  -0.006    0.995    
## age58       -1.548e+01  2.400e+03  -0.006    0.995    
## age59       -1.575e+01  2.400e+03  -0.007    0.995    
## age60       -1.583e+01  2.400e+03  -0.007    0.995    
## age61       -1.598e+01  2.400e+03  -0.007    0.995    
## age62       -1.451e+01  2.400e+03  -0.006    0.995    
## age63       -1.537e+01  2.400e+03  -0.006    0.995    
## age64       -1.481e+01  2.400e+03  -0.006    0.995    
## age65       -1.462e+01  2.400e+03  -0.006    0.995    
## age66       -1.542e+01  2.400e+03  -0.006    0.995    
## age67       -1.428e+01  2.400e+03  -0.006    0.995    
## age68       -1.528e+01  2.400e+03  -0.006    0.995    
## age69       -1.600e+01  2.400e+03  -0.007    0.995    
## age70       -1.623e+01  2.400e+03  -0.007    0.995    
## age71        7.962e-01  2.609e+03   0.000    1.000    
## age72       -2.747e-08  3.393e+03   0.000    1.000    
## age73       -1.457e+01  2.400e+03  -0.006    0.995    
## age74       -1.640e+01  2.400e+03  -0.007    0.995    
## age75       -2.752e-08  3.393e+03   0.000    1.000    
## age76       -1.533e+01  2.400e+03  -0.006    0.995    
## age77        6.392e-01  2.886e+03   0.000    1.000    
## age78       -3.207e+01  3.393e+03  -0.009    0.992    
## age80       -3.236e+01  3.393e+03  -0.010    0.992    
## age81       -3.236e+01  3.393e+03  -0.010    0.992    
## age82        7.720e-01  2.939e+03   0.000    1.000    
## age85       -2.770e-08  3.393e+03   0.000    1.000    
## age86       -2.742e-08  3.393e+03   0.000    1.000    
## age89       -2.724e-08  3.393e+03   0.000    1.000    
## type2       -7.220e-01  5.203e-01  -1.388    0.165    
## type3        3.590e-01  5.596e-01   0.642    0.521    
## type4       -3.863e-01  2.832e-01  -1.364    0.173    
## type5       -3.810e-01  3.109e-01  -1.226    0.220    
## type6       -1.114e-01  4.575e-01  -0.244    0.808    
## type7        2.938e-01  2.604e-01   1.128    0.259    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1151.2  on 834  degrees of freedom
## Residual deviance: 1022.8  on 756  degrees of freedom
##   (78 пропущенных наблюдений удалены)
## AIC: 1180.8
## 
## Number of Fisher Scoring iterations: 15

Описание полученных результатов: Результаты вывода указывают на значимость некоторых переменных в модели логистической регрессии:

Переменная V12 (переменная изменения среднегодовой температуры) имеет значимое положительное влияние на оценку опасности проживания вблизи ледников (примерно 0.772 на уровне значимости p < 0.001), что означает, что те, кто считает что среднегодовая температура стаоа выше, сколнны считать, что проживание вблизи ледников несет опасность

Некоторые уровни переменной age (переменная возраста) имеют незначительные коэффициенты и p-значения, что указывает на их незначимость в модели. Однако, уровни переменной age в целом не значимы.

Переменные type2, type3, type4, type5, type6, и type7 (переменные типа проживания) не оказывают значимого влияния на оценку опасности проживания вблизи ледников.