Event-Driven Representation Learning in Sparse Financial Time Series

A Macro-Contextual Conceptual Framework and Methodology

Niran Pravithana

III. Model Architecture & Sequence Learning Framework

Section นี้มุ่งอธิบายว่า เมื่อเราได้ลำดับเหตุการณ์ในรูป token embedding จาก Section 2 แล้ว โมเดลจะ "เรียนรู้โครงสร้างของลำดับ" อย่างไร ภายใต้บริบทของ macro-event + asset-event ใน sequence เดียว

เราจะนำเสนอ:

  • นิยามเชิงคณิตของสถาปัตยกรรม
  • บทบาทของแต่ละชั้น (layer)
  • เหตุผลในการออกแบบ
  • การเชื่อมโยงกับ assumption ของงานวิจัย
  • มุมมอง implementation-ready สำหรับทีม dev

3.1 Sequential Representation Learning — แนวคิดหลัก

สมมุติฐานพื้นฐานของงานวิจัยนี้คือ ความสัมพันธ์ที่สำคัญไม่ได้อยู่ใน "ค่าฟีเจอร์เดี่ยว ๆ" แต่เกิดจาก ลำดับของเหตุการณ์และจังหวะเวลาที่ก่อตัวขึ้น

ดังนั้น แกนกลางของแบบจำลองจึงไม่ใช่ regression model แต่เป็น sequence representation model

ให้ชุด embedding ของสินทรัพย์ $a$ คือ

$$\mathbf{E}^a = (e_1, e_2, \dots, e_n)$$

หน้าที่ของโมเดลลำดับ คือหาฟังก์ชัน

$$F_{\Theta}: (e_1,\dots,e_n) \longrightarrow (h_1,\dots,h_n)$$

โดยที่

  • $h_i$ = representation หลังโมเดลประมวลลำดับจนถึงตำแหน่ง $i$
  • รวมข้อมูลของทั้ง ลักษณะของ event นั้น ๆ, ความสัมพันธ์กับเหตุการณ์ก่อนหน้า, และตัวตนของ macro events ที่ปรากฏในลำดับ

กล่าวเชิงความหมาย: $h_i$ คือ "ความเข้าใจของโมเดล ณ ช่วงเวลานั้น" ซึ่งสะท้อน pattern ที่กำลังก่อตัวอยู่

3.2 Backbone Candidates: ทำไมต้องใช้โมเดลลำดับ

โมเดลที่เหมาะสมกับโจทย์นี้ต้องรองรับ:

  • ลำดับไม่สม่ำเสมอ (irregular + sparse)
  • ประวัติย้อนหลังยาว (long-horizon memory)
  • เหตุการณ์มีหลายระดับเชิงบริบท (asset + macro)
  • ปฏิสัมพันธ์ไม่เป็นเชิงเส้น (non-linear interaction)

แบบจำลองพื้นฐานที่พิจารณา รวมถึง:

  1. Transformer-based Event Sequence Model
  2. Temporal Convolutional Network (TCN)
  3. GRU / LSTM (เป็น baseline)

งานวิจัยนี้จะเลือก Transformer เป็นโมเดลหลัก และใช้ TCN / GRU เพื่อเทียบเชิงทดลอง

เหตุผลเชิงทฤษฎี:

  • Transformer รองรับ long-range dependency ผ่าน self-attention
  • เหมาะกับ token ที่เป็นทั้ง micro และ macro events
  • โครงสร้าง align กับ conceptual idea: "ให้เหตุการณ์อธิบายกันเองผ่าน attention"

3.3 Transformer-Based Event Sequence Model (Formal)

ให้ input คือ $(e_1,\dots,e_n)$

เราผ่าน linear projection

$$z_i = W_e e_i + b_e$$

จากนั้นเข้าสู่ multi-head self-attention

$$\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V$$

โดย

$$Q = ZW_Q, \quad K = ZW_K, \quad V = ZW_V$$

ผลลัพธ์หัวที่ $h$

$$H^{(h)} = \text{Attention}(Q_h, K_h, V_h)$$

รวมหลายหัว

$$H = \text{Concat}(H^{(1)}, \dots, H^{(H)}) W_O$$

จากนั้นผ่าน feed-forward layer

$$h_i = \text{FFN}(H_i)$$

พร้อม residual + layer norm

$$H_i = \text{LayerNorm}(H_i + z_i)$$
$$h_i = \text{LayerNorm}(h_i + \text{FFN}(H_i))$$

กล่าวเชิงตีความ:

  • โมเดลไม่ได้อ่านเหตุการณ์ทีละตัวแบบลำดับตรง ๆ
  • แต่ให้เหตุการณ์ทุกตัว มองย้อนกลับและเชื่อมโยงกัน
  • macro event token จึงมีบทบาทเหมือน "บริบท" และ "จุดยึดความหมายของ sequence"

3.4 ทำไม Self-Attention จึงเหมาะกับ Macro-Event Tokens

เมื่อ macro event แทรกในลำดับ เช่น

[t1] MACRO_QE_START
[t2] FEATURE_A
[t3] FEATURE_B
[t4] FEATURE_C

attention matrix จะเรียนรู้อัตโนมัติว่า เหตุการณ์ในช่วง $t_2, t_3, t_4$ ควร "ผูก" กับ macro token ที่ $t_1$

เชิงคณิต: หาก attention weight ระหว่าง event $i$ และ macro-event $j$ สูง

$$\alpha_{ij} = \text{softmax}\left( \frac{q_i k_j^\top}{\sqrt{d}} \right)$$

แปลว่า representation ของเหตุการณ์ฝั่ง asset ถูก conditioned บน macro context โดยตรง

นี่คือหัวใจของวิธีวิจัยนี้: ไม่ต้องเขียนกฎเอง ให้โมเดลค้นหาว่า "macro ใดเกี่ยวข้องกับ pattern ใด"

3.5 Positional & Temporal Conditioning

ในข้อมูลจริง ตำแหน่งในเวลาไม่สำคัญเท่า "จังหวะเวลาที่ต่างกัน"

ดังนั้น เราใช้ time-gap embedding (จาก Section 2)

$$\tilde{z}_i = z_i + \tau_i$$

จึงทำให้ representation ของเหตุการณ์มีความหมายดังนี้:

  • ไม่ใช่แค่ "เหตุการณ์เกิด"
  • แต่คือ "เหตุการณ์เกิดหลังจากเหตุการณ์ก่อนหน้า X หน่วยเวลา"

สิ่งนี้ช่วยให้โมเดลเรียนรู้ความหมายเช่น

  • pattern เดียวกัน แต่ pace เร็ว / ช้า → อาจมีความหมายต่างกัน
  • macro shock + short-interval events → อาจสำคัญกว่า macro + slow pattern

กล่าวอีกแบบ: โมเดลเรียนรู้ "geometry of time" ไม่ใช่แค่ลำดับแบบเรียบ ๆ

3.6 Sequence-Level Representation

เพื่อประเมินแนวโน้มในช่วงอนาคต เราต้องสกัด representation ระดับลำดับทั้งหมด

ให้ $h_1, \dots, h_n$ เราสร้าง summary vector

$$u = \text{Pooling}(h_1, \dots, h_n)$$

เช่น mean pooling หรือ attention pooling (แนะนำ)

attention pooling:

$$\beta_i = \text{softmax}(w^\top \tanh(W h_i))$$
$$u = \sum_i \beta_i h_i$$

$\beta_i$ บอกว่าเหตุการณ์ใดมีความสำคัญต่อ pattern โดยรวม → นำไปตีความภายหลังได้ (explainability)

3.7 Output Head — Probability of Outcome Event

ให้ representation สุดท้ายเป็น $u$ เรานิยาม

$$\hat{p}(y \mid \tilde{\mathcal{S}}) = \sigma(W_o u + b_o)$$

หรือในกรณี multi-class

$$\hat{p}(y=k) = \frac{\exp(w_k^\top u)}{\sum_j \exp(w_j^\top u)}$$

loss function

$$\mathcal{L} = -\sum_{a,t} \log \hat{p}(y^a_t \mid \tilde{\mathcal{S}}^a_{(-\infty,t)})$$

ความหมายสำคัญ:

  • โมเดลพยายามเรียนรู้ว่า ลำดับก่อนหน้า มีความสัมพันธ์กับ outcome event มากน้อยแค่ไหน
  • ไม่ใช่การทำนายราคาต่อเนื่อง

3.8 Regime-Conditioned Representation (Implicit Conditioning)

เนื่องจาก macro events อยู่ในลำดับเดียว conditioning เกิดแบบ implicit:

$$\hat{p}(y) = \hat{p}(y \mid \text{pattern of micro events}, \text{macro tokens in sequence})$$

เราสามารถนิยามเชิงความหมายว่า

$$h_i \approx \Phi(\text{micro events}, \text{macro context}, \text{temporal structure})$$

นี่คือ Regime-Aware Representation Learning โดยไม่ต้องสร้างโมเดลหลายยุค

3.9 Feature-Gated Attention (เชิงออกแบบเชิงเสริม)

เพื่อสะท้อนสมมุติฐาน: มีเพียงบางฟีเจอร์ที่สำคัญ แต่ความสำคัญขึ้นกับบริบทใน sequence

เราปรับ attention weights ด้วย gating

$$\alpha'_{ij} = g_{\psi}(x_i) \cdot \alpha_{ij}$$

พร้อม sparsity penalty

$$\Omega(\psi) = \lambda \|\psi\|_1$$

เชิงความหมาย:

  • โมเดลเลือก "กลุ่มเหตุการณ์สำคัญ"
  • โดยไม่บังคับเลือกด้วยมนุษย์

3.10 Implementation View — สำหรับทีมพัฒนา

ทีมสามารถมองโครงสร้างเป็น pipeline:

raw events
 → build unified sequence (asset + macro)
 → event embedding
 → transformer sequence encoder
 → sequence summary (attention pooling)
 → output head
 → training objective

ใน framework เช่น PyTorch / JAX:

  • Event = token
  • Macro event = token ประเภทหนึ่ง
  • Time gap = positional input
  • Sequence model = standard Transformer layer
  • Interpretability = attention map + pooling weight

ไม่มีส่วนไหนต้องออกแบบเป็นกฎเอง ทุกอย่างเกิดจากการเรียนรู้เชิงสถิติ

3.11 เหตุผลเชิงวิจัยของสถาปัตยกรรมนี้

สถาปัตยกรรมนี้ตอบโจทย์สมมุติฐานหลัก:

  • รองรับ การก่อตัวของ pattern ระยะยาว
  • ข้ามระดับ micro ↔ macro
  • รักษา representation เดียวข้ามทุกยุค
  • อนุญาตให้ pattern บางแบบมีความหมายเฉพาะบางยุค และบางแบบคงอยู่ข้ามยุค
  • ทำให้เราวิเคราะห์เชิงหลังได้ เช่น per-era attention map, per-feature gating, per-context behavior

3.12 จุดเชื่อมไป Section ต่อไป

Section นี้อธิบาย "โมเดลเรียนรู้ลำดับและบริบทได้อย่างไร"

Section ถัดไปจะไปสู่: Training Objective, Regularization, และ Regime-Aware Evaluation ซึ่งจะลงลึกในเรื่อง

  • วิธีฝึกโมเดลแบบ time-consistent
  • วิธีหลีกเลี่ยง leakage
  • กลยุทธ์ imbalance ของ outcome
  • การตีความ representation หลังฝึก