공간 데이터 분석
지리적 위치 정보를 활용한 데이터 분석 방법론 (GIS, 공간 통계, 지오코딩)
개요
공간 데이터 분석(Spatial Data Analysis)은 데이터에 내재된 지리적 패턴과 관계를 발견하고 활용하는 분석 방법론이다. "가까운 것이 먼 것보다 관련이 깊다"(Tobler의 지리학 제1법칙)는 원리를 기반으로, 위치 정보가 포함된 데이터에서 추가적인 인사이트를 도출한다.
공간 데이터 유형
| 유형 |
설명 |
예시 |
| 포인트 |
개별 위치 좌표 |
매장 위치, 범죄 발생 지점 |
| 라인 |
연결된 경로 |
도로, 하천, 배송 경로 |
| 폴리곤 |
면적을 가진 영역 |
행정구역, 상권 경계 |
| 래스터 |
격자 기반 연속 데이터 |
위성 이미지, 고도 지도 |
| 네트워크 |
연결 구조 |
도로망, 배관망 |
핵심 분석 기법
1. 공간 자기상관 분석
Moran's I (전역 자기상관):
| 값 |
해석 |
| I > 0 |
양의 자기상관 (유사한 값이 군집) |
| I = 0 |
무작위 분포 |
| I < 0 |
음의 자기상관 (반대 값이 인접) |
# PySAL 활용 예시
from esda.moran import Moran
import libpysal
w = libpysal.weights.Queen.from_dataframe(gdf)
mi = Moran(gdf['income'], w)
print(f"Moran's I: {mi.I:.4f}, p-value: {mi.p_sim:.4f}")
Local Moran's I (LISA, 국소 자기상관):
| 클러스터 유형 |
의미 |
시각화 색상 |
| High-High |
고값 군집 (핫스팟) |
빨강 |
| Low-Low |
저값 군집 (콜드스팟) |
파랑 |
| High-Low |
고값 이상치 |
분홍 |
| Low-High |
저값 이상치 |
하늘 |
2. 핫스팟 분석
Getis-Ord Gi* (Gi-star):
공간적으로 유의미한 핫스팟/콜드스팟 식별:
| 통계량 |
해석 |
활용 |
| Gi* > 1.96 |
핫스팟 (95% 유의) |
수요 집중 지역 |
| Gi* < -1.96 |
콜드스팟 (95% 유의) |
서비스 공백 지역 |
| -1.96 < Gi* < 1.96 |
유의미하지 않음 |
- |
3. 포인트 패턴 분석
| 기법 |
목적 |
산출물 |
| KDE (Kernel Density) |
밀도 추정 |
히트맵 |
| K-function (Ripley's K) |
군집/분산 패턴 |
거리별 군집 정도 |
| DBSCAN (공간) |
밀도 기반 군집 |
군집 + 이상치 |
| Voronoi/Thiessen |
최근접 영역 분할 |
서비스 구역 |
4. 공간 회귀 분석
일반 회귀(OLS)와의 차이:
| 모델 |
특징 |
사용 시점 |
| OLS |
공간 무시 |
공간 자기상관 없을 때 |
| SLM (Spatial Lag) |
종속변수의 공간 의존성 |
"이웃 효과" 존재 시 |
| SEM (Spatial Error) |
오차항의 공간 상관 |
누락 변수의 공간 패턴 |
| GWR (지리가중회귀) |
위치별 다른 계수 |
관계가 공간적으로 변할 때 |
모델 선택 흐름:
1. OLS 실행 + 잔차의 공간 자기상관 검정
|
+--- 유의하지 않음 ---> OLS 사용
|
+--- 유의함 ---> LM 검정 (Lag vs Error)
|
+--- Lag 유의 ---> SLM
+--- Error 유의 ---> SEM
+--- 둘 다 유의 ---> Robust LM 비교
+--- 관계가 공간적으로 변함 ---> GWR
5. 입지 분석 (Location Analysis)
| 기법 |
목적 |
활용 |
| 허프 모델 (Huff Model) |
상권 매력도 추정 |
매장 입지 선정 |
| p-median |
최적 시설 위치 |
물류센터 배치 |
| Coverage Model |
최대 커버리지 |
응급 서비스 배치 |
| 중력 모델 |
지역 간 상호작용 추정 |
유동인구 예측 |
도구 및 기술 스택
Python 생태계
| 라이브러리 |
용도 |
특징 |
| GeoPandas |
공간 데이터 처리 |
Pandas + 기하 연산 |
| PySAL |
공간 통계 |
Moran's I, LISA, 공간 회귀 |
| Shapely |
기하 연산 |
포인트, 폴리곤 연산 |
| Folium |
인터랙티브 지도 |
Leaflet.js 기반 |
| Rasterio |
래스터 데이터 |
위성 이미지, DEM |
| OSMnx |
네트워크 분석 |
OpenStreetMap 기반 |
| H3 |
헥사곤 인덱싱 |
Uber H3 격자 |
좌표계
| 좌표계 |
EPSG |
용도 |
| WGS84 (경위도) |
4326 |
글로벌 표준, GPS |
| UTM 52N |
32652 |
한국 (거리 계산 시) |
| KATEC |
- |
한국 (구) |
| GRS80 (중부원점) |
5174 |
한국 공공데이터 |
| Web Mercator |
3857 |
웹 지도 (타일) |
주의: 거리/면적 계산 시 반드시 투영 좌표계(UTM 등) 사용. 경위도(4326)로 거리 계산하면 오류 발생.
비즈니스 적용 사례
리테일: 상권 분석
1. 데이터 수집
- 유동인구 (SKT, KT 빅데이터)
- 업종별 매장 (소상공인시장진흥공단)
- 매출 데이터 (카드사)
- 인구통계 (통계청)
2. 분석
- 핫스팟: 유동인구 밀집 + 매출 높은 지역
- 경쟁 분석: 동종 업종 밀도, 포화도
- 허프 모델: 후보지 매력도 추정
- GWR: 지역별 매출 결정 요인 차이
3. 의사결정
- 최적 입지 후보 3곳 + 근거
- 예상 매출 추정
- 리스크 요인 (경쟁, 임대료)
물류: 배송 최적화
| 분석 |
기법 |
효과 |
| 물류센터 배치 |
p-median 최적화 |
평균 배송 거리 최소화 |
| 배송 구역 설정 |
Voronoi + 밸런싱 |
기사별 균등 배분 |
| 경로 최적화 |
TSP/VRP |
배송 시간/비용 절감 |
| 수요 예측 |
공간-시계열 모델 |
지역별 물량 예측 |
부동산: 가격 분석
| 분석 |
기법 |
인사이트 |
| 가격 군집 |
LISA |
고가/저가 지역 식별 |
| 가격 결정 요인 |
GWR |
지역별 상이한 가격 동인 |
| 접근성 분석 |
네트워크 거리 |
지하철, 학교, 병원 접근성 |
| 개발 영향 분석 |
DiD + 공간 |
신규 인프라가 주변 가격에 미치는 영향 |
공공: 도시 계획
| 분석 |
기법 |
활용 |
| 범죄 핫스팟 |
KDE + Gi* |
순찰 배치 최적화 |
| 대기질 매핑 |
공간 보간 (크리깅) |
오염원 식별, 정책 수립 |
| 의료 접근성 |
2SFCA |
의료 취약지 식별 |
| 인구 변화 |
시공간 클러스터링 |
축소 도시 예측 |
한국 공공 공간 데이터 소스
| 소스 |
데이터 |
URL |
| 국가공간정보포털 |
행정구역, 용도지역 |
nsdi.go.kr |
| 공공데이터포털 |
다양한 공간 데이터 |
data.go.kr |
| SGIS (통계지리정보서비스) |
인구, 가구, 사업체 |
sgis.kostat.go.kr |
| V-World |
3D 지도, 건물 |
vworld.kr |
| 국토정보플랫폼 |
지적도, 토지이용 |
map.ngii.go.kr |
| 소상공인시장진흥공단 |
상권 정보 |
sg.sbiz.or.kr |
체크리스트
- [ ] 좌표계 통일 확인 (EPSG 코드)
- [ ] 공간 자기상관 검정 (OLS 잔차)
- [ ] 적절한 공간 가중치 행렬 선택 (Queen/Rook/KNN/Distance)
- [ ] MAUP 문제 인식 (집계 단위에 따른 결과 변화)
- [ ] 경계 효과 (Edge Effect) 고려
- [ ] 시각화 시 적절한 분류 방법 (자연분류, 분위수 등)
참고
- Anselin, L. (1995). "Local Indicators of Spatial Association - LISA"
- Tobler, W. (1970). "A Computer Movie Simulating Urban Growth in the Detroit Region"
- PySAL Documentation: https://pysal.org/
- GeoPandas Documentation: https://geopandas.org/
최종 업데이트: 2026-03-18