콘텐츠로 이동

P3-5.4 입력 창(window)은 어디서 자르고 길이는 어떻게 맞추는가

Section ID: P3-5.4 Version: v2026.09.19

앞 절에서는 같은 기록을 요약 벡터나 시계열 입력으로 표현했습니다. 어느 쪽이든 입력 창은 어떤 관측 범위를 한 입력에 포함할지 정합니다. 길이가 다르다는 사실 자체는 오류가 아닙니다. 비교할 시간·단계의 의미와 선택한 모델의 입력 형식에 맞춰 길이 처리 규칙을 정하면 됩니다.

시작과 끝의 포함 규칙부터 적기

가상 동작 A는 0초에 시작해 40초에 끝나고, B는 0초에 시작해 80초에 끝난다고 하겠습니다. 각 동작의 시작을 0으로 맞춘 경과 시간이며, 두 동작이 실제로 동시에 시작했다는 뜻은 아닙니다. 완료된 기록을 비교하는 사례입니다.

관측은 1초 간격이고 시작 포함·끝 제외 규칙을 사용합니다. [0, 40)은 0초를 포함하고 40초를 제외한다는 뜻입니다. A의 관측은 0~39초의 40개, B는 0~79초의 80개입니다. 이 사례에서 종료 시각은 별도 기록이며 마지막 센서 관측 시각과 다릅니다.

항목 A B
시작·종료 0초·40초 0초·80초
전체 관측 창 [0, 40) [0, 80)
마지막 10초 [30, 40): 10개 [70, 80): 10개
마지막 25% [30, 40): 10개 [60, 80): 20개

B의 마지막 25% 길이는 80×0.25 = 20초이고 시작은 80−20 = 60초입니다. 60초 관측은 포함하고 80초는 제외합니다. A에서는 마지막 10초와 마지막 25%가 같지만, B에서는 다른 창입니다. 같은 말처럼 바꿔 쓰면 포함 기록이 달라집니다.

시간 정렬과 진행률 정렬은 다른 질문에 답한다

완료된 동작의 진행률을 경과 시간 ÷ 실제 전체 길이로 정의해 보겠습니다. 시간 정렬은 시작 후 같은 초를, 진행률 정렬은 전체 길이에서 같은 비율의 위치를 맞춥니다.

비교 기준 A의 위치 B의 위치 비교하는 것
시작 후 30초 30/40 = 75% 30/80 = 37.5% 같은 경과 시간
진행률 75% 0.75×40 = 30초 0.75×80 = 60초 같은 상대 위치

“시작 후 30초에 어떤 값인가?”와 “마지막 25%에서 어떤 모양인가?”는 다른 질문입니다. 진행률 정렬은 상대 위치를 맞추지만, 같은 비율이 항상 같은 물리적 공정 단계임을 보장하지는 않습니다. 단계 의미까지 맞춰야 한다면 실제 전환 이벤트나 상태 기록도 확인합니다.

P3-5.1의 early/mid/late도 이름만으로 경계가 정해지지 않습니다. 예를 들어 이 절에서 새로 정한 규칙을 early=[0,25%), mid=[25%,75%), late=[75%,100%)라고 하면 A는 [0,10), [10,30), [30,40), B는 [0,20), [20,60), [60,80)으로 나뉩니다. 이것은 설명용 배정 규칙이며, P3-5.1 CSV의 원래 구간 기준을 추정한 것이 아닙니다.

연습으로 A의 10초·30초, B의 20초·60초 관측을 배정해 보세요. 각각 중반·후반, 중반·후반입니다. 경계의 관측은 오른쪽 구간에 들어가므로 두 구간에 중복 포함되지 않습니다. 구간 폭이 25%·50%·25%이므로 세 구간 평균을 시간 평균으로 합칠 때도 같은 비중으로 평균하면 안 됩니다.

간격을 맞추는 것과 점 개수를 맞추는 것은 다르다

재샘플링은 새 간격이나 위치에 맞춰 값을 다시 표현하는 일입니다. 두 동작을 모두 1초 간격으로 표현해도 위 경계 규칙에서는 A 40개·B 80개로 길이가 다릅니다. 간격을 통일했다고 고정 개수 입력이 만들어지지는 않습니다.

길이 처리 선택 이 사례에서 생기는 입력 함께 남겨야 할 정보·한계
가변 길이 유지 A 40개, B 80개 길이를 다룰 수 있는 모델·입력 형식과 실제 길이
공통 시간 창 [0,40)으로 자르기 각각 40개 B의 후반 40초는 제외됨
네 개의 동일 진행률 구간으로 평균 각각 4개 구간 평균 A는 구간당 10초, B는 20초; 세부 변화가 요약됨
A를 80자리로 채우기 A의 40관측+40채움, B의 80관측 채움 위치를 실제 관측과 구별하는 표시

네 구간 평균을 만드는 것은 위치별 평균을 구하는 집계이며, 1초 간격으로 다시 표현하는 것과 다릅니다. 채움도 새 관측을 만드는 일이 아닙니다. 실제 유량 0이 가능하다면 0 채움과 관측값 0을 구별해야 합니다. 가변 길이를 지원하는 설계라면 억지로 자르거나 채울 필요가 없을 수도 있습니다.

종료 전 예측에서는 최종 길이를 미리 알 수 없다

B를 30초 시점에 예측하는 상황으로 바꾸겠습니다. 관측은 측정 즉시 도착한다고 가정하고, 예측 입력은 [20,30)의 최근 10초, 즉 20~29초 관측으로 정합니다. 30초 관측까지 사용할지는 별도 경계 선택이며 이 규칙에서는 제외합니다.

완료된 뒤에는 B가 80초였으므로 마지막 25%가 [60,80)임을 압니다. 그러나 30초 예측 시점에는 실제 종료 길이 80초가 아직 확정되지 않았고, 그 구간의 관측도 없습니다. 나중에 계산한 최종 진행률을 당시 알았던 값처럼 입력에 넣으면 정보 범위를 넘게 됩니다.

운영 계획에 예상 길이 80초가 이미 있었다면 예상 길이 기준 진행률은 별도 입력 후보가 될 수 있습니다. 이 값은 나중에 확정된 실제 진행률과 다르며, 예측 시점에 이용 가능했던 계획 버전을 남겨야 합니다. 완료 후 분석 창과 진행 중 예측 창을 구분하는 이유입니다.

창 규칙을 정한 뒤 표현을 선택한다

같은 창의 값을 요약 특징으로 만들 수도 있고, 순서가 남은 입력으로 유지할 수도 있습니다. 다음 도식은 두 표현 전에 공통으로 정할 경계를 보여 줍니다.

flowchart TD
    A["예측 시점과 이용 가능한 기록 확인"] --> B["시작·끝 포함 규칙과 정렬 기준 설정"]
    B --> C["가변 길이·자르기·채움 규칙 선택"]
    C --> D["창 안의 값 요약"]
    C --> E["순서가 남은 입력 유지"]

실제 명세에는 시작·종료 이벤트, 경계 포함 규칙, 정렬 기준, 관측 간격, 길이·누락·채움 처리, 예측 시점과 이용 가능한 정보를 남깁니다. 진행률로 맞추었다면 원래 동작 길이도 함께 보존해야 상대 모양이 같아도 실제 시간이 다른 경우를 다시 읽을 수 있습니다.

체크리스트

  • [0,40)에서 관측이 40개가 되는 가정과 끝점 제외 규칙을 설명하는가?
  • B의 마지막 10초 [70,80)와 마지막 25% [60,80)를 구별하는가?
  • 같은 30초와 같은 진행률 75%가 두 동작에서 어떻게 다른지 계산했는가?
  • 1초 간격 통일, 고정 개수, 구간 평균을 구분하는가?
  • 종료 전에는 확정된 최종 길이를 이용할 수 없다는 이유를 설명하는가?
  • 원래 길이와 채움 표시를 남겨 실제 관측 범위를 확인할 수 있는가?

출처와 참고 자료

  • TensorFlow, Time series forecasting. 입력 창의 폭과 목표 위치를 명시하는 일반 사례입니다. 이 절의 40초·80초, 진행률 구간, 경계 포함 규칙은 자체 가상 설계이며 보편적인 분할 표준이 아닙니다. / 확인일: 2026-09-19