Multiple quantile regression

RektPunk·2023년 2월 23일
1

Quantile regression

목록 보기
3/6

Abstract

지난 포스팅에서는 LightGBM을 활용하여 quantile 을 추정하는 방법을 소개했고, 여러 개의 quantile 을 각각 추정할 때 발생할 수 있는 quantile 사이의 역전 문제점(Crossing problem)을 소개했다.
이번 포스팅에서는 동시에 여러개의 quantile을 추정하기 위한 목적함수와 crossing problem을 방지하기 위한 제약조건, 그리고 crossing problem을 방지하기 위한 몇 개의 접근법을 소개한다.

Main

먼저, 목적함수는 Introduction 에서 소개한 여러개의 Quantile loss의 합쳐서 아래와 같이 만들어준다.

L(fτ1,...,fτT)=1nTt=1Ti=1nρτt(yifτt(xi)),  where ρτ(u)=u(τI(u<0))L(f_{\tau_1}, ..., f_{\tau_T}) = \frac{1}{nT} \sum_{t=1}^T \sum_{i = 1}^n \rho_{\tau_t}(y_i - f_{\tau_t}(x_i)), ~~ \text{where } \rho_{\tau}(u) = u(\tau - \text{I}(u < 0))

이전 포스팅에서의 접근법은 위의 목적함수를 Minimize 하기 위해 각각의 fτt,t=1,...,Tf_{\tau_t}, t = 1, ..., T를 추정했던 것이라고 이해할 수 있다.
Quantile 간의 Crossing 문제를 막기 위해서 아래의 부등 제약조건을 고려해야 한다.

fτt(x)fτt1(x),  x,t=2,...,Tf_{\tau_{t}}(x) \geq f_{\tau_{t-1}}(x), ~~ \forall x, t=2, ...,T

위의 조건은 직관적으로 τt\tau_t-quantile의 예측값이 τt1\tau_{t-1}-quantile의 예측값보다 크거나 같다는 의미이다.
위 제약 조건이 어려운 점은 데이터 xi,i=1,...,nx_i, i = 1, ...,n에서 뿐만 아니라 모든 xx에 대해 성립해야 한다는 점이다.
즉, 학습 데이터 뿐만 아니라 테스트, 예측 데이터에서도 해당 조건이 성립해야 한다는 의미이다.

이런 문제를 방지하기 위해 시도할 수 있는 다양한 접근법이 있다.
가장 직관적인 방법은 모델의 구조적으로 이를 방지하는 것이라고 생각한다.

예를 들면,

fτt(x)=ατt+xβ,  t=1,...,T,f_{\tau_t}(x) = \alpha_{\tau_t} + x^\top \beta, ~~ t = 1, ..., T,

로 구성하고, ατtατt1,t=2,...,T\alpha_{\tau_t} \geq \alpha_{\tau_{t-1}}, t = 2, ..., T 를 유지하도록 만든다.
더욱 더 쉽게, ατ1=ατ1\alpha'_{\tau_1} = \alpha_{\tau_1}, ατt=ατtατt1\alpha'_{\tau_t} = \alpha_{\tau_t} - \alpha_{\tau_{t-1}} for t=2,...,Tt = 2, ..., T 라고 하면,

ατ1=ατ1,  ατt=t=2Tατt,  t=2,...,T,\alpha_{\tau_1} = \alpha'_{\tau_1}, ~~ \alpha_{\tau_t} = \sum_{t = 2}^T \alpha'_{\tau_t}, ~~ t = 2, ..., T,

가 성립하기 때문에 다음과 같이 모델을 만들어 줄 수 있으며

fτt(x)=t=1Tατt+xβ,  t=1,...,T,f_{\tau_t}(x) = \sum_{t=1}^T\alpha'_{\tau_t} + x^\top \beta, ~~ t = 1, ..., T,

이에 더해서, 제약조건을 보다 단순하게 ατt0,t=2,...,T\alpha'_{\tau_t}\geq0, t = 2, ..., T라고 잡아줄 수 있다.
최적화 관점에서 두 모수간의 대소 제약 조건보다 양수 조건이 더 편리하기에 구조를 잘 설계할 수록 문제가 쉬워진다.

그러나, 대부분의 경우 위 예제처럼 단순하게 선형 모형을 가정하지 않는다.
또한, 복잡도가 높은 비선형 모델일수록 방지할 모델 구조는 더욱 복잡해진다.
좋은 예시로 Cannon의 연구가 있다. 연구에서 Multiple quantile 을 동시에 추정하는 신경망 모형이 제안되었다.
제안된 모델의 구조적인 특징은 아래 그림과 같다.
먼저, 적합을 위해 학습데이터 XX를 추정하고자 하는 quantile의 개수 TT만큼 복제한다.
이를 X1,...,XTX_1, ..., X_T라고 하면 각각의 XtX_t에 대해 새로운 열로 τt\tau_t를 할당한다.
반응 데이터 yyTT만큼 복제해준다.
마지막으로 이렇게 생성된 데이터를 아래처럼 Concat 한다.

X~=(X1Rn×pτ11nRnX2Rn×pτ21nRnXTRn×pτT1nRn)RnT×(p+1),  y~=(y1Rn×py2Rn×pyTRn×p)RnT\tilde{X} = \left( \begin{array}{cc} X_1 \in \mathbb{R}^{n\times p} & \tau_11_n \in \mathbb{R}^{n}\\ X_2 \in \mathbb{R}^{n\times p} & \tau_21_n \in \mathbb{R}^{n}\\ \vdots & \vdots \\ X_T \in \mathbb{R}^{n\times p} & \tau_T 1_n \in \mathbb{R}^{n} \end{array} \right) \in \mathbb{R}^{nT \times (p+1)}, ~~ \tilde{y} = \left( \begin{array}{c} y_1 \in \mathbb{R}^{n\times p} \\ y_2 \in \mathbb{R}^{n\times p} \\ \vdots \\ y_T \in \mathbb{R}^{n\times p} \end{array} \right) \in \mathbb{R}^{nT}

생성된 데이터에 대해 아래의 신경망 모형을 적용한다.

빨간색으로 표기된 Weight는 Exponential 함수를 이용하여 양수로 유지해준다.
이에 따라 tau 와 관련된 열은 예측값과 Monotone 하도록 만들어줘서 Crossing condition을 방지하는 것이다.

Remarks

이번 포스팅에서는 Multiple quantile을 추정할 때의 목적함수와 Crossing condition을 방지하기 위한 제약조건을 소개하고, 이를 함수의 구조를 통해 해결하는 예시를 소개했다.
다른 방법은 직접적으로 부등 제약 조건을 최적화하기 용이한 형태로 변경하는 것이다.
이와 관련된 연구들이 있지만, 포스팅을 할지.. 말지는 고민이 된다.

Reference

Cannon, Alex J. "Non-crossing nonlinear regression quantiles by monotone composite quantile regression neural network, with application to rainfall extremes." Stochastic environmental research and risk assessment 32 (2018): 3207-3225.

profile
한가한 Data scientist

2개의 댓글

comment-user-thumbnail
2023년 2월 23일

멋져요

1개의 답글