확인 중 데이터를 읽는 중

수집 간격과 노선별 응답을 확인하고 있다.

이 화면은 2026-08-19부터 A18 하나만 본다 — 예측 시점 그 차량의 잔여석을 조건으로 받아 12정류장 앞까지 도착 좌석 분포를 내는 모델이다. 지난 후보 일곱의 점수·비교·순위는 이 화면에서만 뺐다. 기록을 지운 것이 아니라 모델 현황판과 일일 평가 API의 이력에 그대로 있다. 같은 결정으로 일곱의 일일 채점은 2026-08-19 평가일까지다.

—대 지금 운행
--:--:-- 마지막 응답 · KST
관전 화면 노선 지도 — 현재 운행 예보와 평가를 한 화면에서 본다 3330·1650 두 노선의 정류장과 운행 차량을 한 화면에 그리는 LIVE 단일 관전 화면이다. GET /api/v1/routes/{routeId}/board · GET /api/v1/routes/{routeId}/vehicles · GET /api/v1/evaluations?route={routeId} · GET /api/v1/evaluations/summary?route={routeId} 응답만 읽는다. 이 관전 API 응답은 dataMode가 LIVE일 때만 화면에 반영하며, freshness는 FRESH 또는 STALE이고, sourceObservedAt·servedAt·snapshotId로 어느 시점의 자료인지 보여준다. 위 A18 운영 현황은 이와 다른 집계 계약인 schema_version=1.1.0· mode=live·현재 generated_at·정확히 두 노선 1650/3330을 검증한다. 어느 계약이든 장애가 나면 다른 자료로 fallback하지 않고 화면에 stale 또는 error를 표시한다.

공개 범위. 차량번호 capability가 제공될 때 번호판의 끝 4자리만 /live/watch의 화면 글자와 접근 가능한 이름에 표시하며, 확인할 수 없으면 “차량번호 확인 안 됨”으로 닫는다. 원 식별자는 브라우저를 포함한 어떤 storage나 log에도 남기지 않는다. 이 LIVE 집계 화면과 공개 모델·평가 aggregate artifact, DB evidence payload에도 원 식별자를 싣지 않는다. 데이터 출처: 경기도 경기버스정보(GBIS) 공공데이터 Open API · 공공데이터포털 경기도 버스위치정보 조회 (무료·이용허락범위 제한 없음 표시).

—

계획 대비 수집

—건

학습 라벨

—

좌석 제공

—

응답 p95

A18 · 오고 있는 그 버스

지평 1~12 · 승차 정류장만 채점 · 2026-08-23 완료일까지 검증

seat-distribution-a18-v1+314f44df · 노선 2 · 8/14~8/23 말뭉치 · 평가일 9일 · 승차 정류장만 채점 · 원장 horizon-20260823-fc607dfe162610ec · 출처 모델 상세 「지평 1~12 전부의 성적」

12정류장서빙 지평 상한 · 확정
26.7분지평 12 중앙 소요
84.8% · 90.4%8/22 커버율 · 하루 전체 / 운행시간
35.6배만석 구분 · 무작위 대비

지평별 성적을 그리는 중

지평 열둘이 전부 운영 범위다. 서빙 계약이 1~12정류장을 약속하고, 지평마다 따로 적합한 별개 모델이다. 종합 점수는 0~100이고 50점이 기준선이다 — 채점일보다 이른 학습일의 만석률만 그대로 내미는 예측(기후값)이 50점이다. 표본이 지평마다 다르다. 목표 정류장 뒤로 그만큼의 관측 이력이 필요해 멀수록 줄어든다 — 지평끼리 점수를 서로 빼면 안 된다. 채점 대상은 승차 정류장뿐이다. 지평별 기저율은 1.22~1.32%이고, 지평 12 채점 표본은 93,183개·그중 만석 1,226건이다. 지평은 시간이 아니라 노선 순번 차이다. 중간의 경유 지점도 한 칸으로 센다. 지평 12의 중앙 소요는 26.7분이다. 2026-08-20 확률 맞춤 눈금을 교정했다. 시간대별 편향을 먼저 재면서 정보가 없는 상수 예보의 보상과 먼 지평의 가짜 반등이 사라졌다. v1과 v2 점수는 서로 비교하지 않는다. 지평 산출물은 private_internal_only라 공개 API에는 내지 않는다. 이 열두 줄은 8/21 원천 이상 레코드 4건을 격리하고 schema 검증한 aggregate-only 원장을 정적으로 옮긴 값이다. 운영 범위와 채점 범위는 일치한다. evaluation-v6은 지평 1~12를 전부 채점하고, 점수 정책은 composite-score-v2다.

지평 12에서 끊은 이유

커버율과 만석 구분의 맞바꿈 · 1~12 성능은 8/23 최신 · 커버율은 8/22 측정 · 지평 16은 기존 기각 이력

지평별 커버율과 만석 구분 능력의 맞바꿈
지평 중앙 소요 커버율
하루 전체 · 운행시간
만석 구분 무작위 대비 판정
8정류장 16.8분 78.0% · 83.7% 0.575 45.0배 보고 기준
12정류장 26.7분 84.8% · 90.4% 0.468 35.6배 서빙 상한 · 채택
16정류장 36.0분 85.7% · 91.0% 0.333 24.0배 기각 · 8/19 이력 · 서빙 제외

커버율은 시간대에 따라 다르다

지평 12 기준
84.8%하루 전체 · 심야 포함
90.4%운행 시간대 06~23시 · 두 노선 합산
98.92 · 99.05%순번 13 이상 · 1650 · 3330
24.47 · 41.85%순번 12 이하 · 1650 · 3330
14.0%순번 12 이하 승차 정류장 비중
143곳커버율 분모의 승차 정류장

커버율은 실제 운행 기록으로 계산했다 — 아무 순간이나 잡아 노선의 승차 정류장을 훑고, 그 정류장 뒤 지평 안에 같은 운행의 버스가 실제로 있던 비율이다. 이 고정 표의 분모는 스냅샷 30,928개 × 승차 정류장 143곳이고, 버스가 한 대도 안 잡힌 스냅샷도 미커버로 센다. 분자에는 경유 지점에 있는 버스도 담는다 — 그 버스도 곧 다음 승차 정류장에 오기 때문이다. 노선 앞머리(순번 12 이하의 승차 정류장 20곳, 전체의 14.0%)에서는 거슬러 올라가 볼 정류장이 순번−1개뿐이라 커버율이 절반 아래로 떨어진다. 이 구간은 지평을 늘려서 메울 수 없다. 한 바퀴 돌아 오는 차량은 실제 다음 도착을 보장하지 않으므로 담지 않는다. 과거 랩어라운드 증분은 v6로 다시 재지 않아 현재값으로 노출하지 않는다.

지평 12를 고른 근거는 종합 점수가 아니다

8정류장 → 12정류장
−5.6v2 종합 75.6 → 70.0
−0.107만석 구분 0.575 → 0.468
+6.73%p커버율 78.0% → 84.8%

8/23 완료일 평가에서 8→12는 다섯 구성 항목이 모두 내려가 종합이 −5.6점이다. 12를 고른 근거는 이 점수가 아니라 위 표의 커버율과 만석 구분이다. 8→12 는 하루 전체 커버율을 6.73%p 얻고 최신 만석 구분은 18.6% 낮아진다. 지평 16은 이번 운영 계약과 평가 범위에 없으므로 새 점수처럼 섞지 않고 8/19 기각 이력으로만 남긴다. 커버율은 모델 추정치가 아니라 운행 기하에서 나오는 값이라 만석 표본 크기에 흔들리지 않는다. 위 표의 무작위 대비 열은 지평을 고르는 근거로 쓰지 않는다 — 기저율을 분모로 삼는 값이라 만석이 드물수록 커지고, 순위 능력과 따로 움직인다.

A18이 못 보는 것

센서가 잔여좌석 하나뿐이라는 사실에서 온다

A18이 관측하지 못하는 값과 그 대응
못 보는 것 어떻게 하나 성격
도착 예정 시각 축을 시간이 아니라 정류장 수로 잡는다 회피
정류장 대기 인원 셀 이력 · 통과 구간 수요 합 · 이웃 폴백 대체
만석일 때의 초과 수요 연속 만석 대수 · 직전 차량 · 당일 절편 보정 추정
승차와 하차의 분리 쪼개지 않고 순변화만 모델링한다 재정의
실제 정원의 근거 정원을 열로 · 정원 대비 비율 구간 · 지지집합 사영 부분 완화

남는 한계

대응해도 못 메우는 자리

아래 수치는 8/20까지의 설계 진단 표본이다. 8/23 최신 운영 성적표와 날짜 창이 달라 성능값으로 직접 비교하지 않는다.

179건지평 1 구간에서 새로 만석이 된 사건
76.4%만석 도착 759건 중 이미 만석이던 비율
57.1%한 구간 좌석 변화가 0인 비율
0.6%만석 구간 169개 중 혼잡도가 변한 것
6 · 12연속 만석 구간 · 중앙 · 최대 정류장
36석이 자료에서 가장 낮은 정원 · 관측 138행

좌석이 0이면 몇 명이 더 타려 했는지 관측값은 계속 0이다. 그동안 못 탄 사람은 전부 정류장에 남지만 그 수를 셀 방법이 없다. 승차와 하차도 가를 수 없다 — 첨두 15초 관측에서 정류장 정차 중 좌석을 세 번 이상 확인하는 경우가 63.1%인데도 좌석이 늘었다 줄어드는 모양은 0.55%뿐이다. 앞문 승차와 뒷문 하차가 동시에 일어나기 때문이다. 그래서 A18은 관측 불가능한 값을 억지로 쪼개는 대신 순변화만 모델링한다. 하차 우세 정류장에서는 음수가 정상값이다.

수집이 끊기면 예보가 끊긴다

위 수집 절과 이어지는 자리
잔여석예보의 조건 · 예측 시점 그 차량
1~12서빙 지평 · 13 이상은 계약 밖
최대 3대정류장당 접근 중인 차량

A18은 노선·정류장·시간대만 보는 모델이 아니라 예측 시점 그 차량의 잔여석을 조건으로 받는다. 그래서 이 화면 아래의 수집이 곧 예보의 재료다 — 수집이 멈추면 조건이 사라지고, 서빙 API는 값을 지어내는 대신 503 NO_RECENT_OBSERVATION을 낸다. 좌석정보 미제공(-1)을 만석으로 바꾸지 않는 것도 같은 이유다.

학습에 쓸 수 있는 날 중 평일 아침이 있는 날이 하나도 없어서 평일 아침 만석 사건이 0건이다. 모델이 아니라 자료의 문제라는 것은 따로 확인했다 — 휴일 아침을 세 배로 부풀려도 판별력(ROC-AUC)이 0.518로 그대로인데, 평일 아침이 반나절만 들어와도 0.958로 뛴다. 아래 수집이 평일을 쌓는 일이 그래서 이 모델의 다음 관문이다.

노선별 좌석

A18이 조건으로 받는 값이 이 잔여석이다 · 0석률 분모는 좌석정보 제공 차량

노선 데이터를 읽는 중

노선 데이터를 읽는 중

학습 흐름 · 검열

A18도 이 라벨 계약을 그대로 쓴다 · 운영 대리값이며 학습 표본 수와 같지 않다

학습 라벨 흐름

학습 라벨 계약 집계 대기
—진행 관측쌍
—90초 이내 진행 관측쌍
—Δ=1 진행 관측쌍
—끝 좌석 제공 학습 라벨
—0석 학습 라벨
Δ=1 끝 좌석 제공률 —
전체 진행 관측쌍 대비 학습 라벨률 —
학습 라벨 중 0석률 —
— 총검열 — gap 원인 · 90초 초과 — jump 원인 · 순번 점프 — 겹침 gap·jump는 중복 가능 · 겹침 = gap + jump − 총검열
— 차량행 — 만석 관측 — 진행 관측쌍

다섯 칸은 모두 같은 차량의 진행 관측쌍 단위다. 학습 라벨은 0<관측 간격≤90초, 동일 차량, 정규화 진행 Δ=1, 끝 좌석≥0을 모두 만족할 때만 센다.

응답·레코드 품질

응답시간 표본 —건
—좌석 제공률
—호출 성공률
—응답 p50
—응답 p95
—응답 최대
—좌석 미제공
— 호출 실패 — 0대 응답 — 쿼터 거부 — 원천 읽기 오류 — 제외 레코드

좌석정보 미제공(-1)은 만석으로 바꾸지 않고 제공률의 분모에만 남긴다.

24시간 수집 맥박

5분 버킷 · KST 공통 시간축

— / —오늘 호출
— / —추적 뒤 응답 / 예정
—미수집 추정
—노선 최장 공백
5분 단위 수집 현황을 읽는 중이다.
—
—응답 / 예정
—계획 달성률
—좌석 제공 / 0석률
—학습 라벨 / 0석
—총검열 / gap / jump
—응답 p95

시간대별 0석 관측률

A18 허들 머리가 맞혀야 하는 기저율 · 차량 관측행 중 좌석 제공 행의 0석 비율

차량 관측행 중 좌석 제공 행의 0석 비율을 읽는 중이다.

최근 응답

최신 12건 · 응답 수신 시각

최근 수집 응답
시각 · KST 노선 차량 응답시간 결과
응답 목록을 읽는 중