티스토리 뷰

지난 글에서는 데이터를 열자마자 곧장 지도로 들고 달려가버렸다. O-D 데이터는 아니어도 이전 글들에서 따릉이 이용패턴에 대한 윤곽은 이미 잡았다고 생각하기도 했고, 일단 내 마음이 급했다.

대부분의 경우 기술통계량(descriptive statistics) 등 기본적인 데이터 이해 없이 시각화에 나서는 건 바람직하지 않거니와 실상 가능하지도 않다. 비유하자면 신체 측정도 하지 않고 눈대중으로 맞춤정장을 만들려는 꼴이다. 무엇을 디자인할지 정하지 않고 디자인하려는 것.


그런데 사실 시각화라는 단어를 어떻게 규정하느냐에 따라 위의 비판은 틀린 것일 수 있다. 시각화란 무엇인가? 반드시 현란하고 고도로 정제된 것만이 시각화인가. 스케치북에 크레용으로 그린 일과표, 수학문제를 풀려고 그린 함수곡선도 시각화가 아닌가. 눈에 보이지 않는 무언가를 보이도록 하는, 혹은 눈에 보일 뿐 잘 와닿지 않는 무언가를 보다 와닿도록 하는 모든 행위가 시각화 아닌가.

이렇듯 의미 스펙트럼을 넓게 보면 시각화는 데이터 이해의 결론이 아니라 시작 혹은 과정일 수 있다. 즉 ‘기본적인 데이터 이해’를 위해 시각화를 이용할 수도 있다.*


이런 것도 (좋은) 시각화다. 중세 독일의 토지 측정단위인 ‘Rute’(영국에서는 ‘rood’)가 어떻게 결정되는지 보여주는 Jacob Köbel(1460-1533)의 삽화. 예배를 마치고 교회를 나서는 성인 남성 16명의 발을 일렬로 모으면 ‘합당한’ 16feet 즉 1Rute가 된다는 말인데, 도량형이 없던 시절 16명의 발 크기를 평균하여 당시로서는 합의할 만한 정확도의 1feet를 만들어내는 스마트한 접근이다. 그런 내용을 담아낸 예술적 시각화.

그림 출처: maa.org



잠깐만 옆길로 새자면, 인간은 문자로 된 숫자 다발의 패턴을 이해하는 데는 젬병이지만 눈앞에 놓인 여러 사물들의 크기, 텍스처, 움직임 등 물리적 패턴을 비교 파악하는 데는 귀신이다. (사람에 따라서는 숫자 앞에 화폐단위만 붙여주어도 패턴의 빠른 이해에 도움이 되는 것 같다만) 어떻게 보면 사물의 물리적 속성 역시 모종의 수치로 대변될 수 있는 값에 지나지 않는다. 하지만 우리가 그것을 숫자라는 글자를 통해 볼 때와 사물을 통해 볼 때 이해의 차원은 완전히 다르다. 진화가 가져다준 그 마술적 힘이 너무도 위대하기에, 데이터를 놓고 인간과 소통하려 한다면 어떤 단계에서든 시각화하는 것이 바람직하다.


[['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j’],
[0.32, 0.41, 1.44, 0.76, 0.96, 0.08, 0.26, 0.57, 2.0, 1.75]]


위의 숫자열과 아래의 막대그래프 중 소통의 도구로 무엇을 선택하겠는가?


앞 문장의 단어 가운데 ‘바람직하다’는 ‘효율적이다’ 라고 쓰고 싶었지만, 그러나 현실에서 시각화의 비용효율은 여러 변수에 물려 있다. ‘엑셀’로 대변되는 스프레드시트 소프트웨어가 대중화하면서 거의가 잊어버린 듯지만, 사실 시각화의 기술적 과정, 즉 복수의 숫자를 사물(쉽게 말해 종이 위 도형)의 물리적 속성값으로 변환하여 보기 좋게 배열하는 과정은 간단치 않다. 가령 위의 그래프를 얻기 위해 연필과 자로 종이 위에 직접 그려야만 한다는 전제가 있다면, 몇몇은 위의 질문에 아까와 좀 다르게 대답할 것이다.


극단적인 가정이라는 생각이 들지도 모르겠지만, 이 따릉이 O-D 데이터와 같이 셀의 개수가 십만 단위를 넘어가 대중적 소프트웨어가 버거워하는 수준에 이르면 원시데이터 시각화의 비용효율은 눈앞의 문제가 된다. 특히 나처럼 M$의 미감을 경멸하여 엑셀 대신 Apple Numbers를 쓰는 사람이라면 216(=65,536)행 이상의 데이터는 애초에 온전하게 로딩할 수도 없다.


그런 맥락에서 Python 커뮤니티가 고도화해온 시각화 라이브러리는 내가 원시데이터의 얼개를 파악하는 과정에 신세계를 보여주었다. 여러 선택지가 있지만 잠깐의 방황 끝에 결국 matplotlib을 파기로 했고, 산출물은 만족스럽다. 잠깐의 방황이 있었던 이유는 이 라이브러리의 팔레트 기본값이 마이크로소프트 수준이기 때문이고, 그럼에도 파게 된 이유는 그 모든 값들을 다 커스터마이징할 수 있기 때문이다.


본론으로 돌아와서, 이 따릉이 O-D 데이터에 대한 기본적인 이해 과정을 잠깐 적어보고자 한다.

일단 데이터 자체는 이렇게 생겼다.

자전거번호,대여일시,대여소번호,대여소명,거치대번호,반납일시,반납대여소번호,반납대여소명,반납 거치대번호,이용시간(분),이용거리(M)
SPB-00230,2017-01-01 0:00,419, 홈플러스 앞,5,2017-01-01 0:21,914, 새절역 2번출구,18,20,3340
SPB-02803,2017-01-01 0:01,825, 서빙고동 주민센터 앞,2,2017-01-01 0:15,822, 이촌1동 마을공원,7,14,3380
SPB-03956,2017-01-01 0:05,906, 연신내역 5번출구150M 아래,1,2017-01-01 0:16,931, 역촌파출소,6,11,1610
SPB-02864,2017-01-01 0:05,906, 연신내역 5번출구150M 아래,9,2017-01-01 0:29,912, 응암오거리,1,24,3620
SPB-01388,2017-01-01 0:05,330, 청계천 한빛광장,6,2017-01-01 0:23,171, 임광빌딩 앞,9,17,2280
...

GIS로 다룰 부분인 대여소 값을 제외하면 대여 시작/종료 시각, 이용시간, 이용거리가 남는다. 나의 주요 관심사가 공간적 차원이었던 만큼 먼저 이용거리로 scatterplot을 만들어보았다. 이용거리를 y축으로 시간을 x축으로 하여 354,731개의 점을 찍어보는 것이다.


2017년 1분기 대여내역의 이동거리에 따른 scatterplot. 시간축에는 일요일마다 tick을 넣었다.


이 scatterplot이 이우환의 ‘선으로부터’ 연작을 연상시키는 이유는 시간적 자기상관성(temporal autocorrelations) 때문이다. 하루 단위의 패턴이 뚜렷하고 1주 단위의 변화도 흐릿하게 감지된다. 계절이 바뀌고 해가 길어지면서 꼬리가 길어지는 경향, 즉 장거리 이동이 늘어나는 경향도 확인된다. 흥미로운 점은, 3월에 접어들기 전까지는 주말 이용량이 평일보다 확연히 드물었다가 이후 급증했다는 사실이다. 이런 패턴은 평일 출퇴근용 교통수단으로서 일정한 따릉이 이용량이 존재함을 암시한다. 요일별 시간대별로 이용량을 쪼개어 보면 역시 그런 이용패턴이 확인된다.


2017년 1분기 요일별 시간대별 대여량. 평일 출퇴근 시간대, 주말 오후 시간대 피크가 드러난다.


현실의 패턴은 언론의 이런 보도(?)에서 보이는 비관적 태도를 비웃는 듯하다. 실은 나조차도 이렇게 2년만에 실용적 이용행태가 뚜렷하게 드러나리라 예상하지 못했다. 그렇지만 나와 같은 시기 데이터를 들여다 보고도 저런 결론을 내렸다면 좀 우스운 일이다.

별도의 꼭지로 다룰 내용이지만, 일상에서의 자전거 이용 활성화를 위해 자전거 전용도로를 확충해야 한다는 주장은 반은 맞고 반은 틀린 말이라고 본다. 지리적 장애를 극복하고 시민들이 보다 장거리 이동에도 자전거를 이용할 수 있도록 지원하는 데는 전용도로가 중요할 수 있지만, 대중교통망 연계수단(fisrt/last-mile travel) 용도로서의 자전거 이용 도모를 위해서는 도로를 군림했던 자동차의 지위를 낮추고, 이제는 운전자가 자전거 이용자와 도로를 공유해야 한다는 마음을 갖도록 유도 내지 계도할 필요가 있다. 따릉이 서비스의 목적이 후자인 만큼, 따릉이 데이터를 소재로 삼았다면 자전거 전용도로보다는 교통정온(traffic calming) 전략에 대한 이야기로 마무리하는 것이 더 적합했을 것 같다.


약간 정보 과잉 같기도 하지만, 위의 scatterplot에서 각 이벤트(점)별로 대여 시작 시간대를 4개(0-6시, 7-12시, 13-19시, 20-23시)로 나누어 보면 다음과 같다.



그런데 이 데이터만 가지고 더 많은 이야기를 풀기에는 한계가 있다. 연중 자전거 이용률이 가장 저조한 1-3월의 트렌드이기 때문이다. 이전 글에서 살펴본 바와 같이 따릉이 서비스가 매년 급성장한 탓에 일대일 비교할 수는 없으나, 2016년 데이터 158만 건을 같은 방식으로 뿌려보면 4-11월 기간 데이터 없이 현실적 이야기를 하는 데 한계가 있음을 짐작할 수 있다. 무슨 이유에서인지 서울시는 아직 이후 기간 데이터를 공개하지 않고 있다. 이 글을 쓴 다음날 서울시가 나머지 데이터도 공개했다; 곧 반영해 돌려보아야겠다.


2016년 연간 대여내역의 이동거리에 따른 scatterplot.


* 여기서 짚어야 할 것은 어떤 시각화가 데이터 이해 어느 단계에 해당하는지 창작자 스스로 명확히 할 필요가 있다는 점이다. 작업 과정에 드는 상당한 노력 때문에 메시지나 시각적 정합성이 간과되고, 시각화했다는 것 자체로 의미부여가 이루어지는 경우가 적지 않은 듯하다. 그동안 그리고 앞으로 나의 접근 또한 그런 면에서 비판받을 점이 없지 않은지, 늘 경계하지 않을 수 없다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday