NumTerra
제19회 / 30편 3부 신호 읽기
우리 동네가 먼저 안다/3부 신호 읽기/제19회

차량마다 다른 조건, 정규화의 문제

2026-08-11 · 읽는 데 9분

같은 자로 재기

앞 편의 선별을 통과한 데이터가 모였다고 하자. 이제 그것들을 겹쳐서 비교해야 한다.

그런데 겹치려면 조건이 있다. 같은 자로 재야 한다.

서로 다른 차, 다른 속도, 다른 타이어, 다른 거치 상태로 측정한 값들을 그냥 평균하면 의미가 없다. 미터와 인치로 잰 값을 평균하는 것과 같다.

정규화란 이 값들을 공통 기준으로 환산하는 일이다. 그리고 17편에서 말했듯 이것이 반복 관측 전략의 전제 조건이다.

무엇이 다른가

값을 흔들어대는 요인을 정리하면 대략 네 층이다.

① 속도. 가장 크게 영향을 준다. 같은 요철을 빠르게 지나면 충격이 크고 짧게, 느리게 지나면 작고 길게 나타난다. 주파수 성분의 위치도 속도에 따라 이동한다.

② 차량. 서스펜션, 무게, 타이어. 17편의 시스템 지문이다.

③ 거치. 폰이 어떻게 고정되어 있는가. 매번 다를 수 있다.

④ 그날의 조건. 노면이 젖었는지, 기온이 어떤지, 짐을 실었는지.

층마다 다른 방식으로 다뤄야 한다.

속도: 시간이 아니라 거리로

속도 문제의 해법은 관점을 바꾸는 것이다.

우리는 지금까지 신호를 시간축에서 봤다. 초당 몇 번 흔들리는지. 그런데 도로의 성질은 시간이 아니라 공간에 있다. 요철은 “몇 미터 간격으로 반복되는가”의 문제다.

같은 요철 패턴을 시속 20km로 지나면 천천히 흔들리고, 시속 60km로 지나면 세 배 빠르게 흔들린다. 시간축에서 보면 완전히 다른 신호로 보인다.

그런데 거리축으로 바꾸면 같아진다. “미터당 몇 번 반복되는지”로 표현하면 속도와 무관해진다.

실제로 하는 일은 이렇다. 신호를 등시간 간격이 아니라 등거리 간격으로 재배열한다. 속도 기록을 이용해 “이 측정은 출발점에서 몇 미터 지점”인지 계산하고, 그 축으로 다시 늘어놓는다.

이러면 시속 20km로 지난 데이터와 60km로 지난 데이터를 겹칠 수 있다.

다만 완전하지는 않다. 속도가 바뀌면 차량 시스템의 응답 자체도 조금 달라지고, 타이어와 노면의 상호작용도 달라진다. 거리축 변환은 기하학적 차이만 없애고 물리적 차이는 남긴다. 그래서 속도 범위를 좁게 제한하는 관문(18편)이 여전히 필요하다.

차량: 자기 자신과 비교하기

차량 지문을 다루는 방법으로 17편에서 되짚기를 이야기했다. 그런데 그건 완전히 되지 않는다.

그래서 실제로 쓰는 더 단순하고 강건한 방법이 있다. 절대값을 쓰지 않고, 같은 기기 안에서의 상대값만 쓴다.

구체적으로는 이렇다. 어떤 사용자의 특정 구간 측정값을, 그 사용자가 같은 날 지난 다른 구간들의 값과 비교한다.

“이 사람의 오늘 주행에서, 이 구간의 값이 전체 평균 대비 얼마나 높은가”

이러면 차량 지문이 거의 사라진다. 왜냐하면 그 지문은 모든 구간에 똑같이 실려 있고, 상대 비교에서 상쇄되기 때문이다.

같은 원리로 그날의 조건도 상쇄된다. 비가 와서 전체적으로 값이 높아졌다면, 상대값에서는 영향이 줄어든다.

이 방법의 장점은 차량 모델을 몰라도 된다는 것이다. 서스펜션 특성을 추정하지 않아도, 그 특성이 상쇄된다.

단점도 있다. 전체가 나쁜 도로만 다니는 사람은 이상을 못 잡는다. 기준이 되는 “평소”가 이미 나쁘기 때문이다. 그리고 짧은 주행에서는 비교할 다른 구간이 부족하다.

거치: 분류하고 무게를 다르게

거치 상태는 되짚기도 상대화도 어렵다. 매번 바뀔 수 있기 때문이다.

그래서 접근이 다르다. 상태를 추정해서 분류하고, 신뢰할 수 없는 상태는 배제하거나 무게를 낮춘다.

거치 상태는 신호의 성격에서 어느 정도 추정할 수 있다. 단단히 고정된 폰은 차체와 함께 움직이므로 신호가 깔끔하고, 느슨하게 놓인 폰은 자기 나름의 덜컹거림이 섞여 특정 대역에 이상한 성분이 생긴다.

이걸 판단해서 등급을 매긴다. 그리고 낮은 등급의 데이터는 무게를 낮춘다.

여기서 흥미로운 순환이 있다. 사용자가 항상 같은 거치대를 쓴다면, 그 사람의 거치 상태는 사실상 차량 지문의 일부가 된다. 그러면 위의 상대 비교로 함께 상쇄된다.

일관성이 있으면 다룰 수 있다. 문제가 되는 것은 매번 달라지는 경우다. 그래서 거치 상태의 변화를 감지하는 것이 실제 작업이 된다.

정규화의 한계를 인정하기

이 편의 방법들을 다 적용해도 남는 것이 있다.

정규화는 오차를 줄이지만 없애지 못한다. 그리고 없애지 못한 부분은 다시 반복으로 처리한다. 이 프로젝트에서 계속 나오는 구조다.

대응 남는 문제
속도 거리축 변환 물리적 차이는 남음
차량 자기 대비 상대값 전체가 나쁜 경우 무력
거치 분류 후 가중 판단이 부정확할 수 있음
날씨 그날 전체 기준 조정 국지적 차이 미반영

이 표의 오른쪽 열을 보면 우리 방법이 왜 판정이 아니라 우선순위인지 다시 확인된다. 각 단계가 부분적으로만 성공하고, 그 불완전함이 누적된다.

그런데 이 불완전함을 이용할 수도 있다

여기서 관점을 하나 뒤집어 보자.

지금까지 정규화를 “차이를 없애는 일”로 다뤘다. 그런데 다르게 볼 수도 있다.

서로 다른 조건에서 얻은 데이터가 같은 결론을 낸다면, 그게 더 강한 근거다.

승용차와 SUV가, 빠른 속도와 느린 속도가, 거치대와 컵홀더가 모두 같은 지점에서 이상을 가리킨다면 — 그 이상은 측정 조건이 아니라 도로에서 온 것이다.

이건 2부에서 나온 논리와 정확히 같다. 흩어지는 것과 모이는 것. 조건이 다양할수록, 그 다양함을 뚫고 남는 신호는 더 신뢰할 만하다.

그러니 조건의 다양성은 극복해야 할 장애물이기만 한 것이 아니다. 잘 다루면 검증 도구가 된다.

다음 편에서 그 겹침을 실제로 어떻게 하는지 다룬다.


다음 편 예고 — 같은 지점을 수백 번 지나간다는 것. 반복 측정이 정밀도를 만드는 원리와, 그것이 실제로 얼마나 도움이 되는지.

연재 안내

「우리 동네가 먼저 안다」는 5부 30편으로 이어집니다. 지금 읽은 글은 3부 신호 읽기의 6번째(전체 제19회)입니다.

연재 전체 목차 펼쳐보기
1부

왜 못 잡았나

1~6회
  1. 01그 도로는 어제도 멀쩡했다읽는 데 8분
  2. 02도로를 재는 기술은 이미 오래됐다, 그런데 왜읽는 데 9분
  3. 03포트홀과 싱크홀은 다른 문제다읽는 데 8분
  4. 04표면이 아니라 아래에서 일어나는 일읽는 데 8분
  5. 05공동은 어떻게 자라는가읽는 데 9분
  6. 06비용·주기·깊이 — 기존 방식의 삼중 한계읽는 데 8분
2부

사람이 먼저

1단계7~13회
  1. 07매일 그 길을 지나는 사람읽는 데 8분
  2. 08\"쿵\" 하는 그 순간, 무슨 일이 일어났나읽는 데 9분
  3. 09느낌을 데이터로 바꾸기 — 신고 버튼의 설계읽는 데 9분
  4. 10동네에 깃발을 꽂다읽는 데 8분
  5. 11한 사람의 착각, 백 사람의 확신읽는 데 9분
  6. 12위키는 어떻게 틀린 정보를 걸러내는가읽는 데 9분
  7. 13누구의 신고를 믿을 것인가 — 신뢰 점수읽는 데 9분
3부

신호 읽기

14~21회
  1. 14진동은 무엇을 말하는가읽는 데 9분
  2. 15주머니 속 가속도계라는 센서읽는 데 9분
  3. 16시간을 주파수로 — 푸리에 변환읽는 데 10분
  4. 17라플라스 변환과 시스템의 응답읽는 데 9분
  5. 18가다서다 — 도심 주행이라는 소음읽는 데 9분
  6. 19차량마다 다른 조건, 정규화의 문제지금 읽는 중
  7. 20같은 지점을 수백 번 지나간다는 것읽는 데 9분
  8. 21미약한 신호를 건져 올리는 법읽는 데 9분
4부

physical AI

2단계22~27회
  1. 22드문 재난을 어떻게 학습하는가읽는 데 9분
  2. 23시뮬레이션으로 데이터를 만든다읽는 데 9분
  3. 24physical AI란 무엇인가읽는 데 9분
  4. 25사람의 '물컹함'을 기계에 가르치기읽는 데 10분
  5. 26사람의 신고와 기계의 신호가 만나면읽는 데 9분
  6. 27오경보와 놓침 사이 — 임계값의 윤리읽는 데 9분
5부

도시로

28~30회
  1. 28위험 지도를 그리다읽는 데 9분
  2. 29NumTerra 해부 — 앱과 데이터 파이프라인읽는 데 9분
  3. 30스스로 감지하는 도시읽는 데 9분