모연 매거진 · MOYEON

경기도 연령 격차, 시군 사이보다 시군 «안»이 더 크다

우리는 「도 단위 평균이 가린다」고 세 번 썼다. 셋 다 관측 단위가 시군이었으니, 그 다음 물음 — 「그럼 시군 평균은 무엇을 가리는가」 — 은 한 번도 답한 적이 없다. 경기 읍면동 604곳으로 내려가 재 보니, 읍면동 연령 비중의 분산 가운데 시군 «안»의 몫이 71.7%였다. 동마다 한 표씩 주면 62.2%로 내려가지만, 어느 쪽이든 시군 «사이»보다 크다.

3호 ·
01

우리는 같은 말을 세 번 했다

「경기도 여성 생산연령은 늘었다 — 15개 시군에서는 줄었다」(브리프 01). 「경기도 인구는 늘었다. 시군 10곳은 줄었다」(브리프 08). 「0~4세가 줄었다가 정반대 두 일을 한 칸에 넣고 있었다」(2호). 세 번 모두 도 단위 하나의 숫자가 그 아래를 덮는다는 말이었다.

셋 다 관측 단위가 시군 31곳이었다. 그래서 그 다음 칸은 비어 있었다 — 시군 평균은 무엇을 덮는가. 시군보다 아래를 본 적이 없으니 답할 자료가 없었다.

이 호는 경기 읍면동 604곳(2011년에는 543곳)으로 내려간다. 원자료는 185,460행이고, 분석표로 줄이기까지 무엇을 버렸는지는 저장소의 정제 이력에 남겼다.

02

「덮는다」를 재는 방법

덮인 양은 나눌 수 있다. 어떤 동네의 값이 경기 평균에서 벗어난 정도는 「그 시군 평균에서 벗어난 몫」「그 시군 평균이 경기 평균에서 벗어난 몫」의 합이고, 제곱해 더하면 교차항이 사라져 정확한 항등식이 된다.

전체 분산 = 시군 간 분산 + 시군 내 분산. 사람 수로 가중하고, 값은 그 동네의 청년(20~34세) 또는 노년(65세 이상) 비중이다. 이건 추정이 아니라 산술이라 검정이 필요 없다 — 주민등록은 전수이고, 두 항의 합은 전체와 소수점 열넷째 자리까지 일치한다.

그리고 이 계산은 시군 자료로는 할 수 없다. 시군마다 값이 하나뿐이면 「시군 내」 항이 아예 만들어지지 않는다. 우리가 세 번 쓰고도 재지 못한 이유가 그것이다.

03

시군 «안»이 더 크다

2025년 경기 읍면동의 청년 비중은 인구가중 평균 18.7%이고, 전체 분산 13.17 가운데 시군 간이 3.73, 시군 내가 9.44다. 시군 내가 차지한 몫은 71.7%다.

노년 비중도 같다. 시군 간 12.91, 시군 내 31.60 — 시군 내가 71.0%다.

전체 분산 가운데 시군 간이 차지한 몫은 청년 28.3%, 노년 29.0%다. 나머지는 시군 «안»의 분산이다. 2011년에도 그랬다(시군 내 청년 75.7% · 노년 64.3%).
⛔ 이 값은 분산의 몫이지 «설명력»이나 «예측력»이 아니다. 회귀나 분산분석을 한 것이 아니므로 「시군을 알면 얼마나 맞힐 수 있는가」로 옮겨 읽으면 안 된다.

04

잣대를 바꿔도 결론이 서는가

이 값은 사람 수로 가중한 것이다. 「무작위로 고른 경기도민이 사는 동네」를 묻는 셈이다. 대신 동네마다 한 표씩 주면 질문이 달라진다 — 「무작위로 고른 읍면동」이 된다.

동 1표로 재면 청년 62.2%, 노년 59.3%다. 인구가중보다 9~12%p 낮다. 왜 낮아지는지는 이 글이 말하지 않는다 — 동네 크기별 기여도를 따로 재지 않았다.

그래도 결론은 같은 쪽에 선다. 어느 잣대로 재도 시군 «안»이 절반을 넘는다. 이 글이 주장하는 것은 거기까지이고, 「4분의 3」처럼 큰 수를 제목에 쓰지 않는 것도 그 때문이다.

표본을 바꿔도 본다. 15년 내내 존재한 448개 동만으로 다시 내면 2025년 청년 67.3%, 노년 71.9%다.

05

「격차가 벌어졌다」는 말을 쓰지 않는 이유

읍면동 노년 비중의 분산은 2011년 12.35에서 2025년 44.51가 됐다. 3.60배다. 여기서 「고령화가 지역 격차를 벌렸다」고 쓰고 싶어진다.

쓰지 않는다. 같은 기간 노년 비중의 평균 자체가 8.98% 에서 17.73% 로 두 배가 됐다. 0에서 100 사이에 갇힌 비율은 평균이 가운데로 올수록 분산이 커질 여지가 저절로 늘어난다. 분산 3.60배 가운데 얼마가 「격차」이고 얼마가 「평균 이동」인지 이 값만으로는 가르지 못한다.

척도를 바꾸면 답이 갈린다. 평균 대비로 재는 변이계수는 0.391에서 0.376로 오히려 줄었고, 유계성을 걷어낸 로짓 척도로는 0.1460.2221.52배 늘었다. 원척도는 3배 넘게, 로짓은 1.5배, 평균 대비로는 감소 — 세 척도가 세 방향을 가리킨다.

그래서 이 글은 값만 적는다 — 노년 비중의 가중 표준편차가 3.51pp 에서 6.67pp 로 늘었다. 이 문장을 적는 이유는 「그래서 격차가 벌어졌다」로 잇기 위해서가 아니라, 절대 척도에서는 늘었고 상대 척도에서는 아니라는 «불일치» 자체를 보이기 위해서다. 「격차가 벌어졌다」는 척도를 고르지 않고는 할 수 없는 말이고, 이 자료에는 그 척도를 고를 근거가 없다.

06

그래서 무엇이 달라지나

시군 하나를 「청년 도시」나 「고령 도시」로 부르는 것은 그 시군의 읍면동을 하나의 값으로 요약하는 일이다. 그 요약이 담지 못하는 몫이 이 글이 잰 값이다 — 2025년 청년 71.7%, 노년 71.0%(인구가중 기준).

⛔ 이 글은 「그래서 시군 단위 정책이 틀렸다」고 쓰지 않는다. 잰 것은 숫자가 흩어진 모양이지, 정책이 그것을 보고 있는지가 아니다. 시군이 동별로 무엇을 어떻게 배분하는지는 이 자료 밖에 있다.

⛔ 그리고 시군 안의 그 분산이 어디에 몰려 있는지도 모른다. 몇 개 동에 쏠려 있다면 「시군 평균이 대부분의 동을 잘 기술한다」가 여전히 참일 수 있다. 그것을 가르려면 이웃 관계와 쏠림을 재야 하는데 이 호는 하지 않았다.

말할 수 있는 것은 하나다 — 읍면동 연령 비중의 분산은 시군 «사이»보다 시군 «안»에 더 많이 있다. 그 값은 어느 가중을 쓰든 절반을 넘고, 원자료는 공개돼 있다.

이 글이 한 주장과, 그것을 받치는 계산
  1. 분포

    시군 평균 하나가 읍면동 사이의 차이를 덮는다

    덮인 양을 값으로 낸다. 2025년 청년 비중의 전체 분산 13.17pp² 가운데 시군 간은 3.73, 시군 내는 9.44이고 시군 내 몫은 71.7%다. 개수를 세는 것으로는 이 말을 받칠 수 없어 분산으로 냈다. 가중을 동 1표로 바꾸면 62.2%로 내려가므로, 그래서 제목에 「4분의 3」 같은 큰 수를 쓰지 않고 「시군 사이보다 시군 안이 크다」까지만 말한다.

    N04퍼짐N06N07N08N05견고성

  2. 구성

    노년 비중에서도 시군 내가 더 큰 몫을 차지한다

    시군 간 12.91 ↔ 시군 내 31.60로 시군 내 몫이 71.0%다. 동 1표로 재면 59.3%로 내려가지만 여전히 절반을 넘는다.

    N09N11N12N10견고성

번호는 이 글의 수치대장 행이다. 회색 꼬리표는 그 값이 맡은 역할을 뜻한다.

이 글의 약점과, 그 약점의 크기
  1. 결론이 선다? 모른다

    15년 내내 존재한 동이 448곳(60%)뿐이라 해마다 표본이 다르다

    448곳만으로 다시 내면 2025년 청년 67.3% · 노년 71.9%, 2011년 청년 78.0% 다. 전체 표본과 견주어 청년은 4.41%p 내려가고 노년은 0.94%p 올라가지만 «시군 내가 더 크다»는 결론은 어느 쪽에서도 유지된다.

    N25N26N27

  2. 결론을 좁혔다▼ 내려간다

    결과가 가중 선택에 걸려 있다 — 인구가중이냐 동 1표냐

    동 1표로 재면 청년 62.2% · 노년 59.3% 로 9~12%p 내려간다. 그래서 제목의 「4분의 3」은 인구가중일 때의 값이라고 본문에 밝히고, 두 값을 나란히 실었다. 「어느 잣대로도 절반을 넘는다」까지만 주장한다.

    N05N10

  3. 결론을 좁혔다▲ 올라간다

    0~100 사이의 비율은 평균이 오르면 분산이 기계적으로 커진다

    노년 분산은 3.60배가 됐지만 변이계수는 0.391 → 0.376 로 오히려 줄었고 로짓 분산은 1.52배다. 그래서 「격차가 벌어졌다」를 쓰지 않고 표준편차 값만 적었다. 이 지적은 외부 심사에서 나왔고 우리 초안의 핵심 문장 하나를 폐기시켰다.

    N21N22N23N24

  4. 말하지 않는다? 모른다

    행정동 코드가 유지돼도 경계가 같았다는 보장이 없다

    경계 변경 이력을 담은 표를 이 자료에서 얻을 수 없다. 코드가 같으면 같은 구역이라고 «가정»했고, 그 가정이 깨지면 연도 간 비교가 흔들린다. 그래서 이 글은 연도별 값을 나란히 놓기만 하고 «변화의 크기»를 주장하지 않는다.

  5. 말하지 않는다? 모른다

    시군 안 격차가 몇 군데에 몰려 있는지 모른다 (공간 자기상관 미검토)

    읍면동 경계 파일이 없어 이웃 관계를 만들 수 없었다. 「시군 내가 크다」와 「시군 안이 고르게 갈렸다」는 다른 말인데 후자는 이 호에서 확인하지 못했다. 다음 호의 과제로 남긴다.

  6. 말하지 않는다? 모른다

    분산 분해는 인과가 아니다 — 왜 갈렸는지는 이 자료에 없다

    설명변수가 하나도 없다. 이 표는 인구를 연령으로 나눈 것이 전부라 주택·일자리·대학 같은 것을 붙이지 않았다. 그래서 이 글은 「갈렸다」까지만 쓰고 「무엇 때문에」로 넘어가지 않는다.

  7. 결론이 선다? 모른다

    청년을 20~34세로 잡아 청년기본법(19~34세)과 한 칸 어긋난다

    이 표가 5세 단위라 19세를 자를 수 없다. 정의를 15~34 · 20~39 · 25~39 로 바꿔 다시 계산해도 시군내몫은 69.8~74.6% 범위에 머물렀고(2025 인구가중), 본문에 실은 값 71.7% 는 그 안에 있다. 구간을 어떻게 잡아도 결론이 뒤집히지 않는다.

    N04N14

  8. 말하지 않는다? 모른다

    이것은 지역의 값이지 사람의 값이 아니다

    관측 단위가 읍면동이라 「어느 동네 사람이 어떻다」로 옮겨 읽으면 생태학적 오류다. 개인의 상태나 이동을 이 자료로 말할 수 없어, 본문에서 사람을 주어로 쓰지 않았다.

  9. 결론을 좁혔다? 모른다

    시군내몫을 원척도 비중에서만 냈다 — 척도 의존성

    로짓 척도의 «분산»은 냈지만(0.146 → 0.222) 로짓에서의 시군내몫은 본문에 싣지 않았다. 그래서 「71%」는 원척도에서의 값이라고만 말하고, 척도를 바꿔도 같은 몫이 나온다고 주장하지 않는다.

    N23N24

  10. 말하지 않는다? 모른다

    공간 단위를 어떻게 나누느냐에 따라 시군 간·내 몫이 달라진다(가변 공간 단위 문제)

    읍면동은 행정이 그어 준 구획이지 우리가 고른 단위가 아니다. 더 잘게 쪼개면 시군 내 몫은 더 커지는 것이 보통이라, 이 값을 «지역 격차의 절대적 크기»로 읽으면 안 된다. 이 글은 「시군보다 아래에 더 있다」까지만 말한다.

  11. 결론을 좁혔다? 모른다

    신설·폐지된 동이 무작위가 아닐 수 있다 — 생존 편향

    15년 내내 존재한 동은 448곳(60%)이고 나머지는 생기거나 사라졌다. 새로 생긴 동이 택지개발지에 몰려 있다면 균형 패널은 젊은 동을 덜 담는다. 그래서 연도 간 «변화»를 주장하지 않고 각 해의 값을 나란히 놓기만 했다.

    N47N49

보정하지 않은 것을 적기만 하지 않고, 보정하면 결론이 얼마나 흔들리는지를 값으로 냈습니다 — 11건 중 6건에 수치를 댔습니다. 번호는 이 글의 수치대장 행입니다.

그래서

읍면동 연령 비중의 분산은 시군 «사이»보다 시군 «안»에 더 많이 있다 — 인구가중으로 71%, 동 1표로 59~62%다. 시군 하나를 한 값으로 요약하면 그 몫이 요약에 담기지 않는다. 다만 이것은 분산의 몫이지 설명력이 아니고, 그 분산이 어디에 몰려 있는지는 이 호가 답하지 못했다.

데이터 · 한계
출처
통계청 KOSIS · 주민등록인구현황 「행정구역(읍면동)별/5세별 주민등록인구(2011년~)」 DT_1B04005N (orgId 101 · itmId T2 총인구수 · 각 연 12월 기준). 지역 코드 41(경기) 하위 행정동 747곳 · 5세 연령 21구간 · 2011~2025년. 원자료 185,460행을 2026-08-30 에 받았다. 받는 코드(`자료/읍면동_받기.py`) · 정제 코드(`analysis/prep.py`) · 정제 이력(`analysis/정제이력.json`) · 분석표를 저장소에 함께 공개한다.
한계
① 15년 내내 존재한 행정동은 448곳으로 전체의 60%다. 그 사이 204곳이 새로 생기고 143곳이 사라져 해마다 표본이 다르다. ② 행정동 코드가 유지돼도 경계가 같았다는 보장은 없다 — 이 자료로는 확인할 수 없다. ③ 결과가 가중 선택에 걸려 있다: 인구가중 71.7% ↔ 동 1표 62.2%. ④ 0~100 사이에 갇힌 비율의 분산은 평균이 오르면 기계적으로 커진다 — 그래서 표준편차·변이계수·로짓 분산을 함께 실었다. ⑤ 분산 분해는 인과가 아니다. 「시군 안이 갈렸다」는 관측이지 원인이 아니며, 왜 갈렸는지는 이 자료에 없다. ⑥ 청년을 20~34세로 잡아 청년기본법(19~34세)과 한 칸 어긋난다 — 이 표가 5세 단위라 19세를 자를 수 없다. ⑦ 이것은 지역의 값이지 사람의 값이 아니다. 「어느 동네 사람이 어떻다」는 개인 수준 주장을 이 자료로 할 수 없다. ⑧ 공간 자기상관을 보지 않았다 — 경계 파일이 없어 「시군 내 격차가 몇 군데에 몰려 있는지」는 이 호에서 답하지 못한다. ⑨ 척도 의존성 — 시군내몫은 «원척도 비중»에서만 냈다. 로짓 등 다른 척도에서도 같은 몫이 나오는지 확인하지 않았다. ⑩ 공간 단위 선택 — 어떤 크기로 지역을 나누느냐에 따라 시군 간·내 몫은 달라진다(가변 공간 단위 문제). 읍면동은 주어진 구획이지 우리가 고른 최적 단위가 아니다. ⑪ 신설·폐지 동이 무작위가 아닐 수 있다 — 새로 생긴 동이 대개 택지개발지라면 표본 변동이 한쪽으로 치우쳐 연도 간 비교를 흔든다. 균형 448 로 대조했지만 그 448 자체가 «살아남은» 동들이다.
이 호의 모든 수치는 발행 전 데이터 검증 관문을 통과했습니다. 본문 수치는 전부 수치대장에 등록되고, 인용 수치는 원문에서 직접 확인한 위치가 기록된 것만 싣습니다.
모연 · 모두의 문제 연구소 · 전체 발행물