목록으로
지역사회 문제해결을 위한 AI 활용
창원 누비자 데이터, AI가 읽고 코드가 검산
👤 반짝이는토끼711 📅 2026-10-22 👁 조회 68
창원 누비자 대여 기록, AI가 읽고 코드가 검산했다 - 우리 동네 정류장은 언제 비는가
어떤 상황에서 AI를 활용했나요
저는 창원대학교 전자공학과 학생이고, 데이터분석 수업에서 시계열 데이터를 하나 골라 탐색 결과를 발표하는 과제를 받았습니다. 학교 앞에 터미널이 있는 누비자의 자료를 쓰고 싶었지만 어디에 어떤 파일이 있는지, 열이 무엇을 뜻하는지, 50만 행을 어떻게 다뤄야 하는지 막막했습니다. 동시에 창원에서 학교를 다니는 사람으로서 궁금한 것이 있었습니다. 학교 앞 터미널에 자전거가 언제 많고 언제 없는지는 아무도 숫자로 답해 주지 않았습니다. 공공데이터는 열려 있는데 시민이 읽을 수 있는 숫자는 없었습니다.

어떤 AI를 어떻게 활용했나요
먼저 Claude에게 창원 누비자 데이터가 공공데이터포털에 있는지 물었습니다. AI는 네 가지 자료를 찾아 주었습니다. 2018년 6월 건별 대여·반납 이력 499,525행, 2020년 1월부터 2022년 6월까지의 일일 이용현황, 2008년 10월부터 2023년 3월까지의 월별 이용현황, 터미널 372곳의 이름과 좌표입니다. AI는 파일을 받아 열 구조를 설명하고, 시간별로 집계하는 코드를 쓰고, 그래프를 그리고, 해석 문장을 만들어 PPT 15장까지 한 번에 내놓았습니다. 중복이 2건, 1분 미만 대여가 34,170건, 24시간 초과가 78건이며, 새벽 1시부터 3시는 운영 중단이라 0건이고, 6월 10일·19일·28일·30일의 급감은 비 온 날로 추정되며, 요일과 시각 평균만으로 마지막 주를 예측하면 오차가 251건이고, 창원대 앞 터미널 3곳의 패턴이 이렇다는 문장들이었습니다.

그다음 날, 그 문장 속 숫자를 전부 받아 적고 검산을 시작했습니다. 같은 원본 파일을 다시 내려받아 pandas로 처음부터 다시 세는 스크립트 verify.py를 돌렸습니다. 이 코드도 AI와 함께 썼습니다. 다만 이 코드는 원본 행을 그대로 세기 때문에 제가 한 줄씩 읽을 수 있고, 같은 파일을 가진 누구나 같은 숫자를 얻습니다. 세어 보기 전까지 AI의 숫자는 전부 주장이었습니다.

활용 결과 어떤 변화가 있었나요
대조한 항목은 14개입니다.

· 그대로 일치한 것 10개 — 전체 499,525행, 중복 2행, 1분 미만 34,170건, 24시간 초과 78건, 시간별 720점, 1시부터 3시 0건, 일일 자료 912일, 터미널 372곳, 기준선 오차 250.7건 대 251건, 24시간과 168시간 주기. 24시간 주기의 자기상관은 0.64, 168시간은 0.59였습니다.
· 겉보기 불일치 1개 — 월별 자료를 세니 177행이 나와 AI의 174개월과 달랐습니다. 파일을 열어 보니 끝에 빈 줄이 3개였고 실제 174개월이 맞았습니다. AI가 맞은 사례입니다.
· 부분 불일치 1개 — 급감일을 같은 요일 중앙값의 70% 미만으로 정의하니 10일·11일·28일·30일이 나왔습니다. AI는 10일·19일·28일·30일이라고 했는데, 19일은 73%, 11일은 67%로 기준에 따라 들어갔다 빠지는 경계값이었습니다. 비 때문이라는 추정은 기상 자료를 확인하지 못해 미확인으로 남겼습니다.
· 불일치 1개 — AI가 말한 창원대 앞 터미널 3곳은 2018년 자료로는 성립하지 않았습니다. 이름에 창원대가 들어간 터미널은 4곳인데, 2곳은 2023년 8월에 등록되어 2018년 이력이 없고, 1곳인 창원대로변 광장은 창원대로라는 길 이름이지 학교가 아니며 8km 떨어져 있었습니다. 2018년 6월에 실제로 운영된 곳은 창원대학교앞 1곳이었습니다. 이름 문자열로 고르면 생기는 오류라서 번호와 좌표로 다시 골랐습니다.
· 새로 발견 1개 — 같은 2018년 6월인데 건별 이력은 499,523건이고 월별 이용현황은 471,500건이라 28,023건이 다릅니다. 1분 미만을 빼도 465,353건이라 맞지 않고, 어떤 정제 규칙으로도 471,500이 재현되지 않았습니다. 월별 통계의 집계 기준은 자료에 적혀 있지 않습니다. AI는 두 자료를 따로 읽었기 때문에 이 차이를 말한 적이 없습니다.

검산한 숫자로 시민이 보는 표를 만들었습니다. 창원대학교앞 75번 터미널은 2018년 6월 한 달 동안 대여 3,729건, 반납 2,528건으로 1,201대가 더 나갔습니다. 운영 터미널 276곳 가운데 순유출 11위입니다. 아침 8시에는 반납 164건에 대여 55건으로 들어오는 자전거가 109대 많고, 오후 5시에는 대여 367건에 반납 162건으로 나가는 자전거가 205대 많습니다. 자전거는 봉림상가사거리로 245건, 은아아파트 정문으로 195건 나가고, 은아아파트 정문에서 114건, 신월성산복지회관에서 113건 들어옵니다. 창원대 주변 1km 안에서 2018년에 운영된 터미널 4곳은 경남도청 +741, 도청사거리 +1,110, 경남지방경찰청 +172로 모두 대여가 반납보다 많았습니다. 창원 전체로는 하루 평균 15,509건, 평일은 8시 1,079건과 18시 1,607건의 두 봉우리, 이용시간 중앙값 10.2분, 30분 이하가 87%였습니다.

이 표와 대조표, 데이터를 읽을 때 알아 둘 것, 검산 코드 전문을 한 페이지에 묶어 공개했습니다. 공개 페이지 링크는 첨부 안내에 적었습니다.

나만의 방식 또는 개선 포인트는 무엇인가요
첫째, AI가 쓴 문장 속 숫자를 전부 받아 적고 대조표의 왼쪽 열로 만듭니다. 세어 보기 전에는 모두 주장으로 둡니다.
둘째, 검산은 AI의 설명이 아니라 원본에서 다시 세는 코드로 합니다. 코드를 AI와 썼더라도 한 줄씩 읽고 직접 돌립니다.
셋째, 불일치가 나오면 어느 쪽이 맞는지 원본 파일을 엽니다. 빈 줄 3개처럼 AI가 맞고 제 검산이 틀려 보이는 경우가 있습니다.
넷째, 자료 하나 안에서만 검산하지 않고 같은 기관의 다른 자료와 교차합니다. 가장 큰 발견은 여기서 나왔습니다.
다섯째, 사실과 해석을 문장에서 구분합니다. 대여가 반납보다 많다는 것은 사실이고, 저녁에 자전거가 비기 쉽다는 것은 해석입니다. 거치대 재고는 자료에 없으므로 해석이라고 적었습니다.
여섯째, 확인하지 못한 것은 미확인으로 남깁니다. 비, 운영 중단, 두 자료의 차이가 그렇습니다.

다른 사람도 따라 할 수 있나요
공공데이터포털에서 네 파일을 로그인 없이 내려받고, AI에게 열 구조와 탐색 코드를 받으면서 AI가 말한 숫자를 받아 적은 뒤, 첨부한 verify.py를 구글 코랩에서 돌리면 같은 대조표가 나옵니다. 다른 도시의 공유자전거 자료도 열 이름만 바꾸면 같은 코드를 쓸 수 있습니다. 창원시 빅데이터 포털에는 2023년, 2024년, 2025년의 건별 파일이 한 해 211MB에서 240MB로 올라와 있고 형식이 같아, 같은 코드로 지금의 창원대학교앞 패턴을 다시 셀 수 있습니다. 따라하기 키트 PDF에 출처, 절차, 코드 전문, 원칙을 모두 넣었습니다.

한계와 책임
2018년 6월 한 달 자료라 지금의 패턴을 말하지 않습니다. 급감일이 비 때문인지, 1시부터 3시가 운영 중단인지, 두 공식 자료가 왜 다른지는 확인하지 못했습니다. 절약한 시간을 재지 않았고, 이 표로 재배치가 좋아졌다는 성과도 없습니다. 자료는 자전거번호, 터미널번호, 시각만 있고 이용자 정보는 처음부터 없는 공개 자료이며, 각 자료의 이용허락 조건을 따랐고 출처를 적었습니다. AI가 만든 문장과 코드는 모두 제가 읽고 돌려 보고 고쳤으며, 공개한 숫자의 책임은 저에게 있습니다.

첨부 안내
흐름도 — AI가 읽고 코드가 검산하는 작업 흐름과 원칙
검산 대조표 — 14개 항목의 AI 보고값, 코드 재계산, 판정, 메모
전체 패턴 그래프 — 시간대별 평일·주말 대여와 일별 대여, 급감일 표시
창원대학교앞 카드 — 시간대별 대여·반납·순유출과 주변 터미널 비교
따라하기 키트 PDF — 출처, 절차, 대조표, 시민용 표, 검산 코드 전문
공개 페이지 — 창원 누비자, 숫자로 보기: https://claude.ai/artifact/S1J7UZQgDzuizcYDGeB66H
← 목록