구글맵 데이터로 일본 여행 돌아보기

얼마전 R-bloggers.com에 소개된 글을 통해 핸드폰을 통해 구글맵 데이터가 수집되고 있고, 이를 사용자가 확인해 볼 수 있다는 사실을 알았다.

지금은 아이폰을 쓰고 있어서 작년 데이터는 수집되고 있지 않지만, 안드로이드폰을 쓰던 2년전 데이터는 수집되어 있고, 다운받아 볼 수 있다는걸 확인했다.

그래서 2년전 여름, 일본 여행을 갔던 데이터를 한번 살펴보기로 했다. 일단 여행이라는 목적으로 돌아다녔던 데이터이기 때문에 비교적 잡음도 덜하고, 기간도 짧아서 간단히 보기 좋겠다고 생각했기 때문이다. 데이터는 위도, 경도와 시간 등으로 이루어져있다. R을 활용하여 비교적 쉽게 살펴 볼 수 있다.

japan

구글맵 데이터는 해당 위도, 경도, 시간등의 데이터를 가지고 나의 행동을 걷기, 차량이용, 이동 없음 등으로 예측하여 기록한다. 자세한 내용은 여기서 확인할 수 있다. 그래서 자동차 등으로 이동 중 데이터로 나오는 데이터는 제외 하였다. 단, 걷기 데이터는 포함.

japan_wo_vc

위 지도를 살펴보면 내가 당시에 갔던 지역들이 잘 나타나있다. 기본적으로 오사카 지역과 교토지역이 당시 여행지였다.

일자별로 살펴보면, 나의 당시 여행 코스가 그대로 드러난다. 당시 주요 일정을 살펴보면 첫날은 일본에 입국(간사이공항)해서 교토로 이동했고, 2일차는 교토를 둘러보고, 3일 차에는 고베를 지나 물의 사원을 갔었다(아와지섬). 그리고 4일 차에는 유니버셜 스튜디오에 방문. 5일차에 한국으로 귀국했다.

japan_day

지도 데이터를 보다 보니 클러스터링을 시도해보면 흥미로울 것 같았다. 컴퓨터가 나누는 지역이 실제 내 경험과 어떻게 연결되는지 궁금하기도 했다.

일단 간단히 K-means 클러스터링을 수행해보았다. 그룹의 수도 적절하다고 평가할 만한 그룹수를 선택했다. 계산 방법은 여기서 확인해 볼 수 있다.

kmeans_group

위의 값을 보면 그룹을 2~3개 정도로 나누는게 적절해 보인다. 실제로 나눠진 그룹을 살펴보면 아래와 같다.

일단 2개 그룹으로 나눈 결과를 보면, 숙소 지역 기반으로 잘 나누어진 편이다. 실제로 교토에 이틀 오사카에 사흘 머물렀다. 하지만 실제로 돌아다닌 지역은 더 많았기 때문에, 더 많은 그룹으로 나누어 보면 어떨지 궁금했다.

kmeans_group2

3개의 그룹으로 나누어봤더니 그럭저럭 나쁘지 않은 지역 구분이 되었다. 특히 오사카 지역으로 나누어졌던 그룹이 1) 물의 사원, 2) 오사카 유니버설 스튜디오 및 오사카 시내정도로 나누어 졌다. 그런데 간사이 공항(오사카만 동남쪽)이 물의 사원아(아와지섬)과 하나의 그룹이 되었다.

kmeans_group3

그래서 이번에는 계층 클러스터링을 시도해봤다. 위의 그림에서 간사이 공항 위치 데이터 처럼 클러스터의 관측치 수가 비슷하지 않은 경우에는 K-means 클러스터링이 효과적인 대안이 아니기 때문이다. 해당 내용은 여기서 확인할 수 있다. 그래서 계층 클러스팅을 대안으로 사용해 보았다.  R에서 계층 클러스팅을 수행하는데는 이 글을 참고하였다. 이번에는 2~3층정도로 나누는것이 적절해 보였다. 당시 5일간의 여행이었기 때문에, 그 이상으로 나누는 것은 무의미해 보였다. 심지어 마지막날은 바로 귀국일이었다. 결과적으로 그룹을 4개로 나누었다.

h_clust_plot

달라진 점이라면 간사이 공항 방문이 분명히 다른 그룹으로 나누어졌다. 참고로, K-means 클러스터링으로 4그룹으로 나누어도 간사이 공항은 따로 분류되지 않는다.

h_clust생각보다 지역 주제에 맞게 잘 데이터가 나누어 진다는게 흥미로웠다. 사실 개인의 위치 데이터라 확장해서 해석하기는 어려운데, 만약 여러 여행자의 위치 데이터를 수집해 볼 수 있다면, 나름 여행지역에 대한 클러스터링이 그럭저럭 괜찮게 될 수 도 있겠다.

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중