← Kembali ke artikel
July 31, 2026
5 menit baca

Epistemik vs Aleatorik: Mengukur Apa yang Tidak Diketahui Model Return

Epistemik vs Aleatorik: Mengukur Apa yang Tidak Diketahui Model Return
#bayesian
#uncertainty
#neural-network
#risk
#position-sizing

Setiap aturan sizing posisi di blog ini meruntuhkan ketidakpastian menjadi satu skalar. Kelly membagi dengan varians. Prediksi konformal membagi dengan lebar interval. Target volatilitas membagi dengan prakiraan GARCH. Ketiganya benar, dan ketiganya membuang perbedaan yang penting untuk trading: perbedaan antara pasar yang bising dan model yang tidak tahu.

Itu bukan risiko yang sama. Noise pasar dipricied — itu yang Anda kompensasi untuk menanggungnya. Ketidaktahuan model tidak dipricied, tidak kompensasi, dan persis keadaan di mana estimasi edge Anda paling tidak dapat dipercaya. Aturan sizing yang mendorong keduanya sama meninggalkan sesuatu di meja.

Postingan ini tentang membuat split itu terukur. Secara konkret:

σeff2=σalea2+λσepi2,λ>1\sigma^2_{\text{eff}} = \sigma^2_{\text{alea}} + \lambda \cdot \sigma^2_{\text{epi}}, \qquad \lambda > 1

Letakkan itu di penyebut Kelly sebagai pengganti varians total. Sisa artikel adalah tentang cara mengestimasi dua komponen (MC Dropout, deep ensembles), dan bagaimana split terlihat pada data nyata.

Tesis: Dua Ketidakpastian, Dua Respon

Epistemik Aleatorik
Sumber Data terbatas / model Noise inheren dalam data
Dapat dikurangi? Ya (data lebih membantu) Tidak
Aksi trading Kurangi posisi atau abstain Perlebar stop, kurangi leverage
Sinyal "Saya belum melihat rezim ini" "Pasar ini sedang bising sekarang"

Asimetri dalam baris "aksi trading" adalah seluruh argumen. Varians aleatorik tinggi adalah unknown yang diketahui: Anda bisa sizing untuk itu, hedge itu, dan berharap dibayar premi risiko untuk memegangnya. Varians epistemik tinggi adalah unknown yang tak diketahui: model mengekstrapolasi, estimasi rata-ratanya μ\mu sama mencurigakannya dengan estimasi variansnya, dan tidak ada premi yang melekat pada salah tentang parameter sendiri.

Model yang mengacaukan keduanya akan melakukan over-trading dalam rezim asing (mengabaikan ketidakpastian epistemik) atau under-trading dalam rezim familiar tapi bising (over-penalti ketidakpastian aleatorik). Kelly standar, diterapkan ke σtotal2\sigma^2_{\text{total}}, melakukan keduanya tergantung komponen mana yang mendominasi.

Dekomposisi

Ketidakpastian epistemik berasal dari ketidakpastian atas parameter model θ\theta. Alih-alih satu θ\theta^* (seperti dalam maksimum likelihood), kami menjaga distribusi p(θD)p(\theta \mid \mathcal{D}) dan mengintegrasikan:

p(yx,D)=p(yx,θ)p(θD)dθp(y \mid x, \mathcal{D}) = \int p(y \mid x, \theta)\, p(\theta \mid \mathcal{D})\, d\theta

Penyebaran yang diinduksi oleh mengintegrasikan atas θ\theta adalah epistemik. Ia menyusut saat D\mathcal{D} tumbuh untuk menutupi wilayah input.

Ketidakpastian aleatorik adalah noise kondisional dari proses pembangkit data. Dalam jaringan saraf, ini dimodelkan oleh head output kedua yang memancarkan varians bergantung-input:

p(yx,θ)=N(y;μθ(x),σθ2(x))p(y \mid x, \theta) = \mathcal{N}\bigl(y;\, \mu_\theta(x),\, \sigma^2_\theta(x)\bigr)

Head heteroskedastik ini memperkirakan objek yang sama yang GARCperkiraan secara klasik — varians kondisional bergantung-negara yang tinggi overnight dan rendah di jam puncak. Jika Anda ingin empirik objek itu pada crypto, GARCH(1,1) untuk volatilitas crypto mencakupnya dengan baik, termasuk mengapa prakiraan kondisional live (bukan varians sampel tak-bersyarat) termasuk dalam penyebut Kelly. Head NN hanyalah estimator berbeda dari kuantitas yang sama, fit bersama dengan mean.

Apa yang tidak bisa GARCH berikan kepada Anda adalah term lain. Untuk itulah sisa postingan ini.

Di Mana Ini Berdiri Relatif Terhadap Sudah Dipublikasikan

Dua postingan sebelumnya mencakup tanah berdekatan dan layak dibaca dulu, karena postingan ini sengaja tidak mengulanginya:

  • Prediksi konformal untuk sizing posisi sadar-risiko memberi Anda interval dengan jaminan cakupan sampel terbatas, tanpa asumsi distribusi, plus sizing invers-lebar dan filter no-trade rasio-edge. Ini alat yang lebih kuat jika yang Anda inginkan hanyalah interval yang berukuran benar.
  • Temporal Fusion Transformers memancarkan quantile secara langsung dan sudah memperingatkan bahwa quantile kerugian pinball tidak otomatis terkalibrasi out-of-sample.

Trade-off bersih. Konformal memberi Anda jaminan tapi satu angka — lebar interval tidak terdekomposisi, jadi tidak bisa memberitahu mengapa itu melebar. Metode Bayesian memberi Anda dekomposisi tapi tidak ada jaminan — interval MC Dropout hanya sebagus pendekat posterior. Artikel ini tentang membeli dekomposisi; Anda mungkin harus menjaga konformal di atasnya untuk cakupan.

Metode 1: Inferensi Variasional (Bayes by Backprop)

Posterior berat Bayesian yang padat dikompresi menjadi aproksimasi variasional yang dapat dikelola sebelum memproduksi distribusi return prediktif

Jaringan saraf Bayesian menempatkan prior p(θ)p(\theta) atas bobot dan mencari posterior p(θD)p(Dθ)p(θ)p(\theta \mid \mathcal{D}) \propto p(\mathcal{D} \mid \theta) p(\theta). Normalizer membutuhkan integrasi atas setiap konfigurasi bobot, yang intraktabel untuk apa pun dengan lebih dari segenggam parameter.

Inferensi variasional menggantikan posterior intraktabel dengan keluarga yang dapat dikelola qϕ(θ)q_\phi(\theta) — biasanya Gaussian terfaktorkan qϕ(θ)=jN(θj;μj,σj2)q_\phi(\theta) = \prod_j \mathcal{N}(\theta_j; \mu_j, \sigma_j^2) — dan meminimalkan

KL(qϕ(θ)p(θD))\text{KL}\bigl(q_\phi(\theta) \,\|\, p(\theta \mid \mathcal{D})\bigr)`

Karena itu melibatkan posterior yang tidak diketahui, kami sebagai gantinya memaksimalkan Batas Bawah Bukti:

L(ϕ)=Eqϕ(θ)[logp(Dθ)]KL(qϕ(θ)p(θ))\mathcal{L}(\phi) = \mathbb{E}_{q_\phi(\theta)}\bigl[\log p(\mathcal{D} \mid \theta)\bigr] - \text{KL}\bigl(q_\phi(\theta) \,\|\, p(\theta)\bigr)

Term pertama mendorong qϕq_\phi untuk menjelaskan data; term kedua menjaganya dekat prior. Bayes by Backprop (Blundell et al., 2015) membuat ini dapat-diferensiasi dengan trik reparameterisasi: sampel ϵN(0,I)\epsilon \sim \mathcal{N}(0, I), setel θ=μ+σϵ\theta = \mu + \sigma \odot \epsilon.

Dalam praktik, VI menggandakan jumlah parameter, menaikkan varians gradien (setiap pass maju menggunakan bobot berbeda), dan asumsi mean-field mengabaikan korelasi bobot, yang cenderung mengunderestimasi ketidakpastian epistemik. Untuk stack trading di mana Anda sudah memiliki model deterministik yang terlatih, dua metode lebih murah di bawah biasanya titik masuk yang lebih baik.

Metode 2: MC Dropout

Pass maju dropout-aktif berulang mengipar ke prediksi berbeda yang perselisihannya membentuk ketidakpastian epistemik

Gal dan Ghahramani (2016) menunjukkan bahwa jaringan yang dilatih dengan dropout dan dievaluasi dengan dropout masih aktif pada waktu tes adalah prosedur inferensi variasional aproksimatif dalam proses Gaussian dalam. Dropout sudah menginduksi distribusi atas subjaringan; membiarkannya aktif selama inferensi dan menjalankan TT pass maju mengambil sampel dari posterior implisit itu.

Ini tidak ada di tempat lain di blog ini. Kode yang dipublikasikan di sini menggunakan dropout hanya sebagai regularizer waktu-latihan (pemodelan spread, TFT pada dropout=0.1–0.3). Membiarkannya aktif selama inferensi adalah perubahan satu baris dengan arti yang sama sekali berbeda.

Statistik Prediktif

Diberikan TT pass maju stokastik menghasilkan {y^t}t=1T\{\hat{y}_t\}_{t=1}^{T} dan varians per-pass σ^t2(x)\hat{\sigma}_t^2(x):

Rata-rata prediktif:

yˉ=1Tt=1Ty^t\bar{y} = \frac{1}{T} \sum_{t=1}^T \hat{y}_t

Epistemik (perselisihan antara pass):

σepi2=1Tt=1T(y^tyˉ)2\sigma^2_{\text{epi}} = \frac{1}{T} \sum_{t=1}^T (\hat{y}_t - \bar{y})^2

Aleatorik (rata-rata noise yang diprediksi):

σalea2=1Tt=1Tσ^t2\sigma^2_{\text{alea}} = \frac{1}{T} \sum_{t=1}^T \hat{\sigma}_t^2

Dekomposisi adalah persis hukum varians total: varians dari rata-rata kondisional, ditambah rata-rata dari varians kondisional. Varians prediktif total adalah jumlah mereka.

Implementasi PyTorch

import torch
import torch.nn as nn
import numpy as np

class MCDropoutNet(nn.Module):
    """
    Jaringan prediksi return dengan MC Dropout untuk estimasi ketidakpastian.
    Output mean prediksi dan log-varians (aleatorik).
    """
    def __init__(self, input_dim: int, hidden_dim: int = 128, dropout_p: float = 0.1):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(input_dim, hidden_dim),
            nn.ReLU(),
            nn.Dropout(p=dropout_p),
            nn.Linear(hidden_dim, hidden_dim),
            nn.ReLU(),
            nn.Dropout(p=dropout_p),
        )
        self.head_mu = nn.Linear(hidden_dim, 1)        # return yang diprediksi
        self.head_logvar = nn.Linear(hidden_dim, 1)    # log(varians aleatorik)

    def forward(self, x: torch.Tensor):
        h = self.net(x)
        return self.head_mu(h), self.head_logvar(h)


def heteroscedastic_loss(mu, log_var, target):
    """Log-likelihood negatif untuk Gaussian dengan varians yang dipelajari, bergantung-input."""
    precision = torch.exp(-log_var)
    return torch.mean(0.5 * precision * (target - mu) ** 2 + 0.5 * log_var)


@torch.no_grad()
def mc_predict(model: MCDropoutNet, x: torch.Tensor, n_samples: int = 100):
    """
    Inferensi MC Dropout: pertahankan dropout aktif, kumpulkan T pass maju,
    dekomposisi varians prediktif menjadi bagian epistemik dan aleatorik.
    """
    model.train()  # BUKAN eval() — ini yang menjaga dropout aktif
    mus, log_vars = [], []
    for _ in range(n_samples):
        mu, log_var = model(x)
        mus.append(mu)
        log_vars.append(log_var)

    mus = torch.stack(mus)            # (T, batch, 1)
    log_vars = torch.stack(log_vars)  # (T, batch, 1)

    pred_mean = mus.mean(dim=0)
    epistemic_var = mus.var(dim=0)              # Var atas pass
    aleatoric_var = log_vars.exp().mean(dim=0)  # E atas pass

    return {
        "mean": pred_mean.squeeze(-1),
        "epistemic_std": epistemic_var.sqrt().squeeze(-1),
        "aleatoric_std": aleatoric_var.sqrt().squeeze(-1),
        "total_std": (epistemic_var + aleatoric_var).sqrt().squeeze(-1),
    }

Latihan menggunakan loss heteroskedastik, itulah yang membuat head varians berarti sesuatu. Perhatikan struktur self-regulasi: term 0.5 * precision * (target - mu)**2 ingin varians kecil, term 0.5 * log_var menghukumnya, dan titik keseimbangan adalah tingkat noise kondisional.

model = MCDropoutNet(input_dim=50, hidden_dim=128, dropout_p=0.1)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=1e-4)

for epoch in range(200):
    model.train()
    for x_batch, y_batch in train_loader:
        mu, log_var = model(x_batch)
        loss = heteroscedastic_loss(mu, log_var, y_batch)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

Gotcha yang membunuh metode secara diam-diam: memanggil model.eval() di dalam mc_predict. Menonaktifkan dropout, setiap pass mengembalikan nilai identik, epistemic_var runtuh menjadi tepat nol, dan aturan sizing Anda secara diam-diam kembali ke Kelly biasa pada varians aleatorik. Gagal tanpa error. Pastikan epistemic_var > 0 di jalur inferensi Anda.

Memilih Jumlah Pass Maju

  • T=30T = 30: batas bawah wajar untuk rata-rata stabil
  • T=100T = 100: default dapat digunakan untuk mean dan varians
  • T=500+T = 500{+}: pengembalian yang berkurang kecuali Anda butuh quantile ekor

Metode 3: Deep Ensembles

Lima jaringan saraf yang dilatih secara independen menggabungkan prediksi mereka sementara perselisihan mereka membentuk halo epistemik

Lakshminarayanan et al. (2017) melatih MM jaringan independen dari inisialisasi acak berbeda dan mengagregasi. Meskipun tidak secara formal Bayesian, deep ensembles secara konsisten mengalahkan metode yang lebih berprinsip pada benchmark kalibrasi ketidakpastian.

p(yx)1Mm=1Mp(yx,θm)p(y \mid x) \approx \frac{1}{M} \sum_{m=1}^M p(y \mid x, \theta_m^*)

Perselisihan antar anggota adalah estimasi epistemik. Ensembles muncul di tempat lain di blog ini sebagai perangkat agregasi — deteksi anomali, deteksi rezim HMM, bootstrap blok EnbPI konformal — tapi tidak pernah sebagai estimator ketidakpastian via spread inter-anggota. Itulah penggunaan di sini.

Implementasi Ensemble

Keragaman datang dari latihan independen, bukan dari membangun MM objek. Ensemble anggota yang tak terlatih atau terlatih identik mengembalikan noise atau varians epistemik nol:

class DeepEnsemble:
    def __init__(self, input_dim: int, n_models: int = 5, hidden_dim: int = 128):
        self.models = []
        for seed in range(n_models):
            torch.manual_seed(seed)          # init berbeda per anggota
            self.models.append(
                MCDropoutNet(input_dim, hidden_dim, dropout_p=0.0)
            )

    def fit(self, train_loader, epochs: int = 200, lr: float = 1e-3):
        """Setiap anggota dilatih secara independen. Di sini dari mana keragaman datang
        -- init berbeda, urutan shuffle berbeda. Melewatkan ini
        menghasilkan epistemic_var == 0 (anggota identik) atau noise murni (tak terlatih)."""
        for seed, model in enumerate(self.models):
            torch.manual_seed(1000 + seed)   # stream shuffle/dropout berbeda
            opt = torch.optim.AdamW(model.parameters(), lr=lr, weight_decay=1e-4)
            model.train()
            for _ in range(epochs):
                for x_batch, y_batch in train_loader:
                    mu, log_var = model(x_batch)
                    loss = heteroscedastic_loss(mu, log_var, y_batch)
                    opt.zero_grad()
                    loss.backward()
                    opt.step()
        return self

    @torch.no_grad()
    def predict(self, x: torch.Tensor):
        mus, variances = [], []
        for model in self.models:
            model.eval()                     # benar di sini: tanpa sampling dropout
            mu, log_var = model(x)
            mus.append(mu.squeeze(-1))
            variances.append(log_var.exp().squeeze(-1))

        all_mus = torch.stack(mus)
        all_vars = torch.stack(variances)

        epistemic_var = all_mus.var(dim=0)   # penyebaran ACARA anggota
        aleatoric_var = all_vars.mean(dim=0)

        return {
            "mean": all_mus.mean(dim=0),
            "epistemic_std": epistemic_var.sqrt(),
            "aleatoric_std": aleatoric_var.sqrt(),
            "total_std": (epistemic_var + aleatoric_var).sqrt(),
        }

Perhatikan bahwa model.eval() benar di DeepEnsemble.predict dan salah di mc_predict. Sumber stochasticity berbeda: ensembles mendapatkannya dari latihan independen, MC Dropout dari mask dropout live.

Trade-off: MC Dropout vs Deep Ensembles

MC Dropout Deep Ensembles
Biaya latihan 1x (model tunggal) MMx (MM model)
Biaya inferensi TT pass maju MM pass maju
Memori 1x parameter MMx parameter
Kualitas ketidakpastian Cenderung mengunderestimasi epistemik Lebih baik terkalibrasi secara keseluruhan
Kemudahan implementasi Trivial (balik bendera) Trivial (latih MM model)
Paralelisme Pass berurutan (model sama) Sangat mudah paralel

Hybrid pragmatis: latih ensemble kecil (M=35M = 3{-}5) di mana setiap anggota juga menggunakan MC Dropout, menangkap perselisihan inter-model dan stochasticity intra-model.

Bayaran: Sizing Asimetrik

Noise aleatorik melebarkan amplop risiko sementara ketidakpastian epistemik menyempitkan aperture sizing posisi dan menciptakan zona abstain

Di sinilah kontribusi nyata. Kelly Gaussian adalah f=μ/σ2f^* = \mu / \sigma^2; turunannya, parabola pertumbuhan, tabel probabilitas drawdown, dan empat alasan untuk menjalankan Kelly fraksional daripada penuh semuanya di Kriteria Kelly untuk Strategi, dan tidak diulang di sini. Ambil f=μ/σ2f^* = \mu / \sigma^2 pada fraksi seperempat-Kelly sebagai diberikan.

Modifikasinya adalah penyebut. Alih-alih varians prediktif total:

σeff2=σalea2+λσepi2,λ>1\sigma^2_{\text{eff}} = \sigma^2_{\text{alea}} + \lambda \cdot \sigma^2_{\text{epi}}, \qquad \lambda > 1

Argumen untuk λ>1\lambda > 1: varians aleatorik adalah noise pasar, itu dipricied, dan menanggungnya adalah bagaimana strategi menghasilkan. Varians epistemik adalah ketidaktahuan Anda — tidak membawa premi, dan lebih buruk, berkorelasi dengan estimasi μ\mu Anda salah. Ketika σepi\sigma_{\text{epi}} besar, pembilah Kelly tidak dapat dipercaya pada saat yang sama dengan penyebut, jadi error sizing majemuk. Menyalahkannya secara superlinier terhadap noise pasar adalah ekspresi langsung dari itu.

def uncertainty_adjusted_position_size(
    pred_mean: float,
    epistemic_std: float,
    aleatoric_std: float,
    max_position: float = 1.0,
    lam: float = 2.0,                   # penalti epistemik; tune pada validasi
    max_epi_ratio: float = 0.5,         # abstain di atas rasio epi/alea ini
    base_kelly_fraction: float = 0.25,
) -> float:
    """Sizing Kelly di mana varians epistemik lebih keras dipenalti daripada aleatorik."""
    effective_var = aleatoric_std ** 2 + lam * epistemic_std ** 2
    if effective_var < 1e-10:
        return 0.0

    position = (pred_mean / effective_var) * base_kelly_fraction

    epi_ratio = epistemic_std / (aleatoric_std + 1e-8)
    if epi_ratio > max_epi_ratio:
        position *= max(0.0, 1.0 - epi_ratio)

    return float(np.clip(position, -max_position, max_position))

Gerbang layak dicatat. Memzero posisi di bawah ambang kepercayaan bukan baru di sini — artikel konformal menentukan dan mengkode filter no-trade umum sebagai et=μ^/wte_t = |\hat{\mu}| / w_t dengan ambang min_edge, termasuk cara memilih ambang dan pembacaan geometris interval yang melintasi nol. Lihat prediksi konformal untuk mesin itu. Yang baru adalah penyebut: gating pada σepi/σalea\sigma_{\text{epi}} / \sigma_{\text{alea}} secara spesifik menembak ketika model lebih bingung tentang parameternya sendiri daripada pasar bising — keadaan yang gating total-ketidakpastian tidak bisa mendeteksi, karena rezim tenang tapi asing bisa memiliki varians total rendah dan rasio epistemik yang mengerikan.

Kalibrasi: Delegasikan Ini

Estimasi ketidakpastian hanya berguna jika terkalibrasi: interval nominal 95% harus berisi kebenaran ~95% dari waktu. Jangan membuat sendiri pemeriksaan keandalan quantile Gaussian — interval parametrik pada residual return ekor-berat adalah persis mode kegagalan yang prediksi konformal ada untuk menghindari, dan mengirimkan evaluate() yang berfungsi yang melaporkan target vs cakupan empiris dengan jaminan sampel-terbatas di belakangnya. Postingan TFT membuat titik yang sama untuk head quantile.

Rescaling post-hoc (σ~=ασ+β\tilde{\sigma} = \alpha \sigma + \beta fit pada set validasi) adalah perbaikan murah, dan adalah sepupu yang lebih lemah dari Inferensi Konformal Adaptif, yang mempertahankan tingkat miscoverage on-line αt\alpha_t dengan batas cakupan jangka-panjang daripada rescaling statis. ACI adalah opsi yang lebih kuat; satu-satunya alasan untuk memilih rescaling linier adalah bahwa itu mempertahankan rasio epistemik/aleatorik, yang lebar tunggal ACI tidak.

Apa yang Harus Diukur Sebelum Mempublikasikan Ini

Metode di atas sudah mapan. Klaim bahwa split membeli sesuatu dalam trading tidak, dan blog ini tidak mempublikasikan aturan sizing pada argumen saja. Palang:

1. Dataset dan target. Sebutkan instrumen, ukuran bar, rentang tanggal eksplisit, set fitur, dan target prediksi.

2. Split itu sendiri. Berapa fraksi varians prediktif total adalah epistemik vs aleatorik, dan bagaimana rasio itu bergerak antara jendela tenang yang dinamai dan volatil yang dinamai. Ini adalah grafik uang dan belum ada. Hipotesis yang berharga falsifikasi: rasio melonjak sebelum volatilitas terealisasi, karena ketidaktahuan mendahului turbulensi.

3. Cakupan vs konformal. Cakupan terukur out-of-sample dari interval MC Dropout terhadap nominal, dibandingkan dengan interval split-konformal dari artikel yang dipublikasikan pada data yang sama. Head-to-head itu sendiri adalah hasil baru dan jembatan alami antara dua postingan.

4. Apakah λ\lambda membeli sesuatu? Sapu penalti epistemik pada validasi dan laporkan PnL dan drawdown maksimum terhadap baseline λ=1\lambda = 1. Jika tidak membeli apa pun, katakan demikian — Negatif Jujur adalah templat untuk hasil itu dan adalah hasil yang dapat dipublikasikan.

5. Biaya inferensi. Diukur, pada perangkat keras target, pada setiap TT.

Evaluasi apa pun di sini berjalan di bawah disiplin optimasi walk-forwardλ\lambda adalah hyperparameter, dan λ\lambda yang di-tune pada sampel penuh bukan hasil.

Tips Praktis untuk Produksi

1. Panaskan prior. Dengan inferensi variasional, inisialisasi mean variasional dari jaringan deterministik pra-latih alih-alih secara acak. Biasanya mengurangi separuh waktu konvergensi.

2. Perhatikan runtuhnya varians. Varians yang dipelajari σj\sigma_j bisa drift hampir ke nol, diam-diam mengembalikan BNN ke jaringan deterministik. Pantau mean σj\sigma_j selama latihan; tambahkan annealing KL jika perlu.

3. Rekalibrasi pada basis bergulir, bukan pada set validasi tetap. Pasar non-stasioner dan kalibrasi yang sekali fit membusuk. Either retrain pada jendela bergulir di bawah disiplin Walk-Forward, atau biarkan ACI menyerap staleness model on-line — postingan konformal mencakup trade-off frekuensi retrain secara langsung.

4. Keberagaman ensemble penting. Seed berbeda, shuffle berbeda, opsional hyperparameter berbeda per anggota. Keberagaman inisialisasi adalah pengemudi utama kualitas ensemble, itulah sebabnya loop fit() di atas tidak opsional.

5. Log dekomposisi, bukan hanya total. Simpan kedua komponen bersama hasil terealisasi. Tanpa ini Anda tidak bisa menjawab satu-satunya pertanyaan yang penting dalam tinjauan: ketika sizer memangkas eksposur, apakah karena pasar bising atau karena model hilang — dan apakah itu benar?

6. Ketidakpastian sebagai fitur. Statistik epistemik bergulir dapat sendiri prediktif untuk drawdown. Masuk akal, tak terukur, dan layak postingan terpisah.

Batasan dan Caveats Jujur

  • Posterior aproksimasi masih aproksimasi. MC Dropout dan VI memberikan pandangan terbatas dari posterior sejati. Lebih baik daripada tidak ada, bukan kebenaran tanah, dan tidak ada jaminan cakupan yang melekat pada keduanya.
  • Kalibrasi merosot tepat ketika Anda membutuhkannya. Dalam rezim yang benar-benar baru model mungkin masih miscalibrated — itu hanya cenderung lebih sedikit miscalibrated daripada yang deterministik. Estimasi ketidakpastian dari input out-of-distribution adalah output out-of-distribution itu sendiri.
  • Varians aleatorik dapat menyerap sinyal epistemik. Jika head heteroskedastik cukup fleksibel, ia belajar menjelaskan ketidakpastian model sebagai noise data, runtuhnya σepi\sigma_{\text{epi}} menuju nol dan diam-diam mengalahkan seluruh dekomposisi. Ini adalah mode kegagalan paling penting dalam postingan ini dan tidak mengumumkan dirinya sendiri. Pantau rasio lintas rezim; rasio yang tidak pernah bergerak adalah dekomposisi rusak, bukan pasar stabil.
  • λ\lambda adalah parameter bebas. Memperkenalkan kenop yang dapat di-tune ke aturan sizing adalah bagaimana aturan sizing overfit dibangun. Ini perlu justifikasi walk-forward atau perlu diperbaiki pada 1.

Kesimpulan

Prediksi konformal sudah memberikan blog ini lebar interval dengan jaminan cakupan, dan Kelly sudah memberinya aturan sizing. Yang tidak diberikan salah satu adalah jawaban atas mengapa interval lebar. Memecah varians prediktif menjadi bagian epistemik dan aleatorik menjawab itu, dan jawabannya dapat ditindaklanjuti dengan cara yang total tidak: noise pasar adalah risiko kompensasi, ketidaktahuan model tidak, dan penyebut sizing harus mengatakannya.

MC Dropout membuat split hampir gratis — satu baris (model.train() pada inferensi) mengubah jaringan dropout apa pun menjadi Bayesian aproksimatif. Deep ensembles biaya MMx dan terkalibrasi lebih baik. Keduanya memberi makan penyebut asimetrik yang sama σalea2+λσepi2\sigma^2_{\text{alea}} + \lambda \sigma^2_{\text{epi}}.

Apakah λ>1\lambda > 1 benar-benar membayar adalah pertanyaan empiris yang draft ini belum menjawab. Pengukuran yang terdaftar di atas adalah harga mempublikasikannya.


Referensi:

  • Blundell, C., Cornebise, J., Kavukcuoglu, K., & Wierstra, D. (2015). Weight Uncertainty in Neural Networks. ICML.
  • Gal, Y. & Ghahramani, Z. (2016). Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning. ICML.
  • Lakshminarayanan, B., Pritzel, A., & Blundell, C. (2017). Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles. NeurIPS.
  • Kendall, A. & Gal, Y. (2017). What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision? NeurIPS.
  • Gibbs, I. & Candes, E. (2021). Adaptive Conformal Inference Under Distribution Shift. NeurIPS.
  • Kelly, J. L. (1956). A New Interpretation of Information Rate. Bell System Technical Journal.
Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.