Попробуем дать интерпретацию описательным характеристикам представленных в выборке географических координат. Начнем с географической долготы:
data_coord = data %>% select(Latitude, Longitude, Address) %>% filter(!is.na(Longitude)) %>% filter(!is.na(Latitude))
coord_stat_long= describe(data_coord$Longitude) %>% select(-vars, -n, -sd, -trimmed, -mad, -se)%>% rename(assimetria = skew) %>% mutate(firstQu = quantile(data_coord$Longitude,0.25)) %>% mutate(thirdQu = quantile(data_coord$Longitude,0.75)) %>% mutate(moda = mode(data_coord$Longitude))%>% mutate(sko = sd(data_coord$Longitude))
kable(coord_stat_long, row.names = F, caption = "Описательные статистики для географической долготы в выборке")
| mean | median | min | max | range | assimetria | kurtosis | firstQu | thirdQu | moda | sko |
|---|---|---|---|---|---|---|---|---|---|---|
| 30.32681 | 30.32446 | 28.77106 | 30.63148 | 1.860421 | -2.335183 | 42.03126 | 30.2756 | 30.37391 | 30.31932 | 0.086392 |
ggplot(data_coord) +geom_histogram(aes(x = Longitude), fill = 19)+
ylab("Абсолютная частота")+
xlab("Географическая долгота")+
ggtitle("Гистограмма распределения географической долготы")
ggplot(data_coord)+geom_density(aes(x = Longitude))+
ggtitle("График эмпирической плотности распределения долготы")+
ylab("")+
xlab("Географическая долгота")+
geom_vline(xintercept = mean(data_coord$Longitude), color = 2, linetype = "dashed")+
annotate("text", x = mean(data_coord$Longitude), y = 0.02, label = " Среднее", color = 2)+
geom_vline(xintercept = mode(data_coord$Longitude), color = 3, linetype = "dashed")+
annotate("text", x = mode(data_coord$Longitude), y = 2, label = "Мода", color = 3)+
geom_vline(xintercept = median(data_coord$Longitude), color = 7, linetype = "dashed")+
annotate("text", x = median(data_coord$Longitude), y = 4, label = "Медиана", color = 7)
Меры центральности на графике почти совпадают - это связано во-первых с тем, что порядок разницы в значениях долготы совсем низкий (речь идет о тысячных долях градуса), а во-вторых с тем, что распределение кажется вполне симметричным, если не учитывать пологий хвост слева (также отрицательный коэффициент ассиметрии говорит о скошенности распределения влево). Но этот хвост появился из-за нескольких наблюдений западнее 29 градуса, которые видны на гистограмме. Очевидно, что это какие-то квартиры в Лен.Области.
datatable(data_coord %>% filter(Longitude<29), options = list(searching =F,ordering = F, paging = F, info = F))
Это квартира в Выборге.
Низкий порядок разницы значений долготы также ведет к большому значению куртозиса. По минимуму и максимуму можно определить самую западную и самую восточную квартиры соответственно.
Посмотрим, как изменится коэффициент ассиметрии, если убрать из выборки Выборг:
sk = data_coord$Longitude[data_coord$Longitude>29]
sk = skew(sk)
После преобразований коэффициент ассиметрии стал равен 0.0219233. Он теперь положительный, то есть распределение немного, но все же скошено вправо:
ggplot(data_coord %>% filter(Longitude>29))+geom_density(aes(x = Longitude))+
ggtitle("График эмпирической плотности распределения долготы после преобразований")+
ylab("")+
xlab("Географическая долгота")+
geom_vline(xintercept = median(data_coord$Longitude), color = 2, linetype = "dashed")+
annotate("text", x = median(data_coord$Longitude), y = 0.03, label = "Медиана", color = 2)
Перейдем к широте. Проведем аналогичные манипуляции.
coord_stat_lat= describe(data_coord$Latitude) %>% select(-vars, -n, -sd, -trimmed, -mad, -se)%>% rename(assimetria = skew) %>% mutate(firstQu = quantile(data_coord$Latitude,0.25)) %>% mutate(thirdQu = quantile(data_coord$Latitude,0.75)) %>% mutate(moda = mode(data_coord$Latitude))%>% mutate(sko = sd(data_coord$Latitude))
kable(coord_stat_lat, row.names = F, caption = "Описательные статистики для географической широты в выборке")
| mean | median | min | max | range | assimetria | kurtosis | firstQu | thirdQu | moda | sko |
|---|---|---|---|---|---|---|---|---|---|---|
| 59.93832 | 59.93906 | 59.57102 | 60.7037 | 1.132679 | 0.467942 | 5.608306 | 59.87874 | 59.98507 | 59.93719 | 0.0687113 |
ggplot(data_coord) +geom_histogram(aes(x = Latitude), fill = 19)+
ylab("Абсолютная частота")+
xlab("Географическая широта")+
ggtitle("Гистограмма распределения географической широты")
ggplot(data_coord)+geom_density(aes(x = Latitude))+
ggtitle("График эмпирической плотности распределения широты")+
ylab("")+
xlab("Географическая широта")+
geom_vline(xintercept = mean(data_coord$Latitude), color = 2, linetype = "dashed")+
annotate("text", x = mean(data_coord$Latitude), y = 0.02, label = " Среднее", color = 2)+
geom_vline(xintercept = mode(data_coord$Latitude), color = 3, linetype = "dashed")+
annotate("text", x = mode(data_coord$Latitude), y = 2, label = "Мода", color = 3)+
geom_vline(xintercept = median(data_coord$Latitude), color = 7, linetype = "dashed")+
annotate("text", x = median(data_coord$Latitude), y = 4, label = "Медиана", color = 7)
Коэффициент ассиметрии положительный - распределение скошено вправо. По минимуму и максимуму можно определить самую южную и самую северную квартиры - они же являются двумя “выбросами” в выборке
datatable(data_coord %>% filter(Latitude<59.6|Latitude>60.5), options = list(searching =F,ordering = F, paging = F, info = F))
Самое южное наблюдение в Гатчине. Самое северное, ожидаемо, в Выборге.
И наконец, попробуем выяснить, где же географически находится центр выборки. Для этого возьмем медианные координаты широты и долготы:
lat = median(data_coord$Latitude)
long = median(data_coord$Longitude)
Получились координаты 59.939063 северной широты и 30.324456 восточой долготы.
Географический центр выборки - Шведский переулок, дом 2 - в центре Петербурга.