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-значение показывают, что модель в целом является статистически значимой.
В целом, результаты говорят о том, что увеличение количества часов, потраченных на учебу, предыдущих баллов, участие во внеклассной деятельности, количество часов сна и количество практикованных пробных экзаменационных работ положительно.
Ответ: Загружаем необходимые пакеты:
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 (переменные типа проживания) не оказывают значимого влияния на оценку опасности проживания вблизи ледников.