TL;DR

  • 시계열 예측에서 univariate, multivariate, multivariable은 타깃 개수와 입력 변수 개수를 섞어 쓰기 때문에 혼동된다.
  • “univariate target with multivariate input”처럼 타깃과 입력을 분리해 쓰면 의미가 명확해진다.

단변량 타깃과 다변량 입력

univariate, multivariate, multivariable은 서로 단순히 짝을 이루는 반대말이 아니다. 각각이 가리키는 기준이 조금씩 다르다. univariatemultivariate는 함께 다루는 변수나 관측값의 차원을 말할 때 쓰이고, multivariable은 보통 모델 입력으로 쓰는 변수가 여러 개인 경우를 가리킨다.

Univariate는 한 변수만 분석하거나, 예측 문맥에서는 response 또는 target이 하나인 설정을 가리킬 수 있다. 타깃이 하나라면 입력 feature가 많더라도 출력 관점에서는 univariate target이다.

Multivariate는 여러 변수를 함께 다룬다는 뜻이다. 통계학 일반에서는 관측값이나 확률변수가 벡터라는 의미가 강하다. 예측 문맥에서는 여러 target을 동시에 다루는 경우 multivariate response 또는 multivariate target처럼 출력 기준을 명시하는 편이 오해가 적다.

Multivariable은 모델 입력 변수가 여러 개인 성질을 가리킨다. 이 말 자체는 output target이 하나인지 여러 개인지를 결정하지 않는다.

따라서 네 조합은 다음처럼 정리할 수 있다.

입력 변수출력 타깃권장 표현
단일 입력단일 타깃single input + univariate target
다중 입력단일 타깃multivariable input + univariate target
단일 입력다중 타깃single input + multivariate target
다중 입력다중 타깃multivariable input + multivariate target

문제는 시계열 ML/DL 문헌과 라이브러리에서 multivariate time series를 더 넓게 쓴다는 점이다. 많은 시계열 모델은 시점마다 여러 채널이나 여러 feature가 관측되면 이를 multivariate input이라고 부른다. 이 관용에서는 출력이 하나여도 입력이 다채널이면 “multivariate forecasting”이라고 적는 경우가 흔하다.

따라서 용어를 줄여 쓰기보다 target dimension, input feature dimension, observation dimension을 분해해서 쓰는 편이 명확하다.

모델링에서의 의미

하나의 target을 예측하면서 외생변수, lag, moving average를 함께 쓰는 문제는 출력 관점에서는 univariate target 문제이고, 입력 관점에서는 multivariable 또는 multivariate input 문제다. 이런 경우에는 다음처럼 두 기준을 같이 적는 것이 좋다.

univariate forecasting with exogenous regressors

시계열 ML 문맥에서는 다음 표현도 통한다.

univariate target with multivariate input

이 표현은 외생변수와 내생변수, 시계열 예측에서 예측 시점에 알 수 있는 변수와 알 수 없는 변수, 시계열 예측의 기준 시점과 예측 기간의 구분과 함께 써야 한다. 입력 변수가 많다는 사실만으로 feature 사용 가능성이 보장되는 것은 아니며, cutoff 이후에 실제로 알 수 없는 future value를 쓰면 time leakage가 된다.

헷갈리기 쉬운 지점

가장 흔한 혼동은 “변수가 여러 개다”라는 말을 관측 벡터, 입력 feature, 출력 target 중 어느 쪽에 적용하는지 생략하는 데서 생긴다.

  • 시점별 입력 feature가 여러 개이면 multivariable input 또는 시계열 관용상 multivariate input이다. 출력 target이 하나라면 여전히 univariate target이다.
  • 출력 target이 여러 개이면 multivariate output이다. 이때 입력 feature가 하나인지 여러 개인지는 별도의 축이다.
  • 시계열 ML 문헌에서 multivariate time series는 시점마다 벡터 관측값 가 있다는 뜻으로 쓰이는 경우가 많다. 이는 output target이 여러 개인지와 별개의 문제일 수 있다.
  • 모델이나 라이브러리의 옵션명이 multivariate라고 해서 반드시 여러 target을 예측한다는 뜻은 아니다. 입력 텐서의 feature dimension과 출력 target dimension을 따로 확인해야 한다.

실무 문서에서는 multivariate라는 단어만 단독으로 쓰면 독자가 “관측값이 벡터인가, 입력이 여러 개인가, 출력이 여러 개인가”를 다시 물어야 한다. 그러므로 모델 명세에는 target, output dimension, input feature set, future-known features, past-only features를 분리해서 적는 것이 좋다.


Connections