23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요, 에스케이텔레콤의 김정석입니다.
지난 학기에 경북대학교 학생들과 진행했던 멘토-멘티 프로그램에서 학생들이 보내온 두번째 글입니다.
도심항공모빌리티는 자체 운송 수단으로서 의미 보다는 기존 교통 수단 (버스, 택시, 철도, 그리고 비행기)들과 얼마나 정확한 시간에 연계되는지가 더 큰 의미를 갖고 있습니다.
택시로 1시간넘게 걸리는 도심을, 가로지르는데 5분에서 10분 남짓의 시간 밖에 소요되지 않겠지만, 이를 이용하는데 필요한 대기 시간이 30분이상이라면 빠른 이동 수단이라는 의미가 퇴색될 것이기 때문입니다.
이와 관련하여, 기초적인 연구로 학생들이 수행한 개인별 대기 시간 인내심의 편차에 따라, 얼마나 많은 이용자가 도심항공모빌리티를 선택할 것인지를 시뮬레이션해본 결과입니다.
실험군이란 것이 존재하지 않기 때문에 모든것을 상상에 의해서 만들어냈지만,
확률 통계 이론에 기반하여 개인의 특성을 생성하고 이를 지식그래프로 표현하는 방법을 생각해 보았습니다.
아쉽게도, 논문은 학부 경진대회가 아닌 일반부에 제출하는 바람에 채택은 되지 않았으나, 이는 익숙하지 않은 부분에 도전하였기 때문일 뿐, 형식과 결론을 정제한다면 학부생 이상의 결과를 가져온 것으로 생각됩니다.
아래 연구 결과를 봐주시고, 피드백도 부탁드립니다. 감사합니다.
안녕하세요. 저희는 경북대학교 통계학과 3학년, 컴퓨터학부 4학년으로 재학 중인 학부생들입니다.
지난 3월부터 약 3개월간 SKT 김정석 매니저님과 함께 ‘지식그래프를 활용한 UAM 도착 지연시간에 따른 승객 이탈률 분석 및 예측’을 주제로 프로젝트를 진행하였습니다.
이번 포스팅을 통해 저희 프로젝트를 소개하고자 합니다.

‘지식그래프를 활용한 UAM 도착 지연시간에 따른 승객 이탈률 분석 및 예측’
이 긴 주제를 이해하기 쉽도록 단어 별로 나누어보면, ‘지식그래프’, ‘UAM’, ‘도착 지연시간’, ‘승객 이탈률’로 나눌 수 있습니다.
저희는 UAM 시스템이 안정적으로 정착하기 위해 필요한 사항들을 살펴보다, 비용적인 측면에 집중하였습니다.
아무래도 UAM은 기체 비용, 버티포트 개설 및 주변 인프라 설립 등에 대해 생각하면 기존에 운용중인 대중교통보다 도입에 있어 비용적인 측면에서 부담이 될 수 밖에 없고,
이런 상황이라면 승객 한 명, 한 명의 이탈이 대중교통으로의 정착에 있어 큰 위험요소로 작용할 것이라고 생각했습니다.
그래서 저희는 승객의 이탈률에 대해 연구해보기로 했고, 그 중에서 UAM의 도착 지연 시간에 따라 기존 예약 승객의 이탈률의 추이를 관찰해보기로 했습니다.
이 때 저희는 승객의 이탈을 관찰하는데에 있어 UAM, 승객, 다른 교통수단 이라는 각각의 객체들과 주어진 상황을 잘 표현하고,
각 객체들 간의 관계를 잘 표현하기 위해서는 지식그래프를 사용하는 것이 적절하다고 생각했습니다.
.png?table=block&id=89f733ac-b2ae-488c-abcc-4ed15419d13d&spaceId=9d00737c-e130-4739-96a0-ece7e7ccce43&width=720&userId=&cache=v2)
지식그래프에 대해서는 아래 연구 내용에서 더 자세히 다룰 예정입니다.
간략히 설명하자면 실제의 엔티티, 즉 객체, 상황 또는 개념들과 이들 사이에 존재하는 관계를 의미합니다.
그래프라고 불리는 이유는 위 그림처럼 각각의 노드들이 릴레이션이라고 불리는 선으로 모두 연결되어 그래프 형태로 나타나며 대부분 그래프 데이터베이스로 표현되기 때문입니다.
지식그래프는 다양한 분야에서 사용되고 있는데, 그 중에서 Google 지식그래프는 검색 결과 페이지를 통해 모든 사람들이 사용해보았을 것입니다.
저희는 해당 프로젝트의 원활한 진행을 위해 지식그래프와 Stardog툴, 그리고 SPARQL에 대한 별도의 학습이 필요했습니다.
이에 따라 stardog document와 해외 교육 유튜브 등을 통해 전체 주어진 3개월의 기간 중 1개월을 학습하는데에 소요하였고,
학기 중 남은 2개월이라는 기간 동안 데이터 생성부터 결론 도출까지 모든 프로세스를 전부 진행했습니다.
본 프로젝트에서 도메인으로 사용되고 있는 도심 항공 교통수단(Urban Air Mobility, 이하 UAM)은 현재 개발 진행 중에 있어,
UAM 도착 지연 시간 데이터는 물론 이에 관한 승객 데이터도 학부생 신분으로는 접하는데에 어려움이 존재했습니다.
따라서, 저희는 자체적으로 시뮬레이션에 활용할 승객, UAM, 타 교통수단 데이터를 생성하여 프로젝트를 진행하기로 결정했습니다.
모든 것에 대해 저희가 자체적으로 생성을 해야되다 보니 명확한 시뮬레이션 결과를 도출하기 위해 본격적인 프로젝트 시작 전, 기본적인 상황 및 공간 설정부터 확고히 정의한 후 데이터 생성을 진행하였습니다.
상황 기본 정의 : 해당 노선에는 각 시간대 당 1대의 비행체만 왕복 운행되며, 출발 지연은 일어나지 않는다. 또한 Bird-strike 등의 비행 중 돌발 상황은 발생하지 않는다.
공간적 정의 : 현실성을 부여하기 위해 서울시 2040 서울도시기본계획(2022)에 따라 서울형 UAM 계획 노선 중, 1단계 간선 노선으로 예상되는 “김포공항 – 용산 ” 노선을 연구의 공간적 범위로 설정한다.

생성한 데이터 셋의 종류는 UAM, 승객, 타 대중교통 데이터이고, 각각 다음과 같은 컬럼들을 가지고 있습니다.
이 때 노란색으로 하이라이트 되어 있는 부분은 각각 통계적 확률 분포를 기반하여 난수를 발생시킨 데이터입니다.
새로운 분야의 데이터 생성 과정에서는 데이터 생성자의 주관이 반영되는 것을 경계해야 했고, 그러기 위해서는 역설적으로 기존 유사 연구들을 더 많이 참고해야 했습니다.
고로 각 데이터 생성시 참고했던 논문 및 참고 사항들을 토대로 저희가 어떻게 데이터를 생성했는지에 대해 세부적으로 설명드리겠습니다.
논문 | 참고사항 |
|---|---|
네트워크 중심성지표를 이용한 서울 수도권 지하철망 특성 분석 - 이정원, 이강원(2017) | 지연 시간에 따른 대중교통 승객 인내심 분포 설정에 균일분포는 적합하지 않음 |
본 프로젝트에서는 승객의 인내심을 분 단위로 구간화했으므로, 인내심 컬럼에 대해 난수를 발생시킬 확률분포를 정할 때 양수 값만을 가지는 연속 확률 분포가 적합하다고 생각했습니다.
따라서 초반에는 균일분포와 감마분포를 기반으로 승객의 인내심을 발생시키려고 했지만,
위의 논문을 토대로 균일 분포는 저희의 프로젝트에 적합하지 않다는 판단이들어 감마분포에서 파생된 지수분포와 카이제곱 분포를 기반으로 난수를 발생시켰습니다.
보다 다양한 승객의 이탈 추이를 관찰하기 위해, 저희는 총 4개의 승객 데이터셋을 생성했습니다. 각 데이터 셋은 승객의 인내심을 포함하고 있고, 이 인내심의 확률 분포는 각각 다릅니다.
이때의 인내심은 각 승객이 UAM의 도착 지연 시간을 기다릴 수 있는 최대 시간을 의미합니다.
또한 승객들의 인내심이 출근 시간대와 일반 시간대에 각각 다른 분포를 형성할 것으로 예상되어 총 출근 시간대의 승객 데이터, 일반 시간대의 승객 데이터로 총 두 가지의 케이스로 분류 후 생성했습니다.

출근 시간대 데이터셋 별 인내심 분포 (좌: 지수분포, 우: 자유도 3 카이제곱 분포)

일반 시간대 데이터셋 별 인내심 분포 (좌: 자유도 4 카이제곱 분포, 우: 자유도 6 카이제곱 분포)
출근 시간대의 경우 승객의 인내심 분포가 지수분포와 자유도 3인 카이제곱 분포를 따르도록 하였고, 일반 시간대의 경우 자유도가 각각 4와 6인 카이제곱 분포를 따르도록 했습니다.
이때 자유도란 분포의 모양을 결정하는 매개변수 중 하나입니다.

자유도 6카이제곱 데이터셋 모습
프로젝트의 신뢰성을 높이고, 분석에 필요할 경험적 분포를 충분히 구축하기 위해, 저희는 시뮬레이션의 승객 표본 수를 높이는 방향을 선택했습니다.
그 후, 각 시간대 당 10,000개씩 생성하여 200개의 시간대에 대해 총 2,000,000개의 승객 데이터를 생성했고, 4개의 데이터 셋을 합치면 총 8,000,000개의 승객 데이터를 생성했습니다.
해당 데이터에 내제되어 있는 컬럼으로는 위와 같이 TIME(시간대), P_ID(승객 아이디), Patience(인내심)이 있습니다.
UAM의 경우, 현재 운용되고 있는 교통수단들 중 가장 비슷한 특성을 가지고 있는 대중교통의 요소를 데이터 생성에 활용하고자 했습니다.
UAM | 항공기 | 택시 | 기차 (KTX) | |
|---|---|---|---|---|
이동 시 영공을 통해 이동하는가? | O | O | X | X |
주로 어느 정도의 이동을 위해 운용되는가? | 단 ~ 중거리 | 장거리 | 단거리 | 중 ~ 장거리 |
예약제로 운영되는가? | O | O | △ | O |
인프라 요구사항이 많은가? (필요 공간 및 시설, 개발 난이도) | O | O | X | O |
이동 속도가 빠른가? (상대적으로) | △ | O | X | △ |
위의 5가지의 기준을 토대로 UAM과 3가지 기준에서 같은 영역으로 분류가 된 항공기와 기차(KTX)를 데이터 생성에 활용했습니다.
논문 | 참고 사항 |
|---|---|
Flight delay causality: Machine learning technique in conjunction with random parameter statistical analysis -Seyedmirsajad Mokhtarimousavi and Armin Mehrabi(2023) | 미국 항공기는 76%의 비율로 15분 이내의 도착 지연 시간이 발생함. |
1차 지연시간 산정 및 분포 추정 방법론 - 김경민, 오세찬(2018) | 감마분포가 출발 지연 시간 분포에 대한 설명력이 가장 높음 |
Automated flight planning of high-density urban air mobility - Tang, H., Zhang, Y., Mohmoodian, V. and Charkhgard, H.(2021) | 덧셈 및 곱셈 수학적 모델링을 토대로 UAM을 시뮬레이션 비행시켜본 결과, 비행시간 분포가 덧셈과 곱셈 모델 모두 자유도가 6인 카이제곱 분포를 따랐음. |
UAM 데이터 생성 시 참고한 논문 및 참고 사항
상단의 참고자료를 토대로 저희는 UAM의 최대 지연시간을 15분으로 설정했습니다.
또한 표에서 두 번째로 기재되어 있는 논문의 경우 예측이 불가한 잠재적 요인들로 인해 도착 지연시간 분포 추정에는 어려움이 있음을 말하나,
본 프로젝트에서는 이전 출발 비행체 및 돌발 상황과 같은 잠재적 사고위험이 존재하지 않는다고 가정하였으므로 출발 지연시간과 도착 지연시간의 분포가 동일할 것으로 판단한 후,
UAM 도착 지연시간의 분포를 감마분포의 일종인 카이제곱 분포로 설정하였습니다.
이 때, 마지막 논문에 있는 참고 사항을 토대로 UAM의 도착 지연시간의 분포가 자유도 6인 카이제곱분포를 갖게끔 설정해주었습니다.

위와 같이 UAM의 도착 지연시간을 최대 15분으로 설정한 후, 1분 간격으로 시간을 구간화 하였고, 분포는 자유도가 6인 카이제곱 분포를 따르도록 설정 후 난수를 발생시켰습니다.
또한 이 난수들은 도착 지연시간의 뜻이 담간 (DT) 컬럼에 할당했습니다.
지연시간(DT) 이외에 해당 UAM 데이터에 내제되어 있는 컬럼으로는 TIME(시간대), PT_ID(비행체 아이디), ETD (도착 지연시간을 포함하여 목적지까지의 소요 예정시간 (분) ) 이 있습니다.
이 때 ETD는 이륙시간(10분) + 착륙시간(5분) + 김포에서 용산까지의 이동시간 (10분) + 도착지연시간 (DT)를 합친 값이며,
이는 UAM 도착 지연시간이 승객의 인내심을 초과할 경우, 해당 승객이 타 교통수단으로 이탈할지 판단하는데에 중요한 요인으로 반영됩니다.

만일 UAM의 도착지연시간이 승객의 인내심을 초과할 때, 해당 승객들이 다른 교통수단으로의 이탈할 수 있는 선택지를 줄 수 있도록 타 교통수단 데이터를 추가하였습니다.
이는 동일노선(“김포공항-용산 노선”)이동 시, 현재 사용되는 대중교통 수단의 데이터를 기반으로 생성했습니다.
본문에 나오는 SubwayA, SubwayB, Bus는 각각 9호선(급)-1호선, 5호선-1호선, 605번 버스의 운행 정보 및 소요시간을 기반으로 한 정보를 담고 있으며, 데이터의 구성은 위와 같습니다.
TIME은 각 시간대를 나타내며, PT_ID(Public Transportation ID)는 교통수단의 종류, ETD(Estimate Time to Destination)는 목적지까지 총 소요되는 이동시간을 나타내고 있습니다.
이 데이터셋에서 확률분포를 가지는 컬럼은 ETA(Estimate Time to Arrival)인데, 이는 해당 교통수단이 승객이 있는 위치까지 오는 데에 소요되는 시간을 의미하며,
배차 간격을 균일 분포로 생성하여 시간대에 따라 UAM을 제외한 타 대중교통 수단의 ETD가 다양한 값을 가지도록 설정해주었습니다.
.png?table=block&id=314eae65-1504-4896-9304-c0857729c600&spaceId=9d00737c-e130-4739-96a0-ece7e7ccce43&width=720&userId=&cache=v2)
지식 그래프는 지식을 구조화하고 표현하기 위한 그래프 데이터 구조의 일종입니다. 지식 그래프는 데이터를 기계가 이해할 수 있는 지식으로 바꿉니다.
기존 데이터 관리 시스템과는 달리 새로운 데이터, 새로운 정의 및 새로운 요구 사항을 쉽게 받아들임으로써 컴퓨터가 인간과 유사한 방식으로 지식을 이해하고 활용할 수 있도록 도와줍니다.
저희는 지식 그래프를 표현하기 위해 Stardog을 사용했습니다.
Stardog는 기업용 지식 그래프 플랫폼으로 지식 그래프를 기반으로 한 응용 프로그램을 구축하고 데이터를 효과적으로 검색, 분석, 시각화하거나 다른 시스템과 통합하는 데 사용됩니다.
저희는 Stardog Designer를 사용해 GUI로 지식 그래프를 간편하게 만들 수 있었습니다.
그리고 Stardog Studio를 통해 쿼리를 실행하였습니다. Stardog 클라우드 서비스를 이용해 지식 그래프 구축 및 쿼리 실행을 웹 브라우저 환경에서 모두 할 수 있었습니다.

이는 시뮬레이션의 기본적인 데이터 흐름을 표현한 그림입니다.
UAM, Passenger(승객), Time(시간대), Bus, Subway의 데이터가 CSV형태로 Stardog에 Import되면, Stardog는 이를 각 클래스에 매핑하여 Sparql 쿼리를 통한 질문에 대한 대답으로 결과를 도출해 냅니다.
그리고 이 결과를 Python을 활용하여 프로젝트의 목표인 UAM 도착 지연 시간과 탑승 및 수속 시간에 따른 이탈률을 분석하였습니다.

저희 팀이 자체적으로 생성한 데이터 셋은 Stardog에 클래스 별로 매핑되고 이 데이터들은 윗 그림과 같이 지식그래프의 아키텍처에 따라 연결됩니다.
시간대인 Time 클래스의 200개 시간대인 T1부터 T200까지의 노드에 각 분포에 따른 4가지 승객 데이터 셋과 UAM, Bus, Subway 데이터가 연결됩니다.
그림의 우측에 있는 Advantage는 UAM의 접근 및 수속시간을 의미합니다.
UAM의 접근 및 수속시간을 UAM을 제외한 교통수단의 도착 예정 시간에서 제외하는 방식으로 진행하기 위해 이름을 Advantage라고 명명하였으며,
UAM 1단계 도입 계획에서 접근 및 수속시간을 14분으로 정한 것을 토대로 0에서 15분까지 1분 간격으로 노드를 생성하였습니다. 이렇게 연결된 데이터들은 시간대를 기준으로 분석이 진행될 것입니다.

하나의 시간대에 도출 되는 승객 이탈률
4가지 종류의 승객 데이터가 UAM, Bus, SubwayA,B 교통수단 데이터와 연결되어 하나의 시간대 당 2,000개의 승객 이탈률에 대한 경험적 분포가 축적됩니다.

이탈 여부 측정 시뮬레이션을 실행 후 얻은 200개의 경험적 분포들을 가중평균을 사용하여 이들을 대표하는 이탈률 값을 도출했습니다.
가중평균을 사용한 이유는 결과의 양 끝으로 극단적인 분포를 형성하고 있는 경우가 많은 것을 확인하게 되어
가중평균으로 대표값을 산출함으로써 각 이탈률에 대한 적절한 가중치를 부여하여 극단 값의 영향력을 상대적으로 줄여주여주기 위함이었습니다.
위 과정을 통해 도출해 낸 대표값들을 독립 변수로 설정한 도착 지연시간과 접근 및 수속시간(Advantage)에 따른 이탈률 추이로 나타내어 이를 관찰하여 분석하는 방식으로 진행하였습니다.

stardog designer로 구축한 지식그래프 모델
저희가 구축한 지식그래프 모델링 결과는 위의 그림과 같습니다.
stardog cloud는 designer, explorer, studio 3가지 서비스를 제공하는데, 이 중 지식그래프 모델링 단계에서는 stardog designer가 사용되었습니다.
해당 서비스는 gui로 구현되어 지식그래프 모델링을 간편하게 해주기 때문입니다.
DT 클래스는 지연 시간별 승객의 데이터 분석을 위해 Flight 클래스의 속성에서 클래스로 분리해주었고,
버스, 지하철, UAM, 승객 클래스가 time 클래스에 연결되어 시간대별 이탈률 추이가 관찰이 가능하게끔 했습니다.
저희가 설정한 쿼리(시간대별 uam의 탑승자 수, 지연시간 별 uam의 탑승자수)를 실행할 수 있게 하기 위해 최소한의 기능만 동작하도록 지식그래프 모델을 구축하였습니다.
.png?table=block&id=950b8137-197d-4587-9477-015a2bcb5dd9&spaceId=9d00737c-e130-4739-96a0-ece7e7ccce43&width=360&userId=&cache=v2)
지식그래프 데이터 매핑 결과
UAM 운행 데이터와 기존 교통수단의 데이터를 지식그래프로 연결하여 유연한 데이터셋 관리를 구현했습니다.
이 모델은 새로운 데이터가 추가되거나 변경되더라도 기존 지식그래프의 관계를 확장하고 수정함으로써 대응할 수 있는 유연성을 갖추게 됐습니다.
그러나 현재 UAM이 아직 상용화되지 않았기 때문에, 임의로 생성한 데이터셋을 활용하여 데이터 분석을 진행하였습니다.
따라서 지식그래프의 장점 중 하나인 새로운 데이터 유연한 적용의 사례를 제대로 경험하기에는 적합하지 않았습니다.
또한, 지식그래프의 강점 중 하나는 방대한 데이터에서 연결을 통해 예상치 못한 관계를 찾아내는 능력입니다.
이런 결과를 얻을 수 있는 분석이었으면 좋았겠지만, 지식그래프를 활용하여 기존 관계형 데이터베이스와는 다르게 데이터를 유연하게 추가하고 수정할 수 있다는 점이 장점으로 작용했습니다.
아래는 저희가 시뮬레이션을 실행할 당시 실행했던 SPARQL 코드입니다.
PREFIX uam: <tag:stardog:designer:uam99:model:>
SELECT (count(?P_ID) as ?cnt) ?PT_ID ?time ?advantage
{
{
SELECT DISTINCT ?P_ID ?T_ID ?time ?PT_ID ?advantage
{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?person a uam:Passenger_df3;
uam:P_ID ?P_ID;
uam:patience ?patience;
uam:passenger_time [
a uam:TIME;
uam:time ?time
].
?uam a uam:Flight;
uam:F_ID ?T_ID;
uam:PT_ID ?PT_ID;
uam:DT ?DT;
uam:Flight_in [
a uam:TIME;
uam:time ?time
].
FILTER(?patience <= ?DT)
}
}UNION{
SELECT ?P_ID ?T_ID ?time ?PT_ID ?advantage
{
{
SELECT DISTINCT ?P_ID ?this_time ?patience
{
?person a uam:Passenger_df3;
uam:P_ID ?P_ID;
uam:patience ?patience;
uam:passenger_time [
a uam:TIME;
uam:time ?this_time
].
?uam a uam:Flight;
uam:DT ?DT;
uam:Flight_in [
a uam:TIME;
uam:time ?this_time
].
FILTER(?patience > ?DT)
}
}
{
SELECT DISTINCT ?min_ETD ?T_ID ?PT_ID ?time ?advantage
{
{
SELECT (MIN(?ETD) as ?min_ETD) ?time ?advantage
WHERE {
?timeClass a uam:TIME;
uam:time ?time.
{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?subway a uam:Subway_operation;
uam:ETD ?ETD1;
uam:Subway_in ?timeClass.
BIND(?ETD1 as ?ETD)
}UNION{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?bus a uam:Bus_operation;
uam:ETD ?ETD2;
uam:Bus_in ?timeClass.
BIND((?ETD2) as ?ETD)
}UNION{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?uam a uam:Flight;
uam:ETD ?ETD3;
uam:Flight_in ?timeClass.
BIND((?ETD3 - 0.1) as ?ETD)
}
}
GROUP BY ?time ?advantage
}
{
?timeClass a uam:TIME;
uam:time ?time.
{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?subway a uam:Subway_operation;
uam:T_ID ?T_ID;
uam:ETD ?ETD1;
uam:subway_operate [
a uam:Subway;
uam:PT_ID ?PT_ID
];
uam:Subway_in ?timeClass.
BIND(?ETD1 as ?ETD)
}UNION{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?bus a uam:Bus_operation;
uam:T_ID_1 ?T_ID;
uam:ETD ?ETD2;
uam:bus_operate [
a uam:Bus;
uam:PT_ID ?PT_ID
];
uam:Bus_in ?timeClass.
BIND(?ETD2 as ?ETD)
}UNION{
?advantageClass a uam:advantage;
uam:advantage ?advantage.
?uam a uam:Flight;
uam:F_ID ?T_ID;
uam:ETD ?ETD3;
uam:UAM_flight [
a uam:UAM;
uam:PT_ID ?PT_ID
];
uam:Flight_in ?timeClass.
BIND((?ETD3 - 0.1) as ?ETD)
}
}
FILTER(?ETD=?min_ETD)
}
GROUP BY ?min_ETD ?T_ID ?PT_ID ?time ?advantage
ORDER BY ?time
}
FILTER(?time = ?this_time)
}
}
}
GROUP BY ?time ?PT_ID ?advantage
ORDER BY ?time ?advantage ?PT_IDDT | exp | Chi_df3 | Chi_df4 | Chi_df6 |
|---|---|---|---|---|
0 | 0.00 | 0.00 | 0.00 | 0.00 |
1 | 0.00 | 0.00 | 0.00 | 0.00 |
2 | 0.00 | 0.00 | 0.00 | 0.00 |
3 | 0.00 | 0.00 | 0.00 | 0.00 |
4 | 0.00 | 0.00 | 0.00 | 0.00 |
5 | 1.29 | 0.49 | 0.22 | 0.03 |
6 | 4.14 | 2.23 | 1.28 | 0.28 |
7 | 5.57 | 3.10 | 1.81 | 0.40 |
8 | 8.89 | 5.13 | 3.05 | 0.70 |
9 | 12.33 | 7.79 | 5.05 | 1.46 |
10 | 12.83 | 8.17 | 5.34 | 1.56 |
11 | 12.83 | 8.17 | 5.34 | 1.56 |
12 | 13.32 | 8.64 | 5.76 | 1.84 |
13 | 13.82 | 9.12 | 6.22 | 2.19 |
14 | 14.82 | 10.11 | 7.17 | 3.00 |
15 | 15.32 | 10.60 | 7.66 | 3.44 |
UAM 접근 및 수속 시간이 0분이라고 가정 했을 경우, 즉 어드밴티지가 0일 때 UAM 도착 지연 시간에 따른 승객의 누적 이탈률을 표로 나타내었습니다.
DT는 지연시간이고 exp는 지수분포, Chi_df는 해당 숫자의 자유도를 가지는 카이제곱 분포입니다.
5분 미만에서는 모든 분포에서 승객의 이탈이 보이지 않았고 최대 도착 지연 시간인 15분의 지연이 발생할 경우 지수분포(exp)에서 15.32%로 가장 높은 이탈률을 보였고
자유도가 6인 카이제곱 분포에서 3.44%로 가장 낮은 이탈률을 보였습니다.
출근시간대 | 일반 시간대 |
|---|---|
|
|
이를 시각화해보았고 출근 시간대에서 8분을 초과하는 시점에 승객 이탈률이 최대로 급증하는 모습을 보였습니다.
또한 5~6분, 7~8분, 13~14분에서 승객 이탈률 상승에 주의해야할 유의구간(최대 상승 구간을 제외한 이탈률 상승 상위 3개 구간)으로 설정하였습니다.
지수 분포의 경우 인내심이 1분 미만인 승객의 비율이 가장 높음에도 불구하고 승객의 5분 미만에서 승객의 이탈이 관찰되지 않았습니다.
일반 시간대에서 자유도가 4인 카이제곱 분포는 8분 초과 시점, 자유도가 6인 카이제곱 분포는 13분 초과 시점에서 승객의 이탈률이 최대로 급증하였습니다.
또한 각각 7~8분, 8~9분을 유의 구간(각 분포에서 두 번째로 높은 이탈률 상승 구간)으로 설정하였고 출근 시간대보다 도착 지연 시간에 따른 승객 이탈률이 유연해진 것을 관찰할 수 있었습니다.
출근 시간대와 일반 시간대 모두 도착 지연 시간이 5분 미만일 때 승객의 이탈이 발생하지 않았으므로
UAM 도착 지연 시간이 5분 미만이 되는 것을 목표로 하고 8분 초과 시점이 모든 분포에서 승객 이탈률 최대 상승 구간 혹은 유의 구간에 포함되므로
도착 지연 시간이 8분을 넘어설 경우를 대비한 승객 이탈 방지 대책이 필요할 것 입니다.
.png?table=block&id=90367425-5f24-4552-a620-b3f74f65276c&spaceId=9d00737c-e130-4739-96a0-ece7e7ccce43&width=720&userId=&cache=v2)
지하철과 버스가 UAM에 비해 상대적으로 접근 및 수속 시간이 짧다는 점을 고려하여 지하철과 버스의 소요 시간에 특정 시간을 빼 주는 방법을 사용하였고
해당 특정 시간을 어드밴티지(Advantage)라고 하였습니다. 위 표는 자유도가 4인 카이제곱 분포 승객 데이터에 어드밴티지를 10분으로 설정한 결과의 일부입니다.
time열을 기준으로 하나의 시간대에서 세 가지 교통수단 중 어떤 교통수단(PT_ID)을 몇 명(cnt)이 선택했는지 알 수 있습니다.
결과를 보았을 때 모든 시간대에서 버스가 보이지 않는 것을 확인할 수 있었습니다.
이는 버스의 소요 시간이 타 교통수단(지하철, UAM)보다 길어 어드밴티지 10분을 부여해도 승객들이 지하철이나 UAM을 선택하는 것을 알 수 있었습니다.
그리고 어드밴티지를 계속해서 증가 시켜도 UAM 이탈 승객들은 버스를 선택하지 않았습니다.
.png?table=block&id=141d0a24-3ceb-4a7e-a2d3-cc933970a7eb&spaceId=9d00737c-e130-4739-96a0-ece7e7ccce43&width=720&userId=&cache=v2)
위 그림은 같은 상황에서 특정 교통수단을 선택한 승객들의 수를 시각화한 것 입니다.
여기서 UAM(PT_ID:A1)을 선택한 승객이 5000명이 넘는 시간대의 비율이 지하철에 비해 훨씬 많은 것을 알 수 있었습니다.
이를 토대로 계산한 승객 이탈률은 24.55%였습니다.
출근 시간대 | 일반 시간대 |
|---|---|
|
|
UAM 도착 지연이 발생하지 않았을 때 각 시간대에서 어드밴티지에 따른 누적 승객 이탈률을 시각화하였습니다.
이를 통해 타 교통수단과의 접근 및 수속 시간 차이(어드밴티지)가 약 4분을 초과할 때 최대 승객 이탈이 발생하는 것을 확인할 수 있었습니다.
또한 출근 시간대보다 일반 시간대에서 승객 이탈률이 더 민감한 반응을 보였습니다.
두 결과를 종합해보면 저희는 승객의 인내심 분포에 따라 승객의 이탈률에 유의미한 차이가 존재하고
모든 시간대에서 도착 지연과 접근 및 수속 시간을 5분 이내로 줄이는 것이 승객의 이탈률 급증을 방지할 수 있음을 알 수 있었습니다.
또한 도착 지연시간이 이탈률 최대 상승 구간인 8분을 넘게 되는 경우를 대비한 승객 이탈 방지 대책이 필요함도 알게되었습니다.
SKT는 미국의 대표적인 UAM 회사인 조비 에비에이션과 전략적 업무협약을 체결하였고, UAM의 상용화를 앞당기기 위해 많은 노력을 하고 있습니다.
SKT는 ICT 기술과 인프라를 보유하고 있기 때문에 UAM에 필요한 통신 기술과 인프라에 우위를 가질 수 있습니다.
이에 따라 티맵과 우버가 합자회사를 만들어 UT라는 택시 서비스를 우리나라에서 출시한 것 처럼 티맵과 조비에비에이션이 새로운 UAM 서비스를 제공할 수 있을 것으로 보입니다.
그리고 티맵의 기존 서비스에 UAM을 통합하여 지상 교통 서비스와 UAM을 통합하여 서비스를 운용하고 고객들에게 제공할 수 있을 것입니다.
저희는 UAM과 지상교통 수단을 통합한 지식그래프 모델을 구축하였고, 시뮬레이션 데이터를 생성해 승객이 UAM의 지연시간이 승객의 교통수단 선택에 어떤 영향을 미치는지 분석하고 예측할수 있었습니다.
향후 UAM의 상용화 이후에 UAM의 운항사로써 역할을 할것으로 기대되는 SK텔레콤은 티맵을 통해 실제 데이터를 얻을 수 있기 때문에
저희가 만든 관측 시뮬레이션 모델을 토대로 승객의 행동을 분석 및 예측을 할 수 있을 것으로 기대됩니다.
이는 승객의 이탈을 방지하는데 도움이 되어 UAM 상용화 초기 승객의 이탈로 인한 손실을 줄이는데에 도움이 될 것이고, UAM의 대중화를 앞당길 수 있을 것입니다.
툴 : stardog , Jupyter notebook
언어 : SPARQL, PYTHON
참고문헌 및 논문 :
Stardog document
네트워크 중심성지표를 이용한 서울 수도권 지하철망 특성 분석 - 이정원, 이강원(2017)
Flight delay causality: Machine learning technique in conjunction with random parameter statistical analysis
-Seyedmirsajad Mokhtarimousavi and Armin Mehrabi(2023)
Automated flight planning of high-density urban air mobility - Tang, H., Zhang, Y., Mohmoodian, V. and Charkhgard, H.(2021)
1차 지연시간 산정 및 분포 추정 방법론 - 김경민, 오세찬(2018)
2040 서울도시기본계획(2022)
한국형 도심항공교통(K-UAM) 기술로드맵
처음에는 UAM이라는 주제가 저희에게 생소했던 만큼 호기심이 컸고 그만큼 프로젝트 수행에 대한 부담과 두려움도 컸습니다.
하지만 팀원 모두 책임감을 가지고 잘 해내었고 멘토님은 저희 생각을 존중해주시면서 좋은 아이디어가 있으면 내용을 좀 더 구체화하는 데에 도움을 주셨고
잘못된 내용이 있으면 구체적인 예시와 피드백을 통해 방향을 올바르게 잡아 주셨습니다.
해당 프로젝트를 하며 다양한 분야에서 활용되는 통계적인 지식과 지식그래프에 대해서 학습할 수 있었고
함께 논문 작성을 작성해보면서 탐구력 또한 증진시킬 수 있었으며, 부족한 점을 보완하여 추계 학부생 학술대회에 참여 예정입니다.
지식그래프로 시뮬레이션을 실행한 결과와 파이썬으로 실행한 승객 이탈률 결과가 같다는 것,
즉 지식그래프를 활용한 시뮬레이션은 성공적이었으나 지식그래프만의 고유한 장점은 잘 부각시키지 못한 점에서 아쉬움이 많이 남습니다.
또한 프로젝트가 끝난 이후, 최근에 수도권 UAM 실증노선이 새로 바뀌게 된 것을 알게되었습니다.
그리하여 추계 학술대회 참여시에는 김포공항 ~ 여의도 혹은 김포공항 ~ 고양 킨텍스를 프로젝트 공간적 배경으로 설정 한 후
UAM 데이터와 타 대중교통 데이터셋을 수정하고 다시 시뮬레이션 및 결론 도출하는 것에 대해 토의 중 입니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.