💖 Hongsi's Study/📊 통계・공간통계・공간최적화

[공간통계] Getis-Ord Gi*란?

김 홍시 2025. 3. 18.
반응형

Getis-Ord Gi*: 공간 핫스팟(Hotspot) 분석의 핵심 지표

🔥 Getis-Ord Gi*란?

Getis-Ord Gi* 통계량은 **공간적 클러스터링(Hotspot & Coldspot)**을 식별하는 데 사용되는 공간 통계 기법입니다. 특정 공간 내에서 값이 유의미하게 높거나 낮은 지역을 찾고, 이를 통해 **핫스팟(Hotspot)과 콜드스팟(Coldspot)**을 분석하는 데 활용됩니다.

  • 핫스팟(Hotspot): 특정 지역 주변에서 값이 지속적으로 높게 나타나는 경우
  • 콜드스팟(Coldspot): 특정 지역 주변에서 값이 지속적으로 낮게 나타나는 경우

Getis-Ord Gi*는 범죄 데이터, 부동산 시장 분석, 상업시설 밀집도 분석, 공공보건 연구 등 다양한 분야에서 공간적 패턴을 탐색하는 데 활용됩니다.


📌 Getis-Ord Gi* 수식

Getis-Ord Gi* 통계량은 다음과 같은 공식으로 계산됩니다.



  • XjX_j : 위치 jj에서의 관측값
  • wijw_{ij} : 위치 iijj 사이의 공간 가중치
  • Xˉ\bar{X} : 변수 XX의 평균
  • SS : 표준편차
  • nn : 전체 관측값 개수

이 공식은 특정 지역 ii에서 값이 높은 지역이 얼마나 집중되어 있는지를 나타냅니다.


📈 Getis-Ord Gi* 해석

Gi* 값의 해석은 다음과 같습니다:

  • Gi* 값이 +1에 가까울수록핫스팟(Hotspot)
    • 해당 지역과 인접한 지역의 값이 평균보다 높음
    • 예: 강남구 부동산 가격이 주변 지역보다 지속적으로 높다면 강남구는 부동산 핫스팟
  • Gi* 값이 -1에 가까울수록콜드스팟(Coldspot)
    • 해당 지역과 인접한 지역의 값이 평균보다 낮음
    • 예: 특정 지역의 범죄율이 주변보다 현저히 낮다면 해당 지역은 안전한 콜드스팟
  • Gi* 값이 0에 가까울수록공간적 클러스터링 없음 (무작위 분포)

🚀 Getis-Ord Gi* 활용 사례

🏙 1️⃣ 도시 및 부동산 분석

  • 부동산 가격이 특정 지역에서 클러스터링되는지 분석하여 부동산 핫스팟 탐색
  • 상권 내에서 특정 브랜드(예: 스타벅스, 다이소 등)의 출점 패턴을 분석

🔍 2️⃣ 범죄 데이터 분석

  • 범죄율이 높은 지역(핫스팟)과 낮은 지역(콜드스팟)을 시각화하여 범죄 예방 정책 수립
  • 특정 유형의 범죄(예: 절도, 폭력 사건)가 집중된 지역 분석

🏥 3️⃣ 공공보건 및 환경 연구

  • COVID-19 확진자가 특정 지역에서 집중적으로 발생하는지 분석하여 감염병 확산 패턴 예측
  • 대기 오염이 특정 지역에서 심한지(핫스팟) 또는 깨끗한 지역이 어디인지(콜드스팟) 분석

📊 Getis-Ord Gi* Python 분석 예제

Python에서 pysal 라이브러리를 사용하여 Getis-Ord Gi* 값을 계산할 수 있습니다.

import geopandas as gpd
import libpysal as ps
from esda.getisord import G_Local

# 샘플 데이터 불러오기
gdf = gpd.read_file("경기도_부동산_데이터.geojson")

# 공간 가중치 행렬 생성 (Queen's case)
w = ps.weights.Queen.from_dataframe(gdf)
w.transform = 'r'

# Getis-Ord Gi* 계산
g = G_Local(gdf['부동산_가격'], w)

# 결과값을 GeoDataFrame에 추가
gdf['Gi*'] = g.Zs

# 결과 출력
print(gdf[['지역명', 'Gi*']].sort_values(by='Gi*', ascending=False))

위 코드는 부동산 가격을 기준으로 핫스팟과 콜드스팟을 식별하는 예제입니다.

  • Gi* 값이 높을수록 핫스팟,
  • 낮을수록 콜드스팟을 의미합니다.

🗺 결과를 시각화하여 핫스팟을 맵으로 확인할 수도 있습니다.

import matplotlib.pyplot as plt

# 지도 시각화
fig, ax = plt.subplots(1, 1, figsize=(10, 6))
gdf.plot(column='Gi*', cmap='coolwarm', linewidth=0.8, edgecolor='k', legend=True, ax=ax)
plt.title("Getis-Ord Gi* 핫스팟 분석 결과")
plt.show()

🎯 결론

Getis-Ord Gi*는 공간적으로 유의미한 핫스팟과 콜드스팟을 분석하는 강력한 도구입니다.

  • 도시계획, 상권분석, 환경 연구, 공공보건 등 다양한 분야에서 활용 가능
  • 범죄, 부동산, 소비 패턴 등의 공간적 클러스터링을 분석하여 인사이트 도출 가능
  • Moran’s I, Geary’s C와 함께 활용하면 글로벌·로컬 패턴을 동시에 분석 가능

📢 공간 데이터 분석을 통한 핫스팟 탐색, 지금 바로 활용해보세요! 🚀

반응형

댓글