티스토리 뷰

다음은 NHiTS 논문을 정리한 글입니다.


Summary


  • N-HiTS는 N-BEATS 모델의 확장으로 N-BEATS에 비해 예측 정확도를 높이고 계산 비용(연산, 메모리 측면)을 줄임
  • Fully Connected layer로 구성하여 Multi-step을 한번에 예측
  • N-HiTS는 각 스택이 다른 Scale로 시계열을 포착할 수 있도록 Input에 대해 Maxpool을 적용 (Multi-rate data sampling)
  • 다른 비율로 시계열을 샘플링한 스택은 장기 효과에 특화, 다른 스택은 단기 효과에 특화할 수 있음
  • 계층적 보간(Hierarchical Interpolation)을 통해 얻어진 각 스택의 예측값을 결합하여 최종 예측을 산출, 이렇게 하면 모델이 가벼워지고 장기 시계열을 예측하는 데 더 정확해짐
  • Transformer 기반 모델보다 성능, 연산 효율 측면에서 우수

 


아키텍처 구성


  • Stack과 Block으로 구성
  • 각 Stack별 Output을 모두 더해 최종 forecast output을 구성
  • 각 Block은 MLP Layer로 구성
  • 시계열의 low frequency부터 high frequency를 점진적으로 예측
  • 스택의 각 블록 사이에 residual connection이 있음

NHiTS 아키텍처

Multi-rate signal sampling

  • Block 수준에서 MaxPool 을 수행
  • Maxpooling : 단순히 주어진 집합에서 가장 큰 값을 취함
  • 각 스택에 자체 커널 크기가 있으며, 각 스택이 단기 또는 장기의 특정 signal scale을 집중할 수 있도록 함
  • 커널 크기에 따라 샘플링 rate가 결정
    • 커널 크기가 大  → 공격적인 서브샘플링  ▶ 시계열의 장기 효과에 초점 
      (학습가능한 파라미터수가 줄어들어, 모델이 가벼워지고 빨리 학습하는 효과)
    • 커널 크기가 小 → 기존 시계열에서 거의 변경되지 않음  ▶ 시계열의 단기 효과에 초점

👍👍 MLP Input의 길이를 줄여 메모리 공간과 연산량을 줄이고, 학습가능한 파라미터를 감소시킴 

NHiTS 모델의 Maxpool 레이어의 커널 크기 영향

 

Non-Linear Regression

  • MaxPool 레이어를 통과하면 블록은 Fully Connected 네트워크를 사용하여 회귀를 수행, 즉 MLP를 통해 hidden vector를 학습
  • hidden vector는 linear projection 되어 forecast 및 backcast coefficient를 산출

 

Hierarchical interpolation

  • 계층적 보간을 통해 예측의 카디널리티를 줄이는데 사용
    • 카디널리티(Cardinality) : 모델의 복잡도를 나타내는 것으로, 대부분의 시계열 예측에서 모델의 카디널리티는 예측하려는 미래 timestep 길이와 같음
      (ex. 다음 24시간동안 시간별 예측을 원할 경우, 모델은 24개의 에측을 출력)
    • N-BETAS는 각 스택의 부분 예측값을 조합하는 것으로, 
      예측해야하는 timestep이 길어질수록, 각 스택별로 해당 예측 timestep만큼 예측을 생성해서 합산해야 하므로, 계산 비용이 많이 들 수 있다는 단점이 있음
    • Transformer 기반 모델은 디코더 어텐션 레이어 H개의 output 임베딩과 L개의 인코딩된 Input을 함께 사용(H가 증가할수록 인코딩된 Input L이 증가)
  • Maxpool 레이어가 시리즈를 서브샘플링하기 때문에 각 스택이 다른 rate로 시리즈로 처리하는 데 특화되어 있음 
    • 예를 들어 다음 7일에 대한 시간별 예측을 할 경우
      • N-BEATS : 각 스택은 168개의 부분 예측을 수행하고 각 스택을 합산하여 최종 예측을 생성
      • N-HiTS : Stack1은 매시간 단기 효과를 학습(168개), Stack2은 12시간마다 시리즈를 subsampling(14개), Stack3은 24시간마다 subsampling(7개 예측)
      • 각 스택에서 서로 다른 Frequency로 작동 하며 계산 비용이 줄어듦

N-BEATS와 N-HiTS : 각 스택별 카디널리티 비교 예시

  • Original sampling rate를 복원하고 예측 timestep만큼 예측하기 위해, Interpolation을 수행
  • N-HiTS에서 각 스택은 표현력 비율(expressiveness ratio)을 통해 계층적 보간을 함
  • 표현력 비율(expressiveness ratio) :
    • 단순히 단위 시간당 예측 수
    • Output timestep의 파라미터수를 제어
    • 표현력 비율 값이 작을수록, low frequency 포착 → 카디널리티 낮춤
    • 표현력 비율 값이 클수록, high frequency 포착 → 카디널리티 높임

 

  • 아래 그림에서는
    • Stack1 : 장기적인 영향을 살펴보므로 더 많은 시간 간격을 두고 예측을 출력
      - 커널 크기가 크고 표현력 비율 값이 작을수록, 공격적인 서브샘플링과 많은 부분을 보간하므로, 강한 Smoothing 효과를 냄
    • Stack4 : 단기적인 영향을 살펴보므로 더 세분화된 예측을 출력

 

  • Backcast :
    • 블록에서 포착한 정보를 나타냄
    • 블록의 output인 보간된 backcast값을 빼고 다음 블록의 Input으로 전달
    • 특정 블록에서 포착되지 않은 모든 정보를 다음 블록에서 예측 수행
    • 큰 추세 예측에서 점점 작은 단위의 패턴을 예측
  • Forecast :
    • 각 블록의 보간된 forecast값들을 모두 합하여 최종 예측timestep 길이 만큼 예측

  • 각 stack별 output을 모두 더해 최종 forecast output 구성

실험 결과


  • 시계열 예측의 대표적으로 사용되는 6가지 데이터에 대해 예측
  • "Since our model is univariate, each variable is predicted using only its own history"
  • 각 feature별로 단변량 예측을 수행한 후 MSE와 MAE의 평균을 내어 최종 성능 도출
  • SOTA 모델 대비 높은 성능을 보임
    • 전 데이터셋에 걸쳐 MAE 기준 평균적으로 약 14%, MSE 기준 약 16% 감소
    • 장기예측의 경우, MAE 기준 평균적으로 약 11%, MSE 기준 약 17% 감소

NHiTS 성능 결과

  • ETTm2 데이터셋 기반으로 Autoformer보다 45배 빠름
  • N-BEATS 대비 1.26배 빠르고 54%정도의 파라미터만 필요함


결론 및 제언


  • 장기 시계열 예측 위해 Multi-rate Sampling과 hierarchical interpolation을 도입하여 연산 효율성을 보완
  • N-HiTS는 SoTA 기준선을 능가하는 동시에 해석 가능한 비선형 decomposition을 제공
  • 단변량 체계에서 작동하여 훨씬 적은 계산을 사용하고 이전의 모든 Transformer 기반 다변량 모델보다 훨씬 뛰어남
  • 여러 변수를 효과적으로 통합할 수 있는 방법론이 약함




논문 구현 파이썬 패키지


 

[참고자료]

고려대 DBSA 연구실 자료

All About N-HiTS: The Latest Breakthrough in Time Series Forecasting