На первом этапе мы составили таблицу, которая определяет каждую выбранную переменную в таких категориях, как “качественная или количественная”, “шкала измерения” и “непрерывная или дискретная”.
Для того, чтобы провести дальнейший анализ, мы изменили тип переменных.
Затем мы сделали краткий анализ наших данных. Так, единственная численная переменная в наших данных - возраст, для которой мы определили минимальное и максимальное значение, медиану, среднее и первый и третий квартили. Для факторных переменных мы определили моду, которая равна самому частовстречающемуся значению в таблице.
summary(ESS2)
## eduyrs gndr agea eneffap rdcenr
## Min. : 1.0 Length:1528 Min. :15.00 8 :365 1 : 24
## 1st Qu.:12.0 Class :character 1st Qu.:31.00 7 :235 2 : 75
## Median :14.0 Mode :character Median :47.00 10 :202 3 :394
## Mean :14.1 Mean :46.83 9 :200 4 :480
## 3rd Qu.:17.0 3rd Qu.:61.00 5 :193 5 :434
## Max. :28.0 Max. :98.00 6 :119 6 :118
## (Other):214 55: 3
## cflsenr wrpwrct wrenexp clmchng cntry
## 8 :334 1:428 1:154 1:753 Length:1528
## 10 :321 2:759 2:609 2:671 Class :character
## 7 :232 3:275 3:562 3: 88 Mode :character
## 9 :173 4: 55 4:181 4: 16
## 5 :159 5: 11 5: 22
## 6 :132
## (Other):177
Дальше мы построили графики, которые описывают наши переменные. Данная гистограмма иллюстрирует распределение возраста в наших данных.
hist(ESS2$agea, xlab = "Возраст", ylab = "Частота", main = "Распределение возраста")
Этот график иллюстрирует переменную “вероятность покупки наиболее энергоэффективной бытовой техники” и варьируется от “не совсем вероятно”(0) и заканчивается на “чрезвычайно вероятно” (10). График показывает, что большинство респондентов с довольно высокой вероятностью купит более энергоэффективную бытовую технику.
plot(ESS2$eneffap, xlab = "Ответ", ylab = "Количество", main = "Распределение ответов")
Следующая диаграмма иллюстрирует количество ответов по переменной “как часто респонденты сокращают энергопотребление”, которое варьируется от никогда (1) до всегда (6), а также есть вариант ответа “не могу уменьшить потребление энергии” (55). Согласно графику, большинство людей со средней частотой сокращает потребление энергии.
plot(ESS2$rdcenr, xlab = "Ответ", ylab = "Количество", main = "Распределение ответов")
Этот график дает информацию о том, “насколько вы уверены, что могли бы использовать меньше энергии, чем сейчас”, и он варьируется от не совсем уверен(а) (0) до полностью уверен(а) (10). Результаты не показывают однозначной тенденции, но существует сильный перевес в сторону большей уверенности.
plot(ESS2$cflsenr, xlab = "Ответ", ylab = "Количество", main = "Распределение ответов")
Этот график иллюстрирует данные из переменной “как сильно вы беспокоитесь о возможности отключения электроэнергии”, и она варьируется от совсем не беспокоюсь (1) до чрезвычайно беспокоюсь (5), и показывает, что люди склонны не беспокоиться об этом (ответ 2 - не очень беспокоятся - преобладает).
plot(ESS2$wrpwrct, xlab = "Ответ", ylab = "Количество", main = "Распределение ответов")
Следующий график показывает количество ответов по переменной “как сильно вы беспокоитесь о дороговизне энергии для многих людей”. Как и в прошлом, он варьируется от совсем не беспокоюсь (1) до чрезвычайно беспокоюсь (5), и наиболее часто встречающимся ответом является среднее беспокойство о данной проблеме.
plot(ESS2$wrenexp, xlab = "Ответ", ylab = "Количество", main = "Распределение ответов")
Этот график предоставляет данные о переменной “как вы думаете, меняется ли климат в мире”. Подавляющее большинство респондентов считает, что он “определенно меняется” (1) и “вероятно меняется” (2).
plot(ESS2$clmchng, xlab = "Ответ", ylab = "Количество", main = "Распределение ответов")
## Сравнительные графики Этот график иллюстрирует ответы на вопрос “как часто вы делаете что-либо, чтобы уменьшить потребление энергии?”(варьируются от никогда (1) до всегда (6), а также есть вариант ответа “не могу уменьшить потребление энергии” (55)) по гендеру. Так, как женщины, так и мужчины, чаще всего выбирают 4 вариант ответа, а реже всего - “не могу уменьшить потребление энергии”. Также по этому графику можно сделать вывод, что мужчин в нашей выборке больше, чем женщин.
library(ggplot2)
ggplot(ESS2) +
geom_bar(aes(x = rdcenr, fill = gndr), position = "dodge")+
xlab("Гендер") +
ylab("Количество") +
scale_fill_discrete(name = "Гендер", labels = c("Мужчины", "Женщины"))+
ggtitle("Как часто вы делаете что-либо, чтобы уменьшить потребление энергии?")
names <- c("Мужчины", "Женщины")
ggplot() +
geom_bar(data = ESS2, aes(x = factor(gndr))) +
xlab("Гендер: 1 - мужчины, 2 - женщины") +
ylab("Количество") +
ggtitle ("Количество женщин и мужчин в выборке")
Затем мы проверили, есть ли значимая разница между числом ответов женщин и мужчин по возрасту. Как видно на графике, разница незначительна.
ggplot(ESS2) +
geom_bar(aes(x = agea, fill = gndr)) +
scale_fill_discrete(name = "Гендер", labels = c("Мужчины", "Женщины"))+
ggtitle("Различия в числе отвтов среди мужчин и женщин разных возрастов")+
xlab ("Возраст") +
ylab ("Частота")
Последние бокс-плоты показывают распределение возраста респондентов с различными ответами на вопрос “как сильно вы беспокоитесь о возможности отключения электроэнергии?”. Так как возраст - это единственная численная переменная в нашей базе данных, мы не смогли построить другие информативные графики распределения. Старшее поколение чаще отвечали, что они беспокоятся о возможности отключения электроэнергии, тогда как более молодые респонденты почти не выбирали варианты 4 и 5.
ESS2$wrpwrct = as.factor(ESS2$wrpwrct)
ggplot() +
geom_boxplot(data = ESS2, aes(x = wrpwrct, y = agea))+
xlab ("Степень беспокойства о \n возможности отключения электроэнергии") +
ylab ("Возраст") +
ggtitle("Как сильно вы беспокоитесь о возможности отключения электроэнергии?")
В заключении следует отметить, что общая картина показывает, что люди обеспокоены изменением климата и предпринимают ряд усилий для сокращения потребления энергии, причем люди старшего поколения обеспокоены этой проблемой в большей степени.
Для проверки гипотез с помощью t-test, мы поставили следующие исследовательские вопросы:
Далее мы проверили предположения, согласно которым мы можем использовать переменные для проверки гипотез с помощью t-test.
Для проверки гипотезы с помощью t-test мы должны удостовериться, что наша переменная распределена нормально. Так, для начала мы взяли переменную “возраст” и построили для нее гистограмму, Q-Q plot и график плотности.
hist(ESS2$agea, xlab = "Возраст", ylab = "Частота", main = "Распределение возраста")
ggplot(ESS2) + geom_density(aes(ESS2$agea)) + xlab("Возраст")+
ylab("Плотность") +ggtitle("График плотности")
q = qqnorm(ESS2$agea); qqline(ESS2$agea, col = 2)
Как можно заметить, распределение имеет значительный скос влево, то есть распределение ненормально. Этот факт подтверждают и density plot, и Q-Q plot (значительные отклонения от Q-Q линии). Так, эту переменную мы не можем использовать для проверки гипотез тестом Стьюдента.
Дальше мы взяли переменную, равную числу лет, потраченных на образование. Нормальность распределения данной переменной мы проверили теми же способами.
hist(ESS2$eduyrs, xlab = "Количество лет", ylab = "Частота", main = "Распределение лет, потраченных на образование")
ggplot(ESS2) + geom_density(aes(ESS2$eduyrs)) + xlab("Количество лет")+
ylab("Плотность") +ggtitle("График плотности")
qqnorm(ESS2$eduyrs); qqline(ESS2$eduyrs, col = 2)
Как можно заметить, данная переменная не имеет явных выбросов и сильных скосов, что свидетельствует о большей схожести с нормальными распределением в сравнении с первой переменной. Так, мы решили использовать данную переменную для проверки гипотез с помощью Теста Стьюдента.
Чтобы проверить равенство дисперсий, мы использовали тест Levene.
\(H_0\) - дисперсии равны; \(H_A\) - дисперсии не равны.
leveneTest(ESS2$eduyrs~ESS2$gndr)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 4.1624 0.0415 *
## 1526
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Вывод: по результатам тестa Levene, p-value <0.05, значит \(H_0\) отвергается, т.е. дисперсии не равны.
Для проверки гипотез с помощью t-test, мы поставили следующие исследовательские вопросы:
I. Отвечая на первый вопрос (влияет ли пол респондента на число лет, потраченных на образование?), мы определили следующие гипотезы:
нулевая (\(H_0\)), согласно которой пол респондента не влияет на число лет, потраченных на образование;
альтернативная (\(H_A\)), отвергающая нулевую гипотезу и утверждающая, что пол респондента влияет на число лет, потраченных на образование.
t = t.test(eduyrs~gndr, data = ESS2, var.equal = F)
t
##
## Welch Two Sample t-test
##
## data: eduyrs by gndr
## t = -2.4649, df = 1455.9, p-value = 0.01382
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.8568353 -0.0974316
## sample estimates:
## mean in group 1 mean in group 2
## 13.88457 14.36170
Для ответа на вопрос, мы проанализировали полученное p-value - вероятность получить такой же результат, как есть в данных, или больший, при условии, что нулевая гипотеза верна. Так как полученное p-value много меньше, чем 0.05, то нулевая гипотеза отвергается на уровне значимости = 0.05. Таким образом, женщины и мужчины тратят разное количество лет на образование (женщины больше, чем мужчины).
Затем мы построили бокс-плоты для данных переменных:
ggplot() +
geom_boxplot(data = ESS2, aes(x = gndr, y = eduyrs))+
xlab ("Гендер: 1 - мужчины, 2 - женщины") +
ylab ("Количество лет")+
ggtitle("Распределение лет, потраченных на \n образование среди мужчин и женщин")
Разница в распределении, согласно графику, незначительна, но в случае женщин бокс-плот имеет больше выбросов в сторону большего количества лет, потраченных на образование.
ESS2$wrpwrct = as.numeric(ESS2$wrpwrct)
ESS3 = ESS2 %>% mutate(new = wrpwrct > 2)
ESS3$new = factor(ESS3$new, labels = c("Меньше 3", "3 и больше"))
\(H_0\) - дисперсии равны; \(H_A\) - дисперсии не равны.
leveneTest(ESS2$eduyrs~ESS3$new)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 1.3656 0.2428
## 1526
Вывод: по результатам тестa Levene, p-value >0.05, значит мы не можем отвергнуть \(H_0\), т.е. дисперсии равны.
Затем мы определили следующие гипотезы:
нулевая (\(H_0\)), согласно которой взаимосвязи между числом лет, потраченных на образование, и степенью обеспокоенности о возможном отключении электроэнергии нет;
альтернативная (\(H_A\)), отвергающая нулевую гипотезу и утверждающая, что есть взаимосвязь между числом лет, потраченных на образование, и степенью обеспокоенности о возможном отключении электроэнергии.
t = t.test(eduyrs~new, data = ESS3, var.equal = T)
t
##
## Two Sample t-test
##
## data: eduyrs by new
## t = 1.1557, df = 1526, p-value = 0.248
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.1861067 0.7199447
## sample estimates:
## mean in group Меньше 3 mean in group 3 и больше
## 14.16428 13.89736
Для ответа на вопрос, мы также проанализировали полученное p-value, которое равно 0.248. Так как полученное значение больше, чем 0.05, нулевая гипотеза не отвергается на уровне значимости 0.05. Значит, количество лет, потраченных на образование, влияет на степень обеспокоенности о возможном отключении электроэнергии (причем в группе с большей обеспокоенностью среднее количество лет больше).
ggplot() +
geom_boxplot(data = ESS3, aes(x = new, y = agea))+
xlab ("Степень беспокойства") +
ylab ("Возраст")+
ggtitle("Распределение возраста среди двух групп ответивших \n (по степени беспокойства)")
Для проверки гипотез с помощью критерия Хи-квадрат, мы поставили следующие исследовательские вопросы:
I. Для ответа на первый вопрос, мы определили следующие гипотезы:
нулевая (\(H_0\)), согласно которой между полом респондента и степенью обеспокоенности о возможном отключении электроэнергии нет зависимости;
альтернативная (\(H_A\)), отвергающая нулевую гипотезу и утверждающая, что между полом респондента и степенью обеспокоенности о возможном отключении электроэнергии есть зависимость.
ch <- chisq.test(ESS3$new, ESS3$gndr)
ch
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: ESS3$new and ESS3$gndr
## X-squared = 12.052, df = 1, p-value = 0.0005174
Затем мы сравнили ожидаемые и наблюдаемые значения и составили график, отображающий отклонения от ожидаемых значений - Пирсоновские остатки.
ch$observed
ch$expected
ch$residuals
library(vcd)
df_resid = as.data.frame(ch$residuals)
df_resid
df_count = as.data.frame(ch$observed)
df_count
ggplot() +
geom_raster(data = df_resid, aes(x = ESS3.new, y = ESS3.gndr, fill = Freq), hjust = 0.5, vjust = 0.5) +
scale_fill_gradient2("Пирсоновские остатки", low = "#2166ac", mid = "#f7f7f7", high = "#b2182b", midpoint = 0) +
geom_text(data = df_count, aes(x = ESS3.new, y = ESS3.gndr, label = Freq)) +
xlab("Степень беспокойства") +
ylab("Гендер: 1 - мужчины, 2 - женщины") +
theme(axis.text.x = element_text(angle = 90))
Для ответа на данный вопрос, мы также проанализировали полученное p-value, которое в данном случае = 0.0005174. Так как p-value много меньше 0.05, нулевая гипотеза отвергается, что подтверждает тот факт, что пол респондента и уровень беспокойства взаимосвязаны. Более того, график иллюстрирует, что существуют некоторые значительные отклонения от ожидаемых значений, например, в случае женщин, выше среднего беспокоящихся об отключении электроэнергии (в положительную сторону), и мужчин с тем же уровнем беспокойства, только уже в отрицательную сторону.
нулевая (\(H_0\)), согласно которой между полом респондента и вероятностью покупки наиболее энергоэффективной бытовой техники нет взаимосвязи;
альтернативная (\(H_A\)), отвергающая нулевую гипотезу и утверждающая, что между полом респондента и вероятностью покупки наиболее энергоэффективной бытовой техники есть взаимосвязь.
ESS2$eneffap = as.numeric(ESS2$eneffap)
ESS3 = ESS2 %>% mutate(new1 = eneffap > 5)
ESS3$new1 = factor(ESS3$new1, labels = c("Меньше 5", "5 и больше"))
ch <- chisq.test(ESS3$eneffap, ESS3$gndr)
ch
##
## Pearson's Chi-squared test
##
## data: ESS3$eneffap and ESS3$gndr
## X-squared = 8.7376, df = 10, p-value = 0.5572
Для ответа на данный вопрос, мы проанализировали полученное p-value, которое равно 0.5572. Так как полученное значение больше, чем 0.05, нулевая гипотеза не отвергается на уровне значимости 0.05. Это значит, что между полом респондента и вероятностью покупки более энергоэффективной бытовой техники нет зависимости.
В первую очередь, для того, что применить ANOVA, нам необходимо было выбрать одну категориальную и одну численную переменные. Для этого переменную agea (возраст респондента) мы разделили на 3 интервала: <=30, 31-50, 51+. В качестве метрической переменной мы выбрали eneffap (вероятность купить одну из самых энергоэффективных моделей бытовой техники). Так, значения метрической переменной варьируются от 1 до 10, причем 1 - “Совсем невероятно”, 10 - “Чрезвычайно вероятно”.
ESS2$agea = as.numeric(ESS2$agea)
ESS2 = ESS2 %>% mutate(age = cut(ESS2$agea, breaks = c(0, 30, 50, 98)))
ESS2$age = as.factor(ESS2$age)
ESS2$eneffap = as.numeric(ESS2$eneffap)
class(ESS2$age)
## [1] "factor"
class(ESS2$eneffap)
## [1] "numeric"
Число наблюдений в каждой группе
tapply(ESS2$eneffap, ESS2$age, length)
## (0,30] (30,50] (50,98]
## 361 511 656
Распределение данных выборки
ggplot() +
geom_boxplot(data = ESS2, aes(x = age, y = eneffap))+
xlab ("Возраст") +
ylab ("Вероятность покупки \n энергоэффективной техники")+
ggtitle("Распределение вероятности среди трех возрастных групп")
График демонстрирует, что распределения имеют различия: так, распределение ответов респондентой из второй и третьей группы в большей степени смещено вверх и имеют большие значения медиан, в сравнении с первой, что говорит о большей вероятности покупки энергоэффективных моделей бытовой техники в старшем возрасте.
Выборки независимы, так как одному респонденту соответствует один ответ.
Общее число наблюдений меньше 5000 => нам нужно проверить данные на нормальность распределения.
Для проверки нормальности распределения остатков мы построили гистограммы для всех групп вместе и для каждой отдельно.
hist(ESS2$eneffap, xlab = "Вероятность покупки \n энергоэффективной техники", ylab = "Частота", main = "Вероятность покупки \n энергоэффективной техники (по всем возрастным категориям)")
ggplot(ESS2) + geom_histogram(aes(x = eneffap, fill = age), binwidth = 1.0) + facet_grid(~age) + xlab ("Вероятность покупки \n энергоэффективной техники") +
ylab ("Количество ответов")+
ggtitle("Распределение вероятности среди трех возрастных групп")
Как можно заметить, во всех графиках наблюдается отрицательная смещенность (negative skew), соответственно, распределение ненормальное.
Далее мы проверили нашу переменную на нормальность с помощью теста Shapiro-Wilk.
\(H_0\) - переменная распределена нормально; \(H_A\) - переменная распределена ненормально.
res=residuals(lm(ESS2$eneffap~ESS2$age))
model=aov(ESS2$eneffap~ESS2$age)
res=model$residuals
shapiro.test(res)
##
## Shapiro-Wilk normality test
##
## data: res
## W = 0.93486, p-value < 2.2e-16
Вывод: согласно тесту нормальности Shapiro-Wilk, p-value <<0.05, таким образом \(H_0\) отвергается, соответсвенно переменная распределена ненормально.
Затем мы использовали тест для проверки нормальности в каждой возрастной группе.
\(H_0\) - переменная распределена нормально; \(H_A\) - переменная распределена ненормально.
shapiro.test(ESS2$eneffap[ESS2$age == "(0,30]"])
##
## Shapiro-Wilk normality test
##
## data: ESS2$eneffap[ESS2$age == "(0,30]"]
## W = 0.95487, p-value = 4.477e-09
shapiro.test(ESS2$eneffap[ESS2$age == "(30,50]"])
##
## Shapiro-Wilk normality test
##
## data: ESS2$eneffap[ESS2$age == "(30,50]"]
## W = 0.9026, p-value < 2.2e-16
shapiro.test(ESS2$eneffap[ESS2$age == "(50,98]"])
##
## Shapiro-Wilk normality test
##
## data: ESS2$eneffap[ESS2$age == "(50,98]"]
## W = 0.89234, p-value < 2.2e-16
Вывод: согласно тесту нормальности Shapiro-Wilk, p-value во всех случаях <<0.05, таким образом \(H_0\) отвергается, соответсвенно, переменная распределена ненормально в каждой возрастной группе.
Общий вывод: данные рапределены ненормально.
Чтобы проверить равенство дисперсий, мы использовали тест Levene.
\(H_0\) - дисперсии равны; \(H_A\) - дисперсии не равны.
leveneTest(ESS2$eneffap~ESS2$age)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 2 7.2289 0.0007505 ***
## 1525
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Вывод: по результатам тестa Levene, p-value <0.05, значит \(H_0\) отвергается, т.е. дисперсии не равны.
Дисперсии не равны.
Так как наши группы распределены ненормально и есть значительная разница в объемах выборок, мы применили непераметрический тест Краскела-Уоллиса.
\(H_0\) - медианы в группах равны; \(H_A\) - медианы в группах не равны.
kruskal.test(ESS2$eneffap~ESS2$age)
##
## Kruskal-Wallis rank sum test
##
## data: ESS2$eneffap by ESS2$age
## Kruskal-Wallis chi-squared = 83.403, df = 2, p-value < 2.2e-16
Вывод: p-value <<0.05, таким образом, \(H_0\) отвергается, медианы в группах не равны.
Затем мы использовали постхок-тест Данна (Dunn’s), чтобы проверить попарные различия.
dunn.test::dunn.test(ESS2$eneffap, ESS2$age, method="bonferroni")
## Kruskal-Wallis rank sum test
##
## data: x and group
## Kruskal-Wallis chi-squared = 83.4034, df = 2, p-value = 0
##
##
## Comparison of x by group
## (Bonferroni)
## Col Mean-|
## Row Mean | (0,30] (30,50]
## ---------+----------------------
## (30,50] | -7.954415
## | 0.0000*
## |
## (50,98] | -8.429039 -0.092887
## | 0.0000* 1.0000
##
## alpha = 0.05
## Reject Ho if p <= alpha/2
Вывод: статистически значимой разницы нет только в паре (30,50] - (50,98], так как p-value > 0.05, а также значения в первой группе в сравниваемых парах выше из-за отрицательной разницы (Col Mean - Row Mean).
Общий вывод: таким образом, мы можем с уверенностью сказать, что вероятность покупки энергоэффективной техники отличается в зависимости от возрастной группы: так, молодые люди до 30 лет с меньшей вероятностью преобретут энергеэффективную технику в сравнении с респондетами, возраст которых достиг 30 лет. Кроме того, важно отметить, что значимой разницы между группами (30,50] - (50,98] нет. Также важно отметить, что возраст влияет на обеспокоенность об отключении электроэнергии - чем выше значение возраста, тем больше обеспокоенность. Кроме того, люди с большим числом лет, потраченных на образование, сильнее беспокоятся о возможном отключении электроэнергии.