ЛР / ЛР№3_Хакова_Ю_М_ИСТ_223
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Лабораторная работа № 3
«Оценка зависимости качественных
признаков с помощью пакета R»
Выполнил: ст. гр. ИСТ- 223, Хакова Ю. М.
Проверил: к.т.н., доцент Лабковская Р.Я.
Санкт-Петербург
2024
Цель работы: Исследование и анализ зависимости различных факторов на примере реальных данных. В рамках лабораторной работы проводится построение математических моделей и выполнение статистических тестов для выявления закономерностей между представленными характеристиками объектов и зависимыми переменными.
Задание 1
Ход работы:
Выявить факторы (характеристики квартир), влияющие на сумму арендной платы на основе данных, представленных в файле Квартиры.csv
Построить модель зависимости арендной платы от представленных факторов
Сделать вывод.
Рис. 1. Результат выполнения программы.
Рис. 2. График зависимости арендной платы от площади квартиры.
Рис. 3. График зависимости арендной платы от этажа.
Рис. 4. График зависимости арендной платы от количества комнат.
Рис. 5. График зависимости арендной платы от типа стен.
Рис. 6. График зависимости арендной платы от района.
Листинг кода:
data <- read.csv("/Users/ulahakova/Downloads/Квартиры.csv", sep = ";", header = TRUE)
head(data)
model <- lm(rent ~ s + floor + rooms + walls + district, data = data)
summary(model)
plot(data$s, data$rent,
xlab = "Площадь квартиры (кв. м.)",
ylab = "Арендная плата (руб.)",
main = "Зависимость арендной платы от площади",
col = "blue", pch = 19)
abline(lm(rent ~ s, data = data), col = "red", lwd = 2)
plot(data$floor, data$rent,
xlab = "Этаж",
ylab = "Арендная плата (руб.)",
main = "Зависимость арендной платы от этажа",
col = "green", pch = 19)
abline(lm(rent ~ floor, data = data), col = "red", lwd = 2)
plot(data$rooms, data$rent,
xlab = "Количество комнат",
ylab = "Арендная плата (руб.)",
main = "Зависимость арендной платы от количества комнат",
col = "yellow", pch = 19)
abline(lm(rent ~ rooms, data = data), col = "red", lwd = 2)
plot(data$walls, data$rent,
xlab = "Тип стен (0 - условный тип 1, 1 - условный тип 2)",
ylab = "Арендная плата (руб.)",
main = "Зависимость арендной платы от типа стен",
col = "orange", pch = 19)
abline(lm(rent ~ walls, data = data), col = "red", lwd = 2)
plot(data$district, data$rent,
xlab = "Район (тип)",
ylab = "Арендная плата (руб.)",
main = "Зависимость арендной платы от района",
col = "black", pch = 19)
abline(lm(rent ~ district, data = data), col = "red", lwd = 2)
Вывод: благодаря p-value можно сказать, какие факторы сильно влияют на стоимость арендной платы. При вызове summary(modul) можно увидеть, что на арендную плату влияют такие факторы как площадь квартиры и тип стен, так как значение p-value<0.05.
Задание 2
Ход работы:
На основе данных, представленных в файле Квартиры.csv, установить,
имеется ли зависимость между стоимостью аренды квартиры и этажом.
Рис. 7. Результат выполнения программы.
Листинг кода:
data <- read.csv("/Users/ulahakova/Downloads/Квартиры.csv", sep = ";", header = TRUE)
model_floor <- lm(rent ~ floor, data = data)
summary(model_floor)
plot(data$floor, data$rent,
xlab = "Этаж",
ylab = "Арендная плата (руб.)",
main = "Зависимость арендной платы от этажа",
col = "green", pch = 19)
abline(model_floor, col = "red", lwd = 2)
Задание 3
Ход работы:
На основе данных, представленных в файле jobs.csv, установить, имеется ли
зависимость между графиком работы и заработной платой.
Рис. 8. Результат выполнения программы.
Рис. 9. График зависимости заработной платы от графика работы.
Листинг кода:
library(dplyr)
data <- read.csv("/Users/ulahakova/Downloads/jobs.csv", sep = ",", header = TRUE)
head(data)
data$schedule <- as.factor(data$schedule)
data$salary_min[is.na(data$salary_max)] <- 0
data <- data %>% mutate(average = ((salary_min + salary_max) / 2))
head(data)
model <- lm(data$average ~ data$schedule, data = data)
summary(model)
plot(data$schedule, data$average,
xlab = "График работы",
ylab = "Средняя зарплата (руб.)",
main = "Зависимость зарплаты от графика работы")
abline(model, col = "red")
Задание 4
Ход работы:
На основе данных, представленных в файле jobs.csv, установить, имеется ли
зависимость между стоимостью опытом и заработной платой.
Рис. 10. Результат выполнения программы.
Рис. 11. График зависимости заработной платы от опыта работы.
Листинг кода:
library(dplyr)
data <- read.csv("/Users/ulahakova/Downloads/jobs.csv", sep = ",", header = TRUE)
head(data)
data$experience <- as.factor(data$experience)
data$salary_min[is.na(data$salary_max)] <- 0
data <- data %>% mutate(average = ((salary_min + salary_max) / 2))
head(data)
model <- lm(data$average ~ data$experience, data = data)
data$experience_age<- case_when(
grepl("Нет опыта", data$experience) ~ 0,
grepl("От 1 года до 3 лет", data$experience) ~ 2,
grepl("От 3 до 6 лет", data$experience) ~ 4,
grepl("Более 6 лет", data$experience) ~ 7,
TRUE ~ NA_real_
)
data <- data %>% filter(!is.na(average), !is.na(experience_age))
model <- lm(average ~ experience_age, data = data)
summary(model)
plot(data$experience_age, data$average,
xlab = "Опыт работа",
ylab = "Заработная плата (руб.)",
main = "Зависимость между опытом и заработной платой",
pch = 16)
abline(model, col = "red", lwd = 2)
Задание 5
Ход работы:
На основе данных сделать вывод, имеется ли связь результатов стирки с использованием нового геля для стирки.
Рис. 12. Результат выполнения программы.
Вывод: на основании проведенного теста и полученного p-значения(0,08399>0,05) связь между методом стирки и результатом стирки не установлена. Это означает, что использование геля для стирки не демонстрирует статистически значимых преимуществ перед порошком и хозяйственным мылом. На мозаичном графике гель демонстрирует немного лучшие результаты по сравнению с порошком и хозяйственным мылом, но различия могут быть случайными, для более точного анализа требуется большее количество экспериментов.
Листинг кода:
data <- matrix(c(15, 18, 20, 13, 11, 22), nrow = 3, byrow = TRUE)
rownames(data) <- c("С порошком", "С гелем", "С хозяйственным мылом")
colnames(data) <- c("Отстиралось", "Не отстиралось")
data
result <- chisq.test(data)
result
e_values <- result$expected
o_values <- result$observed
delta <- o_values - e_values
statistik <- (delta)^2 / e_values
mosaicplot(data, main = "Метод стирки",
color = c("blue", "red"), xlab = "Метод стирки", ylab = "Результат стирки",
border = "black")
Вывод: в ходе лабораторной работы было проанализировано влияние различных факторов на зависимые переменные в разных областях. Построенные модели и выполненные статистические тесты позволили выявить значимые зависимости и определить влияние отдельных характеристик на итоговые показатели. Полученные результаты демонстрируют важность анализа данных для принятия обоснованных решений и подтверждают целесообразность применения статистических методов в различных сферах.
