수소충전소 입지선정, 데이터로 풀어본 기술적 접근
이번 글에서는 제가 진행한 수소충전소 입지선정 프로젝트에서 기술적으로 어떤 접근을 했는지 정리해보려 합니다.
많은 분들이 궁금해하는 부분이 바로 “어떤 데이터를 어떻게 넣어서, 어떤 알고리즘으로 돌렸냐” 라는 거니까요.
1. 변수 설계 (Feature Engineering)
입지 선정에서 중요한 건 “무슨 기준으로 최적지를 뽑을 것인가”입니다.
저는 크게 수요 요인 + 공급/운영 요인으로 나눴습니다.
-
수요 요인
- 교통량 (도로별 일평균 교통량, 물류량)
- 인구 밀도 (거주/직장 인구)
- 차량 등록 수 (수소차 + 전체 자동차 대비 비율)
-
공급/운영 요인
- 기존 충전소와의 거리 (경쟁/보완 관계 고려)
- 토지/부지 제약 (도심 vs 외곽 가용성)
- 환경 정책/탄소 배출 지표
이 변수들을 표준화(Standardization) 처리한 뒤, 가중치를 조정해 다차원 벡터 형태로 변환했습니다.
2. K-means 기반 클러스터링
최적 입지를 뽑는 데 단순 회귀모델보다는, 군집화(Clustering) 접근이 효과적이라고 판단했습니다.
그래서 K-means 알고리즘을 사용했습니다.
- 각 후보 지역을 위에서 정의한 변수 벡터로 표현
- K-means로 지역들을 군집화
- 각 클러스터의 중심(centroid)이 “잠재적 최적 입지 그룹”
3. 최적 클러스터 수 선택
K-means의 난관은 K값을 몇으로 두느냐죠.
저는 두 가지 방법을 병행했습니다.
- Elbow Method – WCSS(Within Cluster Sum of Squares) 그래프를 그려 기울기가 꺾이는 지점 확인
- Silhouette Score – 클러스터 간 거리 대비 응집도를 수치화해서 최대값을 주는 K 선택
이 과정을 통해, 단순히 “적당히 5개쯤?” 하는 게 아니라, 데이터적으로 타당한 클러스터 수를 설정할 수 있었습니다.
4. Soft Ranking (점수 기반 랭킹)
K-means 결과만으로 “여기가 최적지다!”라고 딱 잘라 말하기는 어렵습니다.
그래서 저는 soft ranking 방식을 적용했습니다.
- 각 변수마다 가중치(예: 교통량 0.4, 인구밀도 0.3, 차량수 0.2, 환경 0.1) 부여
- 후보 입지의 점수를 가중합(Weighted Sum) 으로 계산
- 클러스터링 결과와 점수를 결합해, “클러스터 내 우수 입지 순위”를 매김
이 방식 덕분에 단순히 군집에 속했는지 여부가 아니라,
그 안에서도 어느 지역이 상대적으로 더 유망한지까지 뽑아낼 수 있었습니다.
5. 결과 & 활용
최종적으로는
- “전국적으로 몇 개 클러스터(핵심 입지권역)”
- “각 클러스터 안에서 가장 유망한 후보지 TOP N”
이렇게 정리할 수 있었습니다.
운영자 입장에서는 “당장 투자해야 할 우선순위”와 “중장기적으로 고려할 후보지”를 동시에 확인할 수 있었죠.
마무리
정리하면, 제가 입지선정에서 진행한 기술적 접근은
- 변수 설계 (수요 + 공급/운영)
- K-means 클러스터링
- 최적 K 찾기 (Elbow, Silhouette)
- Soft Ranking (가중치 기반 점수화)
- 우선순위 후보지 도출