Executive Summary

휴대폰 위치 데이터로 사람들의 이동을 추정할 때 표본이 인구를 대표하지 않는다는 지적은 오래됐고, 대응도 정해져 있었습니다. 나이나 소득 구성을 인구총조사에 맞춰 가중치를 주는 것입니다. 9월 1일 arXiv에 올라온 논문은 그 보정을 마친 표본을 시간사용조사 옆에 나란히 놓아 봤습니다. 인구 구성은 맞았는데, 하루를 어떻게 보내는지의 분포는 여전히 어긋나 있었습니다.

연구진이 제안한 BePop 보정은 인구 구성과 행동 분포를 함께 맞추는 2단 가중입니다. 이 방식은 시간사용조사와의 거리를 평균 9.71% 좁혔고, 인구통계만 보정한 표본과 견주어도 10.44%만큼 더 가까웠습니다. 다만 모든 항목이 함께 개선되지는 않았습니다. 활동 전환 항목은 0.65%에 95% 신뢰구간 ±2.21로, 사실상 움직이지 않았습니다. 저자들도 어떤 임베딩 하나가 모든 행동 지표를 동시에 최적화하지는 못한다고 밝혀 두었습니다.

논문이 다룬 것은 이동성 연구를 위한 보정 방법론입니다. 이 글은 거기서 한 걸음 옮겨, 데이터 품질을 판정하는 검사 항목 쪽에서 같은 질문을 던집니다. 뒤쪽 5절의 대응은 논문의 발견이 아니라 이 글의 읽기입니다.

주요 수치

출처: Girardini, Kan 외, Behavioral calibration of mobile-phone GPS data for population-representative analyses, arXiv:2609.01042(2026-09-01)

9.71%

행동 분포 거리 감소

미보정 표본 대비 시간사용조사와의 옌센-섀넌 거리. 세 항목 평균

10.44%

인구통계만 보정한 것 대비

나이·소득만 맞춘 표본과 견준 추가 개선분. 훅의 직접 근거

17.00%

이동 모티프 개선

보정에 쓴 임베딩에 들어 있지 않았는데도 함께 좁혀진 항목

23.99%

뉴욕 업무 동시위치 증가

팬데믹 선언 이전 구간. 보정하면 추정치가 이만큼 올라갑니다

1

인구 가중치는 하루의 모양에 손대지 않는다

휴대폰에서 나온 위치 기록은 확률 표본이 아닙니다. 스마트폰을 얼마나 쓰는지, 위치 공유에 동의하는지가 사람마다 다르니 고령층과 저소득 지역, 특정 지역이 체계적으로 덜 잡힙니다. 이 문제를 다루는 표준적인 방법은 사후층화입니다. 표본에서 각 집단이 차지하는 몫과 인구총조사가 말하는 몫을 견주어, 덜 잡힌 집단에 더 큰 가중치를 주는 것입니다.

논문이 짚는 자리는 그 보정이 손대지 않는 곳입니다. 인구 구성을 맞추는 일과 사람들이 하루를 어떻게 쓰는지를 맞추는 일은 같지 않습니다. 같은 연령대, 같은 소득 구간 안에서도 기기를 늘 켜 두고 다니는 사람과 집에 두는 사람의 하루는 다르게 기록됩니다. 저자들이 Discussion에 적은 문장이 이 대목을 그대로 말합니다.

휴대폰 표본의 인구 구성을 인구총조사에 맞춘 뒤에도 활동 패턴의 체계적인 불일치는 남아 있을 수 있습니다.

논문 Discussion. 원문은 Even after aligning the demographic composition of the mobile phone sample with census populations, systematic discrepancies in activity patterns might remain · arXiv:2609.01042

확인에 쓰인 데이터는 세 도시권의 GPS 기록입니다. 피닉스 약 14만 명, 보스턴 약 9만 6천 명, 뉴욕 약 52만 7천 명이고, 전처리를 마친 뒤의 수입니다. 익명 공유에 동의한 사용자에게서 모은 것으로 GDPR과 CCPA를 따르며, 제공처는 Cuebiq의 Data for Good 프로그램입니다. 관측 기간은 2020년 1월부터 6월까지이고, 행동 프로파일을 만드는 데는 팬데믹 이전인 1~2월 자료만 썼습니다.

한 가지는 미리 분명히 해 둘 필요가 있습니다. 이 연구가 인구총조사에 맞춘 변수는 나이와 소득 두 가지입니다. 성별은 쓰이지 않았습니다. 게다가 휴대폰 기록에는 사용자의 나이도 소득도 적혀 있지 않으므로, 추정한 거주지가 속한 인구조사 블록그룹의 분포를 보고 확률적으로 배정했습니다. 나이는 18~24세, 25~44세, 45~66세, 67세 이상 네 구간으로, 소득은 도시권별 소득 분포의 사분위로 나눴습니다. 곱하면 계층은 열여섯 개입니다. 인구 구성을 맞췄다는 말은 이 정도 해상도에서 맞췄다는 뜻입니다.

2

하루를 48칸으로 쪼개고 기준표를 둘 두었다

행동이 어긋났다고 말하려면 무엇과 견줄지부터 정해야 합니다. 연구진은 기준표를 둘 두었습니다. 인구 구성 쪽은 미국 인구총조사의 American Community Survey이고, 행동 쪽은 24시간 활동일지를 받는 전국 대표 표본 조사인 American Time Use Survey입니다. 후자는 2004년부터 2019년까지의 기록을 세 도시권별로 뽑아 썼고, 표본은 피닉스 약 2천 명, 보스턴 약 2천 6백 명, 뉴욕 약 9천 명입니다.

문제는 설문 응답과 GPS 기록이 서로 다른 언어로 적혀 있다는 점입니다. 그래서 양쪽을 같은 형식으로 옮겼습니다. 하루를 30분씩 48칸으로 나누고, 각 칸에 그 시간대의 주된 활동을 하나씩 적습니다. 활동 범주는 집, 직장, 관심지점(POI), 미상 네 가지입니다. GPS에서 체류 지점 사이의 이동 시간은 미상으로 두고, 설문에서 이동으로 분류된 활동도 같은 이유로 미상에 넣었습니다. 집과 직장은 야간과 주중 낮의 반복 패턴에서 추정하고, 나머지 체류 지점은 인근 OpenStreetMap 관심지점과 연결해 분류했습니다. 민감한 장소는 제외했습니다.

이렇게 만든 시간사용조사 시퀀스를 임베딩 공간에 넣고 코사인 거리로 묶으면 행동 프로파일이 나옵니다. 이 연구가 잡은 개수는 넷입니다. 휴대폰 쪽에서는 사용자마다 2020년 1월 3일부터 2월 29일 사이의 하루를 무작위로 골랐고, 그렇게 모인 약 76만 사용자-하루가 보정에 들어갔습니다. 각 하루를 프로파일에 붙이는 기준은 가장 가까운 시간사용조사 이웃 10개 가운데 절반 이상이 같은 프로파일에 속하는지입니다. 조건을 못 채우거나, 해당 프로파일 중심으로부터의 거리가 상위 1%에 들 만큼 멀면 어디에도 배정하지 않습니다.

가중치는 두 단으로 붙습니다. 먼저 나이와 소득으로 나눈 계층 d의 비중을 인구총조사에 맞추는 계수가 있고, 그다음 그 계층 안에서 행동 프로파일 b의 비중을 시간사용조사에 맞추는 계수가 붙습니다. 행동 목표치를 전체가 아니라 계층별 조건부로 잡은 것은 집단마다 다른 생활 리듬을 평평하게 뭉개지 않기 위해서입니다. 목표치를 낼 때 시간사용조사 쪽에는 노동통계국이 제공하는 응답자 가중치를 함께 반영했습니다. 마지막에 표본 크기를 모집단 크기로 늘리는 배율을 곱하므로, 완성된 가중치 하나는 그 사용자-하루가 모집단에서 몇 명을 대신하는지로 읽힙니다.

BePop이 사용자-하루별 가중치를 만드는 두 단계 계층 보정과 행동 프로파일 보정을 곱해 최종 가중치를 만든다 1단 · 인구 계층 가중 (계층 d = 나이×소득, 16개) u_d = 인구총조사 비중 n_d ÷ 표본 비중 m_d 사용자를 나이·소득 계층에 배정하고, 계층 표본 비중을 인구총조사에 맞추는 배율을 구한다 2단 · 행동 프로파일 가중 (계층 d 안에서, 프로파일 b = 4개) v_d,b = 시간사용조사 비중 n_b|d ÷ 표본 비중 m_b|d 같은 계층 안에서 표본의 행동 프로파일 비중을 시간사용조사에 맞추는 배율을 구한다 최종 가중치 w_d,b = 표본 확대 배율 × u_d × v_d,b 이 값 하나가 그 사용자-하루가 모집단에서 대신하는 인원수로 읽힌다
▲ 페블러스 원본 도식 (Fig. 1 재해석) | 출처: arXiv:2609.01042 Section 2 방법론

어디에도 배정되지 않은 하루는 가중치 0을 받고 빠집니다. 저자들이 흥미롭게 본 것은 이 잔여물의 정체였습니다. 열어 보니 대부분 품질이 낮은 궤적이거나 집·직장·관심지점이 잘못 붙은 기록이었습니다. 행동 프로파일에 계속 안 붙는다는 사실 자체가 품질 신호로 쓰인 셈입니다.

3

인구만 맞춘 표본과 무엇이 달랐나

평가 지표는 두 분포 사이의 옌센-섀넌 거리입니다. 값이 작을수록 휴대폰 표본의 행동 분포가 시간사용조사에 가깝습니다. 비교 대상은 네 갈래로 나뉩니다. 활동별 시간 배분, 시퀀스의 구조 지표, 활동 범주 사이의 전환 비율, 그리고 하루 활동을 방향 그래프로 요약한 이동 모티프입니다. 구조 지표는 넷인데, 전환이 양쪽으로 오갔는지를 보는 왕복성, 하루에 나타난 활동 가짓수, 칸이 바뀌는 빈도인 전환율, 활동 구성의 다양성을 재는 정규화 엔트로피입니다. 앞의 세 갈래는 보정용 임베딩을 만들 때 쓴 항목이고, 모티프는 쓰지 않은 항목입니다. 모티프 비교는 시간사용조사에서 가장 흔한 상위 여섯 개를 대상으로 했습니다. 모든 값은 도시권마다 50회 부트스트랩으로 냈습니다.

BePop 보정이 줄인 시간사용조사와의 옌센-섀넌 거리 미보정 표본 대비 감소율, 3개 도시권 부트스트랩 평균 시간 배분 14.80% 구조 지표 13.69% 활동 전환 0.65% 신뢰구간 ±2.21로 사실상 제자리 이동 모티프 17.00% 위 세 항목은 보정용 임베딩을 만들 때 쓴 것이고, 그 평균이 논문이 보고한 9.71%입니다. 이동 모티프는 임베딩에 들어 있지 않은 항목인데도 함께 좁혀졌습니다. 나이·소득만 보정한 표본과 견주면 전체 10.44%, 모티프 17.10%만큼 더 가깝습니다.
▲ 페블러스 원본 도식 | 출처: arXiv:2609.01042 본문의 보고값

시간 배분이 14.80%, 구조 지표가 13.69%, 활동 전환이 0.65% 좁혀졌고 세 값의 평균이 9.71%입니다. 세 값을 같은 무게로 읽을 수는 없습니다.

활동 전환은 95% 신뢰구간이 ±2.21이라 총합으로는 개선이 있었다고 말하기 어렵습니다. 다만 논문이 전환 항목을 범주 쌍별로 그려 놓은 대목의 진술은 조금 다릅니다. 거의 모든 전환 범주에서 시간사용조사 분포로 가까워졌다는 것입니다. 항목마다 조금씩 좁혀졌으나 하나의 수로 합치면 신뢰구간 안에 묻히는 크기였다고 읽는 편이 정확합니다. 보정 전부터 이미 잘 맞아 있던 항목은 따로 있습니다. 구조 지표 넷 가운데 왕복성과 전환율이 그랬고, 그래서 13.69%라는 값은 사실상 활동 가짓수와 엔트로피가 끌어올린 수치입니다.

반대편에 모티프가 있습니다. 보정용 임베딩에 넣지 않은 항목인데도 17.00% 좁혀졌습니다. 저자들은 이것을 이 방법이 특정 지표에 맞춰 과적합된 것이 아니라는 근거로 읽습니다.

이 글의 제목과 직결되는 숫자는 그다음입니다. 비교 대상을 미보정 표본이 아니라 나이와 소득만 맞춘 표본으로 바꿔도 격차가 남습니다. BePop이 전체에서 10.44%, 모티프에서 17.10%만큼 시간사용조사에 더 가까웠습니다. 인구 구성을 맞춰 놓은 표본에도 아직 이만큼의 행동 어긋남이 남아 있었다는 뜻입니다.

저자들은 여기서 유보를 함께 답니다. 어떤 행동 차원이 잘 맞춰지는지는 임베딩을 어떻게 설계했느냐에 달려 있고, 모든 행동 지표를 동시에 최적화하는 단일 임베딩은 없다는 것입니다. 목표로 삼은 차원에는 그 차원용 임베딩이 늘 가장 잘 맞았습니다.

4

어긋남은 이동 반경과 동시위치로 흘러간다

분포가 조금 어긋난 게 실제로 무슨 차이를 만드느냐는 질문이 남습니다. 연구진은 이동성 연구에서 흔히 쓰는 지표 두 개를 골라 보정 전후를 나란히 그렸습니다. 하나는 하루 이동 반경이고, 다른 하나는 업무 지역에서 일어난 동시위치 횟수입니다. 뒤엣것은 대면 상호작용의 대리 지표로 쓰입니다. 관측 구간은 2020년 3월 11일 세계보건기구 팬데믹 선언을 사이에 둔 앞뒤입니다. 목적은 팬데믹의 인과 효과를 재는 것이 아니라고 저자들은 미리 못 박아 둡니다. 보정이 종단 추정치를 얼마나 움직이는지만 보겠다는 뜻입니다.

두 지표는 방향이 서로 반대로 움직였습니다. 이동 반경은 보정하면 낮아지고, 업무 동시위치는 팬데믹 이전 구간에서 높아집니다.

보정이 추정치를 바꾼 폭 피닉스 보스턴 뉴욕 3개 도시
이동 반경, 팬데믹 선언 이전 -9.03% -6.74% -14.29% -10.02%
이동 반경, 봉쇄 기간 -7.78% -5.18% -11.86% -8.27%
업무 동시위치, 팬데믹 선언 이전 +2.32% +3.78% +23.99% +10.03%
업무 동시위치, 봉쇄 기간 -1.69% +0.20% +17.95% +5.49%

미보정 추정치 대비 BePop 보정 추정치의 변화율. 각 값의 95% 신뢰구간은 부트스트랩으로 계산됐고, 폭은 이동 반경에서 ±1.79~2.28, 업무 동시위치에서 ±0.86~3.17입니다. 출처: arXiv:2609.01042.

이동 반경부터 보면, 보정된 추정치는 두 구간 모두에서 미보정 추정치보다 낮게 나옵니다. 보정하지 않은 표본은 사람들의 이동량을 실제보다 크게 잡고 있었습니다. 두 방식 모두 팬데믹 이후의 이동 위축은 비슷하게 잡아내지만, 위축이 시작되는 높이가 다릅니다.

업무 동시위치는 더 까다롭습니다. 팬데믹 선언 이전에는 보정된 추정치가 세 도시 평균 10.03% 높습니다. 선언 이후 두 곡선은 빠르게 내려가 비슷한 수준으로 수렴합니다. 봉쇄 기간의 변화율이 피닉스에서 -1.69%, 보스턴에서 +0.20%로 거의 0에 붙는 것이 그래서입니다. 논문이 여기서 끌어내는 결론은 수렴 자체가 아니라 그 결과입니다. 보정된 곡선은 더 높은 기저에서 출발해 비슷한 바닥으로 내려오므로, 업무 관련 상호작용의 상대적 감소폭을 더 크게 추정하게 됩니다. 보정하지 않은 원자료로만 보면 팬데믹이 대면 접촉을 얼마나 줄였는지가 실제보다 작게 잡힙니다.

저자들은 이것을 한쪽 방향의 교훈으로 정리하지 않습니다. 보정은 지표의 수준과 그 지표가 시간에 따라 변한 폭을 모두 바꿀 수 있고, 어떤 지표를 보느냐에 따라 미보정 데이터는 변화를 과소추정할 수도 과대추정할 수도 있다고 덧붙입니다.

4.1이 값을 얼마나 믿을 수 있나

종단 분석에는 가정이 하나 깔려 있습니다. 무작위로 고른 하루에서 뽑은 행동 프로파일이 그 사람의 지속적인 행동을 어느 정도 대표한다는 것입니다. 연구진은 이 가정을 두 층위에서 확인했습니다.

기준일 프로파일, 얼마나 안정적으로 유지되나 (피닉스) 개인 수준과 집단 수준, 두 층위에서 확인한 값 개인 · 지배 프로파일 비중 70%+ 개인 · 재분류 미배정 비율 10% 미만 집단 · 팬데믹 이전 거리 감소 9.70% 신뢰구간 ±0.61 기준일 프로파일을 고정해도, 팬데믹 뒤 가중 분포는 별도 수집한 5~8월 표본과 같은 방향으로 이동했다. 위 두 값은 개인 재분류 결과이고, 9.70%는 집단 전체의 시간사용조사 정합도다.
▲ 페블러스 원본 도식 (Fig. 3 재해석) | 출처: arXiv:2609.01042 개인·집단 수준 안정성 확인

한 사람을 놓고 보면 답이 단순합니다. 여러 관측일을 다시 분류해 보니 가장 자주 나오는 프로파일이 평균 70% 넘는 날을 차지했습니다. 날마다 다시 분류할 때 어디에도 안 붙는 하루의 비율도 팬데믹 전후 모두 10% 아래였습니다.

집단 수준에서는 절차가 한 겹 더 붙습니다. 사용자마다 기준일 프로파일은 고정해 두고, 날마다 관측된 시퀀스에서 프로파일을 다시 추론한 뒤 고정 프로파일로 계산한 그날의 가중치로 합칩니다. 피닉스에서 그렇게 얻은 분포는 팬데믹 이전 시간사용조사 기준과의 거리가 미보정 대비 9.70% 줄었습니다. 신뢰구간은 ±0.61입니다. 주중과 주말 사이의 오르내림은 남았는데, 기준으로 삼은 시간사용조사가 주중 일지와 주말 일지를 함께 담고 있으니 예상된 움직임이라고 저자들은 풀이합니다. 팬데믹 선언 뒤에는 가중된 분포가 이전 구성에서 멀어졌고, 그 이동 방향은 2020년 5~8월에 따로 수집된 시간사용조사 표본이 보여 준 변화와 같았습니다. 기준일 프로파일을 못 박아 두었는데도, 가중된 집단은 실제 행동이 바뀌자 따라 움직였습니다.

다만 팬데믹 기간의 시간사용조사 표본은 매우 작았습니다. 피닉스의 경우 51명입니다. 그 구간에서 잰 거리 감소는 0.64%였고 신뢰구간이 ±3.86이었습니다. 표준오차가 커서 개선 효과가 팬데믹 기간에도 유지되는지를 이 데이터로는 판정할 수 없고, 그래서 그 대목은 정확한 검증이 아니라 외적 일관성의 증거로 읽어야 한다고 저자들이 직접 선을 그어 두었습니다. 행동이 급변하는 시기에는 기준일 프로파일의 지속성 가정 자체가 흔들린다는 점도 한계로 적혀 있습니다.

종단 분석의 대상도 3월 11일 이전과 이후에 모두 관측된 사용자로 한정했습니다. 패널이 통째로 빠져나가면서 표본 구성이 바뀌는 것을 막으려는 조치입니다. 그렇게 하면 끝까지 남은 사용자들만 모인 집단이 되므로 생존 편향이 들어올 수 있다는 점도 저자들이 한계로 함께 달아 두었습니다.

5

우리 검사 항목에는 무엇의 분포가 있는가

여기까지가 논문입니다. 데이터 품질을 다루는 쪽에서 읽으면 낯선 이야기가 아닙니다. 우리가 데이터셋을 판정할 때 세는 것은 대개 결측률, 중복률, 스키마 준수, 값 범위 위반입니다. 모두 열이 제대로 채워졌는지를 보는 검사입니다. 분포를 보는 항목이 있더라도 보통은 열 하나의 분포, 그러니까 연령대 비율이 모집단과 비슷한가 정도에서 멈춥니다.

이 논문이 얹는 축은 그 옆자리입니다. 각 행이 형식을 지켰는지가 아니라, 행들이 모여 만든 행동의 모양이 기준 모집단과 같은가를 묻습니다. 시간 배분, 활동 전환, 하루 활동의 모티프는 셀 하나를 봐서는 나오지 않고 시퀀스 전체를 봐야 나오는 값입니다. 그리고 어긋나 있어도 형식 검사에는 아무 흔적을 남기지 않습니다. 결측도 없고 중복도 없고 스키마도 지켜진 데이터가 하류 지표를 10% 넘게 밀어 놓을 수 있다는 것이 4절의 표입니다.

논문이 남긴 물음 가운데 셋은 그대로 가져올 수 있습니다. 아래 대응은 논문이 주장한 것이 아니라 이 글의 읽기입니다.

  • 우리 검사 항목이 분포를 본다면, 그것은 무엇의 분포인가. 열의 분포인가, 아니면 한 사람의 하루나 한 건의 처리 흐름 같은 시퀀스의 분포인가.
  • 비교 대상이 되는 기준 분포가 있는가. 이 논문이 시간사용조사를 끌어온 것처럼, 우리 데이터가 대표해야 할 모집단을 따로 정의한 문서가 있는가.
  • 분포를 맞춘다면 전체에서 맞추는가, 집단 안에서 맞추는가. BePop이 행동 목표치를 계층별 조건부로 잡은 이유는 집단마다 다른 리듬을 평평하게 만들지 않기 위해서였습니다.

빌려 올 것이 하나 더 있습니다. 매칭 실패를 다루는 방식입니다. 이 논문에서 어떤 행동 프로파일에도 붙지 않은 하루는 버려진 데이터가 아니라 품질 신호였습니다. 궤적이 성기거나 집·직장이 잘못 붙은 기록이 거기 모였습니다. 우리 파이프라인에서 어떤 기준 분포에도 안 붙는 레코드는 지금 어디로 가고 있는지, 그것들이 한곳에 쌓여 있기는 한지 한번 물어볼 일입니다.

논문의 마지막 문장도 같은 방향을 가리킵니다. 행동 대표성을 데이터 품질을 평가하는 보완적 기준으로 삼고, 행동 보정을 휴대폰 데이터 분석의 기본 절차로 넣자는 것입니다. 이동성 연구에서 나온 제안이지만, 어떤 데이터를 AI-Ready라고 부를지 정하는 자리에도 그대로 놓아 볼 수 있는 문장입니다.

Editor's Note

페블러스가 데이터 품질을 진단할 때 자주 마주치는 상황도 이와 닮았습니다. 형식 검사를 모두 통과한 데이터셋인데 모델이 특정 구간에서만 무너지는 경우입니다. 이 논문이 잰 것은 이동 데이터지만, 셀 수는 있으나 대개 세지 않는 항목이 무엇인지를 구체적인 숫자로 보여 준다는 점에서 다른 도메인에서도 읽을 값이 있습니다. 구현은 github.com/unchitta/mob-calibrate에 오픈소스로 공개돼 있습니다.

R

참고문헌

  • 1.Girardini, N. A., Kan, U., López, E., Lepri, B., Lucchini, L., & Centellegher, S. (2026). Behavioral calibration of mobile-phone GPS data for population-representative analyses. arXiv:2609.01042