Координаты

Попробуем дать интерпретацию описательным характеристикам представленных в выборке географических координат. Начнем с географической долготы:

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 - в центре Петербурга.