공공데이터포털 API 인증키를 활용한 정보·데이터과학 프로젝트
이 앱은 시군구별 인구 변화, 청년 인구, 출생률, 사망률 데이터를 분석하여 지역 소멸위험도를 계산하고 10년 후 인구 변화를 예측하는 학습용 웹앱입니다.
| API | 활용 데이터 | 분석 목적 |
|---|---|---|
| 통계청 KOSIS | 인구, 출생률, 사망률, 고령화율 | 장기 인구 추세 분석 |
| 주민등록인구통계 | 시군구별 주민등록 인구 | 지역별 인구 감소 파악 |
| 지방행정인허가 데이터 | 상권, 병원, 학교, 생활시설 | 생활 인프라 변화 분석 |
※ 실제 수업에서는 KOSIS 또는 주민등록인구통계 API에서 연도별 데이터를 받아 이 그래프에 연결합니다.
청년 주거비 지원, 지역 창업 공간, 원격근무 거점센터 조성
소규모 학교 연계형 돌봄센터, 방과후 AI·SW 교육 확대
응급의료, 대중교통, 공공 와이파이, 문화시설 접근성 개선
스마트팜, 지역 데이터센터, 농산물 온라인 유통 플랫폼 구축
청년 유출고령화 심화출생률 감소생활 인프라 축소
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 예시 데이터: 실제 수업에서는 공공데이터 API 결과로 대체
years = list(range(1996, 2027))
population = [42000,41000,39800,39000,38200,37500,36800,36000,35200,34500,
33800,33100,32500,31800,31200,30600,30000,29400,28800,28200,
27600,27100,26600,26200,25800,25500,25200,24900,24600,24300,24000]
df = pd.DataFrame({'year': years, 'population': population})
X = df[['year']]
y = df['population']
model = LinearRegression()
model.fit(X, y)
future_years = pd.DataFrame({'year': list(range(2027, 2037))})
future_pred = model.predict(future_years)
plt.rcParams['font.family'] = 'Malgun Gothic'
plt.rcParams['axes.unicode_minus'] = False
plt.plot(df['year'], df['population'], marker='o', label='실제 인구')
plt.plot(future_years['year'], future_pred, marker='x', linestyle='--', label='예측 인구')
plt.title('지역 인구 변화와 10년 후 예측')
plt.xlabel('연도')
plt.ylabel('인구')
plt.legend()
plt.grid(True)
plt.show()
# 소멸위험지수 = 20~39세 여성 인구 / 65세 이상 인구
young_women = 2300
old_people = 9800
risk_index = young_women / old_people
print('소멸위험지수:', round(risk_index, 3))