Academic 공부들 (정리)/논문정리

STAD-GCN: Spatial-Temporal Attention-based Dynamic Graph Convolutional Network for retail marker price prediction

HR & 빅데이터 2024. 7. 26. 20:04

멋진 대학원 동기의 논문.. Graph Convolutional Network 를 이용해서 위치 정보 반영해서 주유소 가격을 예측하는 STAD-GCN 을 소개하는,, 그러한 논문이다. 그렇다.. 끝까지 읽어야 직관적 요약이 가능한데 아직 읽지 못했다..

완벽히 분석해서 논문 리뷰를 하겠다고 시작했지만 결국 진도가 나가지 않아 우선 업로드.. 

그래프 CN,, 넘 어려워서 앞이 깜깜하긴 하지만,, 시간 날때마다 업데이트 하겠다.

1은 건너뛰고 RELATED WORKS 부터 보는 중이다. 

원문 링크: https://www.sciencedirect.com/science/article/abs/pii/S0957417424014209

저자: Sodam Kim, Eunil Park

Github: https://github.com/ksd1221/STADGCN

 


2. RELATED WORKS
2.1. Retail gasoline market price prediction

시장 환경이 급격히 변화함에 따라, 다양한 데이터셋을 통해 시간 간 가격 변동, 또는 매장 간 가격 변동을 조사하는 가격 예측 모델에 대한 광범위한 연구가 있었습니다. 시간 간 변동을 강조하는 이전 연구는 시계열 모델의 발전과 함께 진화하여 많은 모델링 시도가 있었습니다. (Sokkalingam et al., 2021; Urolagin et al., 2021).

 

반면, 매장 간 변동에 대한 이론적 탐구는 경제학에서 잘 확립되어 있지만, 이러한 이론을 시장 가격 예측을 위한 실질적인 모델로 전환하는 데에는 한계가 있습니다. 이러한 연구들은 종종 비대칭 가격 책정(Sun et al., 2019), passthrough effect (Deltas & Plemis,2020), Edgeworth 사이클 (Noel & Chu, 2015) 와 같은 가격 역학을 참고해서 과 가격 변동 양상을 탐구해서 지역의 치열한 경쟁과 흩어짐 정도에 영향을 받는, 가격의 큰 변동성을 강조했습니다. Graph Convolution Network를 사용해서 노드 간 변동성을 설명하고 주식 예측 등에 사용하는 선행 연구들은 더러 있었지만, 일반적인 오프라인의 소매 마켓 가격의 예측에 관한 선행 연구는 드뭅니다. 

 

가격 책정에서의 치열한 경쟁 구조의 영향력을 잡아내기 위한 모델링에는 다양한 종류의 접근법이 사용되었습니다. 이러한 방법들에는, 경쟁 효과를 평가하기 위해 주유소의 갯수를 활용한다던지, 지역 단위의 주유소 밀집도를 측정한다던지, Herfindahl-Hirschman Index같은 지표들을 결합해서 시장의 집중도Concentration 를 측정한다던지, 그리고 이러한 방법들을 다 합쳐버린다던지 하는 것들이 있었습니다. 하지만, 이러한 테크닉들은 종종 경쟁사들의 밀도와 같은 비교적 정적인Static 관점으로 대표되는 변수들에 의존했다. 결과적으로, 그것들은 매일매일의 시장 변동 속에서 전해져 내려오는 다이나믹한 움직임을 반영하는 데에는 제한이 있었다. 게다가, 이러한 접근법들은 일반적으로 경쟁사들의 특성, 이를테면 브랜드, 서비스타입, 가격정책- 의 변화를 간과하기 때문에, 시장 다이나믹에 종합적인 이해를 저해합니다. 

 

가솔린 가격예측에 관한 연구는 일반적인 시장 가격 예측 연구들과 비슷한 점이 있습니다. 최근의 조사들은 알고리즘 프라이싱과 경쟁 사이의 관계에 점점 더 집중해오고 있습니다. 하지만, 많은 연구들은 아직 Recurrent-based time series 모델들이나, recurrent-based time series 와 ML모델을 종합한 가격 예측에 의존하고 있습니다. 아직 여기에만 이존하는 이유는 경쟁적인 관계성을 실시간으로 반영하기 쉽지 않기 때문입니다. 

 

Graph-based modeling에 관한 떠오르는 조사가 있음에도 불구하고 (*관계성을 잡아내는데 가장 적합하다고 여겨지는 structure) 그러한 연구들은 주로 리테일 시장(소매) 보다는 나라간 시장에 대한 연구에 집중한다. 이러한 강조점은 더 넓고, 국제적 범주의, 거시경제학적 관계가, 소매 시장에서의 복잡하고 경쟁적인 다이나믹보다 선호된다는 것을 시사합니다. 

 

이렇게 밝혀진 제한적인 측면은 리테일 시장 가격 예측 모델에 대한 좀 더 역동적이고 정교한 접근의 필요성을 강조합니다. 일일 시장 변화에 빠르게 적응할 수 있는 방법론, 그리고 효과적으로 넓은 범위의 경쟁사 특성을 포괄할 수 있는 방법론에 대해 중요한 필요성이 있습니다. 우리의 연구는 고급화된 방법론들을 소개함으로써 이러한 격차를 해결하는 것을 목표로 합니다. 이러한 방법론들은 시장 경쟁의 유동적인 특성을 고려하고, 가격 전략에 대한 다면적인 영향을 포괄적으로 포착하도록 설계되었습니다.

 

2.2. Graph Convolution Network 

Graph Structure은 data representation에 대한 representation(법)으로 특징되어지는데 이 특징이란 복합한 관계와 상호작용을 모델링하는 데 뛰어나다는 것이다. 전통적인 Convolution 연산, 일반적으로 규칙적인 격자grid 데이터에 적용되는 이것은 그래프 구조에 적합하지 않습니다. 대신, Niepert et al 이 개척한 특화된 Graph Convolutional Network, GCN에 적용하는 것은, 각 노드의 특성과 그들의 이웃 정보간의 결합을 만들어내고, 이러한 결합은 새로운 노드 특성을 창조하게 됩니다. 이러한 Graph Convolutiaonl Network 연산은 넓게는 두 종류로 나누어질 수 있습니다.: 공간적 방법, 그리고 스펙트럼적 방법이 그것입니다.

 

Spatial 타입의 GCN은 직접적으로 노드의 이웃들로부터 정보를 모으면서 Graph Convolution Operation을 수행합니다. 이 방법에서는, (연산에 사용되는) 이웃 노드들을 선택하는 것이 그 모델의 성능을 크게 좌우합니다. 왜냐하면 이 방법은 노드와 노드 간의 관계성에 집중하기 때문입니다. 이러한 방식은 그래프에 내재된 동적인 구조 변화를 능숙하게 수용하고, 이러한 관계를 효과적으로 포작하기 위해서 여러 모델들에 적용되었습니다. 

 

반면, 스펙트럼형 GCN은 그래프의 퓨리에 변환을 활용해서 작동합니다. 이 기술은 그래프 라플라시안 행렬의 고윳값 분해를 통해 노드 신호를 분석합니다. 스펙트럼GCN에서는 주파수 도메인 내에서 노드 관계를 분석하여 복잡한 그래프 구조 패턴에 대한 포괄적인 이해를 제공합니다. 전통적으로는 높은 계산 복잡도로 인해 어려움이 있었지만, Chenyshev 다항식 근사를 사용하여 스펙트럼 Graph Convolution의 효율적 계산을 가능하게 하는 등의 발전이 이러한 한계를 해결했습니다 (Defferrard et al., 2016). 이 접근방식은 우리의 연구에서 사용된 Attention-based Spatial-Temporal Graph Convolution Network(Guo et al., 2019) 에서 채택되어, 계산 요구사항을 관리하면서 전체적인 그래프 패턴을 효과적으로 포착합니다.

 

GCN연산은 그래프 기반 데이터 구조 내의 복잡한 패턴을 추출하고 이해하는 데 강력한 도구로, 정교한 모델링 애플리케이션이 필수적입니다. 상호 연결된 시장 데이터에 이러한 연산을 구현하면 강력한 특징을 추출하고 복잡한 패턴을 효과적으로 파악할 수 있습니다. 이 능력은 시장 상황 전체와 그 다면적인 상호작용을 포괄적으로 캡쳐할 수 있게 합니다. 

 

2.3. Attention mechanism

 

 

3. METHOD
3.1. 데이터 수집 및 전처리

 

데이터셋은 다음의 주요 요소를 가진다:

- 서울, 부산 개별 주유서 에서의 가솔린 그리고 디젤 가격 (주 단위 데이터)

- 각 주유소의 특징들; 브랜드, 지역코드, 셀프서비스 유무, 운영 상태

- 더 넓은 범위의 경제적 지표들: 두바이, 서부 텍사스 원유 가격, 공급 도매 가격

 

중요하게, 상당한 양의 설치 비용 때문에, 주유소가 일시적으로 운영을 하지 않는 것은 일반적이다. 그리고 이는 서로 다른 브랜드들이 같은 장소에 비즈니스를 다시 세우게 되는 결과를 낳는다. 이러한 현상을 정확하게 감지하기 위해, 이 데이터셋은 운영 상태라는 변수를 포함하였다. Feature들과 이에 걸맞는 요약 통계치 개요를 더 심도있게 얻기 위해서, Table A.6.이 제시된다. 더 나아가, 우리가 모은 정보들은 'Opinet'이라는 곳에서 얻어졌다.

 

우리는 그래프 구조를 짜기 위해 모든 주유소들 간의 모든 거리들을 계산하기 시작했다. Opinet은 Katech라는 포맷을 사용했는데, (이는 한반도 내에서의 네비게이션을 위해 특별히 디자인 된 것이다. 이 포맷은 장소를 보여주기 위해서 미터법을 사용한다.) 결측치가 꽤 자주 나와서 어려움이 있었다. 이를 해결하기 위해 우리는 다음의 과정을 보강했다.:

 

처음에, 우리는 주소 정보와 SK openAPI를 사용해서 Katech coordinate format 으로의 주요 변환들을 수행하려고 했다. 이러한 두 단계에 걸친 변환 프로세스는 Opinet이 제공한 메타데이터를 활용성 있게 최적화 하는데 중요했다. 이어서, 얻어진 좌표들을 이용해, 우리는 haversine package를 사용해서 각 주유소 간의 유클리디안 거리를 계산했다.

 

그 feature들을 모델의 인풋데이터로 사용하기 전에, 우리는 그 데이터들을 피벗테이블 형식으로 변경했다. 이 피벗테이블은 시간을 index로, station을 컬럼으로 하여 각각의 feature 들을 정렬한다. 그 다음으로, feature의 성격에 따라 데이터 전처리 절차를 시행한다. 이 때, 숫자와 문자를 구분하여 처리한다. 휘발유 가격 혹은 디젤 가격과 같은 숫자 값은 표준화과정을 거친다. 반면, 브랜드나 셀프 서비스 가능 여부와 같은 범주형의 특징은 임베딩 레이어를 사용하여 처리되었으며, 각 특징의 카디널리티(고유값 개수)의 지시에 따라 처리 방법이 결정되었다. 

 

Feature 1 : ex. 총 4개의 브랜드를 {0, 1, 2, 3} 으로 인코딩 *여기선 임베딩레이어 처리 안한 예시

  A주유소 B주유소 C주유소 D주유소 ..... .....
2024-01-01 1 NaN 2 3    
2024-01-02 1 1(개업) 2 3    
2024-01-03 1 2(간판 바꿈) 2 3    
...  1 2 NaN(폐업) 1(간판 바꿈)    

 

Feature 2 : 셀프서비스 유무 ex. {0 1} 로 인코딩 *여기선 임베딩레이어 처리 안한 예시

  A주유소 B주유소 C주유소 D주유소 ..... .....
2024-01-01 1 NaN 2 3    
2024-01-02 1 1(개업) 2 3    
2024-01-03 1 2(간판 바꿈) 2 3    
...  1 2 NaN(폐업) 1(간판 바꿈)    

 

Feature 3 : 휘발유 가격 *표준화 전의 예시

  A주유소 B주유소 C주유소 D주유소 ..... .....
2024-01-01 1200 NaN 1411 3    
2024-01-02 1290 1245 1390 3    
2024-01-03 1285 1245 1370 3    
...  1260 1235 NaN(폐업) 1(간판 바꿈)  

 

3.2. ASTGCN 모듈: Attention mechanism 을 통한 공간 및 시간 분석
*주: ASTGCN = Attention-based Spatial Temporal analysis Graph Convolution Network

 

.....