Цели:
Изучить распределение потенциальных регрессоров
Посмотреть корреляцию между контрольными переменными и основным регрессором (потреблением алкоголя)
Выявить взаимосвязи между регрессорами и объясняемой переменной (числом преступлений на душу населения)
В датасет были добавлены новые переменные:
bar - количество ресторанов и баров на одного человека в регионе
income - подушевой доход
poverty - доля населения с доходами меньше прожиточного минимума, установленного в регионе
social - доля социальных выплат в доходе населения
hdi - индекс человеческого развития
alcoholic - число больных алкоголизмом на душу населения
Также мы разделили субъекты на группы по принадлежности к тому или иному Федеральному Округу. Регионы, принадлежащие к одному ФО могут выделятся по тем или иным признакам в силу географического положения, традиций, культуры, политического устройства.
Список ФО: 1 - Центральный. 2 - Северо-западный. 3 - Южный. 4 - Северо-Кавказский. 5 - Приволжский. 6 - Уральский. 7 - Сибирский. 8 - Дальневосточный.
library(tidyverse)
library(readxl)
data = read_excel("/Users/pavelponomarev/Downloads/project_data_pochti_final.xlsx")
library(ggplot2)
data$region = data$region %>% as.factor()
Распределение числа преступлений на душу населения:
data %>%
ggplot(aes(y =crimes)) + geom_boxplot()+
ggtitle("Распределение числа преступлений на душу")+
xlab(" ")+
ylab(" ")
ggplot(data)+geom_density(aes(x=crimes))+
ggtitle("График эмпирической плотности распределения преступлений на душу")+
ylab("")+
xlab("crimes")
Распределение похоже на нормальное.
data %>%
ggplot(aes(y =crimes, x = region)) + geom_boxplot()+
ggtitle("Распределение числа преступлений на душу \nв зависимости от принадлежности к Федеральному округу")+
xlab(" ")+
ylab(" ")
Распределение числа преступлений отличается в зависимости от принадлежности к тому или иному округу. Значительно выделяется Северный Кавказ (4) - там меньше всего преступлений (это объясняется особенностями региона и, возможно, не очень качественной статистикой). Примерно одинаковое распределение в группах 1,3,5 (Центральный, Южный и Приволжский ФО) - это европейская часть страны. Больше всего преступлений в Сибирском и Дальневосточном ФО (группы 7,8).
Распределение числа преступлений на душу населения:
data %>%
ggplot(aes(y =alcohol)) + geom_boxplot()+
ggtitle("Распределение потребления алкоголя на душу")+
xlab(" ")+
ylab(" ")
ggplot(data)+geom_density(aes(x=alcohol))+
ggtitle("График эмпирической плотности потребления алкоголя на душу")+
ylab("")+
xlab("alcohol")
Распределение похоже на нормальное (со смещением вправо).
Корреляция между потреблением алкоголя и количеством преступлений. Исходное предположение: в регионах с большим уровнем потребления алкоголя в силу совокупности факторов больше и уровень преступности.
cor.test(data$alcohol,data$crimes)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$crimes
## t = 3.63, df = 83, p-value = 0.000489
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1704649 0.5406185
## sample estimates:
## cor
## 0.3701417
Тест показал, что корреляция значима и действительно положтельна.
Проверка корреляции между уровнем безработицы и потреблением алкоголя. Исходное предположение: в регионах с более высоким уровнем безработицы больше потребляют алкоголь.
cor.test(data$alcohol,data$unemp)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$unemp
## t = -5.6822, df = 83, p-value = 1.919e-07
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.6670922 -0.3562652
## sample estimates:
## cor
## -0.5292073
Тест показал, что корреляция между этими двумя переменными не равна нулю. Уровень безработицы будет включен в модель в качестве контрольной переменной.
Взаимосвязь между уровнем безработицы и числом преступлений. Исходное предположение: в регионах с более высоким уровнем безработицы нестабильная социальная обставновка и, следовательно, совершается больше преступлений.
ggplot(data,aes(x = unemp, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между уровнем безработицы \nи числом преступлений")+
xlab("unemp")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
На графике видно, что для регионов, в которых уровень безработицы меньше 10%, действительно есть положительная взаимосвязь. Однако есть группа регионов с высоким уровнем безработицы и небольшим числом преступлений, из-за которой эту связь невозможно отследить.
График для регионов, в которых уровень безработицы меньше 10%:
data %>% filter(unemp<10) %>%
ggplot(aes(x = unemp, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между уровнем безработицы \nи числом преступлений")+
xlab("unemp")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Какие регионы входят в группу, которая “выбивается из общей картины”?
data %>% filter(unemp>10&crimes<0.015) %>% dplyr::select(name) %>% as.data.frame()
## name
## 1 Кабардино-Балкарская Респ.
## 2 Карачаево-Черкесская Респ.
## 3 Республика Дагестан
## 4 Республика Ингушетия
## 5 Республика Калмыкия
## 6 Республика Сев. Осетия-Алания
## 7 Чеченская Республика
Это все кавказские республики. Возможно, их нужно будет выделить в отдельную группу.
Проверка корреляции между ВРП и потреблением алкоголя.
cor.test(data$alcohol,data$vrp)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$vrp
## t = 3.687, df = 83, p-value = 0.0004039
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1760965 0.5447146
## sample estimates:
## cor
## 0.3751414
Тест показал, что корреляция между этими двумя переменными не равна нулю. ВРП будет включен в модель в качестве контрольной переменной.
Боксплот:
data %>%
ggplot(aes(y = vrp/1000)) + geom_boxplot()+
ggtitle("Распределение ВРП")+
xlab(" ")+
ylab("ВРП (тыс.руб.)")
В выборке есть очень большие значения. Разница между значением ВРП в отдельных регионах существенная, следовательно, в модели предпочтительнее будет рассматривать не абсолютное изменение, а относительное. Для этого воспользуемся логарифмом.
ggplot(data)+geom_density(aes(x=log(vrp/1000)))+
ggtitle("График эмпирической плотности распределения ВРП")+
ylab("")+
xlab("log(vrp)")
data %>%
ggplot(aes(y = log(vrp/1000))) + geom_boxplot()+
ggtitle("Распределение ВРП")+
xlab(" ")+
ylab("log(vrp)")
Распределение стало ближе к нормальному.
Взаимосвязь между ВРП и числом преступлений. Исходное предположение: ВРП - это одна из характеристик благосостояния региона. Следовательно, чем больше ВРП, тем меньше должно быть преступлений. Мы ожидаем увидеть линейную отрицательную взаимосвязь.
data %>%
ggplot(aes(x = log(vrp/1000), y = crimes)) + geom_point()+geom_smooth(method = "lm")
## `geom_smooth()` using formula 'y ~ x'
Явной взаимосвязи нет. Возможно, предельный эффект будет равен 0.
Посмотрим на распределение в зависимости от принадлежности к определенному Федеральному Округу.
data %>%
ggplot(aes(x = log(vrp/1000), y = crimes, color = region)) + geom_point()+geom_smooth(method = "lm")
## `geom_smooth()` using formula 'y ~ x'
Для большей части округов взаимосвязь остается незначимой.
Проверка корреляции между ИЧР и потреблением алкоголя. Исходное предположение: в регионах с более высоким ИЧР меньше потребляют алкоголь.
cor.test(data$alcohol,data$hdi)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$hdi
## t = 3.3893, df = 83, p-value = 0.001074
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1464351 0.5229409
## sample estimates:
## cor
## 0.3486774
Тест показал умеренную корреляцию, следовательно, ИЧР будет включен в модель в качестве контрольной переменной.
Теперь рассмотрим взаимосвязь между ИЧР и числом преступления в регионах. Исходное предположение: в регионах с более низким ИЧР уровень потребления алкоголя выше в связи с более низким уровнем жизни.
ggplot(data,aes(x = hdi, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между ИЧР \nи числом преступлений")+
xlab("hdi")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
cor.test(data$crimes,data$hdi)
##
## Pearson's product-moment correlation
##
## data: data$crimes and data$hdi
## t = -0.41613, df = 83, p-value = 0.6784
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2562610 0.1691399
## sample estimates:
## cor
## -0.045629
Явной взаимосвязи нет.
Проверка корреляции кол-вом солнечных дней в регионах и потреблением алкоголя. Исходное предположение: в регионах с меньшим кол-вом солнечных дней в году больше потребляют алкоголь в связи с более депрессивным состоянием из-за тусклой погоды.
cor.test(data$alcohol,data$sun)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$sun
## t = -7.128, df = 83, p-value = 3.436e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.7330582 -0.4640201
## sample estimates:
## cor
## -0.6162053
Корреляция заметная, следовательно, кол-во солнечных дней будет включено в качестве контрольной переменной. Отрицательная корреляция свидетельствует о том, что с ростом солнечных дней уровень потребления алкоголя понижается.
Теперь рассмотрим взаимосвязь между кол-вом солнечных дней и числом преступления в регионах. Исходное предположение: в регионах с меньшим кол-вом солнечных дней в году число преступлений выше в связи с более депрессивным состоянием.
ggplot(data,aes(x = sun, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между кол-вом солнечных дней в году
\nи числом преступлений")+
xlab("sun")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Взаимосвязь отрицательная, то есть с ростом кол-ва солнечных дней в целом совершаются меньшее число преступлений.
data %>% filter(sun>200&crimes<=0.011) %>% dplyr::select(region) %>% as.data.frame()
## region
## 1 4
## 2 3
## 3 4
## 4 4
## 5 4
## 6 4
А вот согласно этой табличке, можно заметить, что в кавказких регионах, где, логично, кол-во солнечных дней много, число преступлений ниже. Это может говорить о том, что из-за большего кол-ва солнечных дней и учитывая специфику регионов (традиции, обычаи) - потребление алкоголя на Кавказе не способствует к большему числу преступлений, так как там отношение к алкоголю особое.
Проверка корреляции между годовой нормой осадков и потреблением алкоголя. Исходное предположение: в регионах, где больше осадков, больше потребление алкоголя.
cor.test(data$alcohol,data$y_rainfall)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$y_rainfall
## t = 2.3113, df = 83, p-value = 0.0233
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.03459385 0.43617010
## sample estimates:
## cor
## 0.2459049
Корреляция не нулевая, значит можем включить годовую норму осадков как контрольную переменную.
Теперь рассмотрим взаимосвязь между годовой нормой осадков и числом преступления в регионах. Исходное предположение: в регионах с меньшим числом осадков в году число преступлений ниже в связи с более благоприятной погодой.
ggplot(data,aes(x = y_rainfall, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между годовой нормой осадков \nи числом преступлений")+
xlab("y_rainfall")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
cor.test(data$crimes,data$y_rainfall)
##
## Pearson's product-moment correlation
##
## data: data$crimes and data$y_rainfall
## t = -1.3211, df = 83, p-value = 0.1901
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.3460518 0.0718084
## sample estimates:
## cor
## -0.143512
Корреляция незначима.
Проверим, зависимость потребления алкоголя и роста сбережений домохозяйств.
cor.test(data$savings, data$alcohol)
##
## Pearson's product-moment correlation
##
## data: data$savings and data$alcohol
## t = -0.56891, df = 83, p-value = 0.571
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2718383 0.1528291
## sample estimates:
## cor
## -0.06232503
Взаимосвязь между потреблением алкоголя и сбережениями незначима.
Посмотрим на распределение сбережений населения, для этого построим график плотности и боскплот.
data %>%
ggplot(aes(y=savings)) + geom_boxplot()+
ggtitle("Распределение сбережений")+
xlab(" ")+
ylab("Сбережения в % от располагаемого дохода")
data %>%
ggplot(aes(x=savings), adjust=0.1)+geom_density()+
ggtitle("График эмпирической плотности распределения сбережений")+
ylab("")+
xlab("Сбережения в % от располгаемого дохода")
Распределение сбережений похоже на нормальное.
Так же имеет смысл рассмотреть связь сбережений и преступлений графически. Предположительно, с ростом сбережения количество совершаемых преступлений должно падать, проверим это.
cor.test(data$savings, data$crimes)
##
## Pearson's product-moment correlation
##
## data: data$savings and data$crimes
## t = -0.93316, df = 83, p-value = 0.3534
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.3083232 0.1136984
## sample estimates:
## cor
## -0.1018948
ggplot(data,aes(x = savings, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между уровнем сбережений населения \nи числом преступлений")+
xlab("Сбережения в % от располгаемого дохода")+
ylab("Количество преступлений")
## `geom_smooth()` using formula 'y ~ x'
Линейной взаимосвязи нет. Возможно, предельный эффект в модели будет 0 или будет зависеть от принадлежности региона к той или иной группе.
ggplot(data,aes(x = savings, y = crimes,color = region)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между уровнем сбережений населения \nи числом преступлений")+
xlab("Сбережения в % от располгаемого дохода")+
ylab("Количество преступлений")
## `geom_smooth()` using formula 'y ~ x'
Для большей части регионов взаисмосвязь остается незначимой.
Для начала проверим связь между числом лиц с алкогольной зависимостью и уровнем потребления алкоголя по регионам.
cor.test(data$alcoholic, data$alcohol)
##
## Pearson's product-moment correlation
##
## data: data$alcoholic and data$alcohol
## t = 4.2125, df = 83, p-value = 6.379e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.2268567 0.5808581
## sample estimates:
## cor
## 0.4196894
Корреляция не равна 0.
Посмотрим на связь количества лиц с алкогольной зависимостью и количества преступлений
ggplot(data,aes(x = alcoholic, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между количеством алкоголиков \nи числом преступлений")+
xlab("Алкоголиков на душу населения")+
ylab("Количество преступлений")
## `geom_smooth()` using formula 'y ~ x'
cor.test(data$alcoholic, data$crimes)
##
## Pearson's product-moment correlation
##
## data: data$alcoholic and data$crimes
## t = 3.234, df = 83, p-value = 0.001753
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.130725 0.511206
## sample estimates:
## cor
## 0.3345289
На основе результатов можем сделать вывод о том, что связь есть. Больше преступлений совершается в регионах, в которых выявлено большее количество лиц с алкогольной зависимостью и связанными с этим психотическими расстройствами.
Теперь определим, зависит ли количество алкоголиков на душу населения в регионе от дохода.
cor.test(data$alcoholic, data$income)
##
## Pearson's product-moment correlation
##
## data: data$alcoholic and data$income
## t = 4.4426, df = 83, p-value = 2.723e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.2483793 0.5957730
## sample estimates:
## cor
## 0.4383017
ggplot(data,aes(x = alcoholic, y = income)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между количеством алкоголиков \nи числом преступлений")+
xlab("Количество алкоголиков на душу населения")+
ylab("Уровень дохода")
## `geom_smooth()` using formula 'y ~ x'
Посмотрим на регионы в которых высокий показатель подушевого алкоголизма при относительно выском уровне дохода
data %>% filter(alcoholic>0.001&income>40000) %>% dplyr::select(name) %>% as.data.frame()
## name
## 1 Ненецкий АО
## 2 Ямало-Ненецкий АО
## 3 Магаданская область
## 4 Республика Саха (Якутия)
## 5 Сахалинская область
## 6 Чукотский АО
Это восточная Сибирь и Дальний Восток. Опять видно выделение по географическому признаку.
Проверка корреляции между долей городского населения и потреблением алкоголя. Исходное предположение: в регионах с большей долей городского населения, больше потребление алкоголя. (Люди живущие в регионах с крупными городами употребляют алкоголь чаще и в бОльших количествах)
cor.test(data$alcohol,data$urban)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$urban
## t = 8.0046, df = 83, p-value = 6.371e-12
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.5200788 0.7654853
## sample estimates:
## cor
## 0.6600428
Корреляция заметная и составила 0.6600428. Доля городского населения будет включена в модель в качестве контрольной переменной. Положительная корреляция говорит о том, что с увеличением доли городского населения увеличивается и количество потребляемого алкоголя.
Рассмотрим взаимосвязь между долей городского населения и числом преступлений. Исходное предположение: в регионах с высокой степенью урбанизированности соврешается больше преступлений, так как в городах выше уровень преступности.
ggplot(data,aes(x = urban, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между долей городского населения и \nчислом преступлений.")+
xlab("urban")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Взаимосвязь положительная, то есть с ростом доли городского населения растет и преступность. В нескольких регионах с очень низкой степенью урбанизированности довольно высокий уровень преступности.
data %>% filter(urban<55&crimes>0.02) %>% dplyr::select(name) %>% as.data.frame()
## name
## 1 Республика Алтай
## 2 Республика Тыва
Республики Алтай и Тыва. Снова выделение по географическому признаку. Также стоит заметить, что именно эти две республики, согласно некоторым исследованиям были названы “беднейшими регионами страны”. https://www.svoboda.org/a/respubliki-altay-i-tuva-priznany-bedneyshimi-regionami-rossii/31341627.html
Проверка корреляции между доходом на душу населения и потреблением алкоголя. Исходное предположение: в регионах с высоким уровнем дохода потребляют больше алкоголя. (Алкоголь является нормальным благом)
cor.test(data$alcohol,data$income)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$income
## t = 5.6145, df = 83, p-value = 2.549e-07
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3507391 0.6635725
## sample estimates:
## cor
## 0.5246454
Тест показал заметную корреляцию. Доход на душу населения будет включен в модель в качестве контрольной переменной.
Рассмотрим взаимосвязь между доходом на душу населения и числом преступлений. Исходное предположение: в регионах с низким уровнем дохода выше уровень преступности. Следовательно взаимосвязь ожидается отрицательная.
ggplot(data,aes(x = income, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между доходом и числом преступлений.")+
xlab("income")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Взаимосвязь не выявлена.
ggplot(data,aes(x = income, y = crimes,color = region)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между доходом и числом преступлений.")+
xlab("income")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Для большей части групп по федеральным округам взаимосвязь остается незначимой. Однако выделяется регион №7 (Сибирский ФО). Возможно, имеет смысл рассмотреть кросс-эффект.
Проверка корреляции между уровнем образования и потреблением алкоголя.
cor.test(data$alcohol,data$educ)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$educ
## t = -0.12526, df = 83, p-value = 0.9006
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2262090 0.1999623
## sample estimates:
## cor
## -0.01374771
Тест показал, что корреляция между этими двумя переменными отрицательна и не равна нулю. Уровень образования будет включен в модель в качестве контрольной переменной.
Боксплот:
data %>%
ggplot(aes(y = educ/1000)) + geom_boxplot()+
ggtitle("Распределение уровня образования")+
xlab(" ")+
ylab("Количество студентов в высших учебных заведениях")
В выборке есть очень большие значения. Разница между количеством студентов в высших учебных заведениях в отдельных регионах существенная, следовательно, в модели предпочтительнее будет рассматривать не абсолютное изменение, а относительное. Для этого воспользуемся логарифмом.
ggplot(data)+geom_density(aes(x=educ))+
ggtitle("График плотности распределения уровня образования")+
ylab("")+
xlab("educ")
ggplot(data)+geom_density(aes(x=log(educ/1000)))+
ggtitle("График эмпирической плотности распределения уровня образования")+
ylab("")+
xlab("log(educ)")
## Warning: Removed 2 rows containing non-finite values (stat_density).
data %>%
ggplot(aes(y = log(educ/1000))) + geom_boxplot()+
ggtitle("Распределение уровня образования")+
xlab(" ")+
ylab("log(educ)")
## Warning: Removed 2 rows containing non-finite values (stat_boxplot).
Распределение стало ближе к нормальному, однако левый хвост значительно длиннее, что говорит о левосторонней асимметрии,т.e. чаще встречаются значения меньше среднего.
Рассмотрим взаимосвязь между уровнем образования и числом преступлений.
ggplot(data,aes(x = educ, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между уровнем образования \nи числом преступлений.")+
xlab("educ")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Взаимосвязь очень слабая и отрицательная, то есть с ростом уровня образования в регионе преступность сокращается.
Рассмотрим взаимосвязь между уровнем образования и числом преступлений, исключив выбросы (Москва и Санкт-Петербург). `
data %>% filter(educ<130000) %>%
ggplot(aes(x = educ, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между уровнем образования \nи числом преступлений.")+
xlab("educ")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Взаимосвязь по-прежнему очень слабая и отрицательная.
Попробуем рассмотрель корреляцию в рамках федеральных округов
ggplot(data,aes(x = educ, y = crimes,color = region)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между между уровнем образования и числом преступлений.")+
xlab("educ")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
У всех большей части округов очень взаимосвязь остается незначимой и разной по характеру. Однако выделяются регион №2(Северо-западный) и №7(Сибирский ФО). Возможно, имеет смысл рассмотреть кросс-эффект.
Проверка корреляции между долей бедного населения и потреблением алкоголя.
cor.test(data$alcohol,data$poverty)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$poverty
## t = -4.8474, df = 83, p-value = 5.755e-06
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.6207039 -0.2851378
## sample estimates:
## cor
## -0.4697173
Корреляция не равна 0. Доля населения за чертой бедности будет включена в модель в качестве контрольной переменной.
Рассмотрим взаимосвязь между долей населения за чертой бедности и числом преступлений. Исходное предположение: в регионах с большей долей бедного населения хуже криминогенная обстановка.
ggplot(data,aes(x = poverty, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между долей населения за чертой бедности \nи числом преступлений.")+
xlab("poverty")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Выделяется группа с большой долей бедного населения, но маленьким числом преступлений:
data %>% filter(poverty>23&crimes<0.015) %>% dplyr::select(name) %>% as.data.frame()
## name
## 1 Кабардино-Балкарская Респ.
## 2 Карачаево-Черкесская Респ.
## 3 Республика Ингушетия
## 4 Республика Калмыкия
Вновь Кавказские республики.
data$kavkaz = data$region==4
В регионах кроме кавказских республик наблюдается скорее положительная взаимосвязь:
ggplot(data,aes(x = poverty, y = crimes, color = kavkaz)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между долей населения за чертой бедности \nи числом преступлений.")+
xlab("poverty")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Проверка корреляции между количеством баров и ресторанов и потреблением алкоголя. Исходное предположение: в регионах с большим количеством баров потребляют больше алкоголя.
cor.test(data$alcohol,data$bar)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$bar
## t = 2.9837, df = 83, p-value = 0.00374
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1050804 0.4917405
## sample estimates:
## cor
## 0.3112343
Корреляция не равна 0 и положительна. Количество баров и ресторанов будет включено в модель в качестве контрольной переменной.
Проверка корреляции между средней температурой в январе и потреблением алкоголя. Исходное предположение: согласно исследованиям, в более “холодных” регионах больше потребление алкоголя.
cor.test(data$alcohol,data$jan_temp)
##
## Pearson's product-moment correlation
##
## data: data$alcohol and data$jan_temp
## t = -1.7867, df = 83, p-value = 0.07764
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.38959488 0.02155796
## sample estimates:
## cor
## -0.1924503
Тест показал, что корреляция незначима.
Рассмотрим взаимосвязь между средней температурой в январе и числом преступлений.
ggplot(data,aes(x = jan_temp, y = crimes)) + geom_point()+geom_smooth(method = "lm")+
ggtitle("Взаимосвязь между средней температурой в январе \nи числом преступлений.")+
xlab("jan_temp")+
ylab("crimes")
## `geom_smooth()` using formula 'y ~ x'
Мы можем видеть достаточно сильную отрицательную взаимосвязь. В регионах с более суровыми зимами совершается больше преступлений.
Ниже представлена корреляционная таблица, в котором мы можем наблюдать степень зависимости различных переменных с нашим основным регрессором alcohol (потребление алкоголя).
library(kableExtra)
options("scipen"=100, "digits"=4)
data_cor <- data %>% select(-id, -alcohol, -region,-name,-kavkaz)
corr <- function(x) {
cor_f <- cor.test(data$alcohol, x)
return(c(unname(cor_f$estimate), cor_f$p.value))
}
cor_table <- apply(data_cor, MARGIN = 2, FUN = corr)
cor_table <- t(cor_table)
colnames(cor_table) <- c('corr', 'p-value')
cor_table %>% kbl(caption = "Correlation table") %>% kable_material(c("striped", "hover")) %>% row_spec(0, bold = T, color = "white", background = "#79ad9f") %>% scroll_box(width = "100%", height = "400px")
| corr | p-value | |
|---|---|---|
| savings | -0.0623 | 0.5710 |
| males | 0.0738 | 0.5018 |
| urban | 0.6600 | 0.0000 |
| gini | 0.1215 | 0.2679 |
| crimes | 0.3701 | 0.0005 |
| migration | 0.2879 | 0.0076 |
| unemp | -0.5292 | 0.0000 |
| july_temp | -0.7096 | 0.0000 |
| y_rainfall | 0.2459 | 0.0233 |
| sun | -0.6162 | 0.0000 |
| population | -0.0003 | 0.9980 |
| beer | 0.6876 | 0.0000 |
| jan_temp | -0.1925 | 0.0776 |
| vrp | 0.3751 | 0.0004 |
| bar | 0.3112 | 0.0037 |
| income | 0.5246 | 0.0000 |
| poverty | -0.4697 | 0.0000 |
| social | -0.1987 | 0.0683 |
| hdi | 0.3487 | 0.0011 |
| alcoholic | 0.4197 | 0.0001 |
| educ | -0.0137 | 0.9006 |
Рассмотренные нами переменные будут включены в ММЛР с учетом предполагаемых кросс-эффектов и нелинейных эффектов. Мы ожидаем, что предельный эффект подушевого потребления алкоголя в регионе на подушевое количество преступлений будет значимым и положительным. При прочих равных в регионе с большим подушевым потреблением алкоголя будет фиксироваться больше преступлений.