← Kembali ke artikel
July 31, 2026
Bacaan 5 minit

Epistemik vs Aleatorik: Mengukur Apa yang Model Pulangan Tidak Tahu

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

Setiap peraturan saiz kedudukan dalam blog ini meruntuhkan ketidakpastian kepada satu skalar. Kelly membahagi dengan varians. Ramalan konformal membahagi dengan lebar selang. Penyasaran volatiliti membahagi dengan ramalan GARCH. Ketiga-tiganya betul, dan ketiga-tiganya membuang perbezaan yang penting untuk dagangan: perbezaan antara pasaran yang bising dan model yang jahil.

Ia bukan risiko yang sama. Hingar pasaran ditentukan harganya — itulah yang anda dibayar untuk memikulnya. Kejahilan model tidak ditentukan, tidak dibayar, dan tepatnya keadaan di mana anggaran edge anda paling tidak boleh dipercayai. Peraturan saiz yang mewajarkan mereka sama-sama meninggalkan sesuatu di atas meja.

Pos ini mengenai menjadikan pemisahan itu boleh diukur. Secara konkrit:

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

Letakkan itu dalam penyebut Kelly dan bukan varians jumlah. Selebihnya artikel adalah tentang cara menganggar dua komponen (MC Dropout, ansambl dalam), dan bagaimana pemisahan itu sebenarnya kelihatan pada data sebenar.

Tesis: Dua Ketidakpastian, Dua Respons

Epistemik Aleatorik
Sumber Data terhad / model Hingar semula jadi dalam data
Boleh dikurangkan? Ya (lebih banyak data membantu) Tidak
Tindakan dagangan Kurangkan kedudukan atau elak Lebarkan stop, kurangkan pencairan
Isyarat "Saya tidak pernah melihat regimen ini" "Pasaran ini bising sekarang"

Asimetri dalam baris "tindakan dagangan" adalah seluruh hujah. Varians aleatorik tinggi adalah tidak diketahui diketahui: anda boleh mengsaiz untuknya, lindung nilai, dan menjangkakan untuk dibayar premium risiko untuk memegangnya. Varians epistemik tinggi adalah tidak diketahui tidak diketahui: model mengekstrapolasi, anggaran minnya μ\mu sama mencurigakan dengan anggaran variansnya, dan tiada premium dilampirkan untuk menjadi salah tentang parameter anda sendiri.

Model yang menggabungkan kedua-duanya akan sama ada berdagangan berlebihan dalam regimen yang tidak dikenali (mengabaikan ketidakpastian epistemik) atau berdagangan kurang dalam regimen yang dikenali tetapi bising (mewajarkan berlebihan ketidakpastian aleatorik). Kelly standard, digunakan pada σtotal2\sigma^2_{\text{total}}, melakukan kedua-duanya bergantung pada komponen mana yang mendominasi.

Pemisahan

Ketidakpastian epistemik datang daripada ketidakpastian ke atas parameter model θ\theta. Dan bukannya satu θ\theta^*(seperti dalam kemungkinan maksimum), kita mengekalkan taburan p(θD)p(\theta \mid \mathcal{D}) dan mengamalkan:

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 disebabkan oleh pengamatan ke atas θ\theta adalah epistemik. Ia mengecil apabila D\mathcal{D} membesar untuk meliputi kawasan input.

Ketidakpastian aleatorik adalah hingar bersyarat proses penjanaan data. Dalam rangkaian neural, ia dimodelkan oleh kepala 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)

Kepala heteroskedastik itu menganggar objek yang sama yang GARCH anggarkan secara klasik — varians bersyarat bergantung keadaan yang tinggi semalaman dan rendah pada waktu puncak. Jika anda mahukan empirik objek itu pada kripto, GARCH(1,1) for crypto volatility meliputinya dengan baik, termasuk mengapa ramalan bersyarat langsung(bukan varians sampel tak bersyarat) milik dalam penyebut Kelly. Kepala NN hanyalah penganggar berbeza bagi objek yang sama, muat bersama dengan min.

Apa yang GARCH tidak boleh berikan adalah istilah lain. Itulah tujuan selebihnya pos ini.

Di Mana Ini Duduk Berbanding dengan Yang Telah Diterbitkan

Dua pos terdahulu meliputi tanah jiran dan patut dibaca terlebih dahulu, kerana pos ini dengan sengaja tidak mengulanginya:

  • Ramalan konformal untuk saiz kedudukan sedar risiko memberi anda selang dengan jaminan liputan sampel terhingga, tiada andaian taburan, tambah saiz songsang lebar dan penapis no-trade nisbah edge. Ia adalah alat yang lebih kuat jika semua yang anda mahu hanyalah selang yang bersaiz betul.
  • Temporal Fusion Transformers memancarkan kuantil secara langsung dan sudah memberi amaran bahawa kuantil kerugian pinball tidak dikalibrasi secara automatik di luar sampel.

Perdagangan adalah bersih. Konformal memberi jaminan tetapi satu angka — lebar selang tidak boleh dipecahkan, jadi ia tidak boleh memberitahu anda mengapa ia melebar. Kaedah Bayesian memberi pemecahan tetapi tiada jaminan — selang MC Dropout hanya sebaik posterior anggaran. Artikel ini adalah tentang membeli pemecahan; anda mungkin harus mengekalkan konformal di atasnya untuk liputan.

Kaedah 1: Inferens Variasi (Bayes oleh Backprop)

Posterior berat Bayesian yang padat dimampatkan kepada penghampiran variasi yang boleh ditangani sebelum menghasilkan taburan pulangan ramalan

Rangkaian neural Bayesian meletakkan prior p(θ)p(\theta) ke atas berat dan mencari posterior p(θD)p(Dθ)p(θ)p(\theta \mid \mathcal{D}) \propto p(\mathcal{D} \mid \theta) p(\theta). Penormal memerlukan pengamatan ke atas setiap konfigurasi berat, yang tidak boleh dilakukan untuk apa-apa dengan lebih daripada beberapa parameter.

Inferens variasi menggantikan posterior yang tidak boleh ditangani dengan keluarga yang boleh ditangani qϕ(θ)q_\phi(\theta) — biasanya Gaussian berfaktorkan qϕ(θ)=jN(θj;μj,σj2)q_\phi(\theta) = \prod_j \mathcal{N}(\theta_j; \mu_j, \sigma_j^2) — dan meminimumkan

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

Oleh kerana itu melibatkan posterior yang tidak diketahui, kita sebaliknya memaksimumkan Bukti Lower Bound:

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)

Istilah pertama menolak qϕq_\phi ke arah menerangkan data; istilah kedua menyimpannya berhampiran prior. Bayes by Backprop(Blundell et al., 2015) menjadikan ini boleh dibezakan dengan helah penamakan semula: sampel ϵN(0,I)\epsilon \sim \mathcal{N}(0, I), set θ=μ+σϵ\theta = \mu + \sigma \odot \epsilon.

Dalam amalan VI menggandakan jumlah parameter, menaikkan varians gradian(setiap laluan depan menggunakan berat berbeza), dan anggaran min-medan mengabaikan korelasi berat, yang cenderung menganggapi rendah ketidakpastian epistemik. Untuk timbunan dagangan di mana anda sudah mempunyai model deterministik yang terlatih, dua kaedah yang lebih murah di bawah biasanya adalah titik masuk yang lebih baik.

Kaedah 2: MC Dropout

Laluan depan dropout didorong berulang membuka kepada ramalan yang berbeza yang perselisihannya membentuk ketidakpastian epistemik

Gal dan Ghahramani(2016) menunjukkan bahawa rangkaian yang dilatih dengan dropout dan dinilai dengan dropouts masih aktif pada masa ujian adalah prosedur inferens variasi anggaran dalam proses Gaussian dalam. Dropout sudah memicu taburan ke atas subrangkaian; mengekalkannya pada inferens dan menjalankan TT laluan depan sampel dari posterior tersirat itu.

Ini tidak ada di tempat lain dalam blog ini. Kod yang diterbitkan di sini hanya menggunakan dropout sebagai pengatur biasa masa latihan(pemodelan penyebaran, TFT pada dropout=0.1–0.3). Mengekalkannya pada inferens adalah perubahan satu baris dengan makna yang sama sekali berbeza.

Statistik Ramalan

Diberi TT laluan depan stokastik menghasilkan {y^t}t=1T\{\hat{y}_t\}_{t=1}^{T} dan varians setiap laluan σ^t2(x)\hat{\sigma}_t^2(x):

Min ramalan:

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

Epistemik(perselisihan antara laluan):

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

Aleatorik(min hingar ramalan):

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

Pemisahan adalah tepat undang varians jumlah: varians min bersyarat tambah min varians bersyarat. Varians ramalan jumlah adalah jumlah mereka.

Pelaksanaan PyTorch

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

class MCDropoutNet(nn.Module):
    """
    Rangkaian ramalan pulangan dengan MC Dropout untuk anggaran ketidakpastian.
    Output min ramalan 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)        # pulangan ramalan
        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 bergantung input yang dipelajari."""
    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):
    """
    Inferens MC Dropout: kekalkan dropout HIDUP, kumpul T laluan depan,
    pecahkan varians ramalan kepada epistemik dan aleatorik.
    """
    model.train()  # NOT eval() -- ini mengekalkan 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)              # Varians merentas laluan
    aleatoric_var = log_vars.exp().mean(dim=0)  # E merentas laluan

    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 kerugian heteroskedastik, yang menjadikan kepala varians bermakna. Perhatikan struktur kawalatur diri: istilah 0.5 * precision * (target - mu)**2 mahu varians kecil, istilah 0.5 * log_var menghukumnya, dan titik keseimbangan adalah tahap hingar bersyarat.

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 kaedah ini secara senyap: memanggil model.eval() dalam mc_predict. Ia melumpuhkan dropout, setiap laluan mengembalikan nilai yang sama, epistemic_var runtuh kepada tepat sifar, dan peraturan saiz anda secara senyap kembali kepada Kelly biasa pada varians aleatorik. Ia gagal tanpa ralat. Assert bahawa epistemic_var > 0 dalam laluan inferens anda.

Memilih Bilangan Laluan Depan

  • T=30T = 30: had bawah yang munasabah untuk min yang stabil
  • T=100T = 100: lalai boleh guna untuk min dan varians
  • T=500+T = 500{+}: pulangan yang berkurangan melainkan anda memerlukan kuantil ekor

Kaedah 3: Ansambl Dalam

Lima rangkaian neural yang dilatih secara bebas menggabungkan ramalan mereka sementara perselisihan mereka membentuk halo epistemik

Lakshminarayanan et al.(2017) melatih MM rangkaian bebas dari permulaan rawak yang berbeza dan mengagregat. Walaupun tidak secara formal Bayesian, ansambl secara tekal mengalahkan kaedah yang lebih berprinsip pada penanda aras 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 antara ahli adalah anggaran epistemik. Ansambl muncul di tempat lain dalam blog ini sebagai peranti agregasi — pengesanan anomali, pengesanan regimen HMM, bootstrap blok EnbPI konformal — tetapi tidak pernah sebagai penganggar ketidakpastian melalui penyebaran antara ahli. Itulah kegunaan di sini.

Pelaksanaan Ansambl

Kepelbagaian datang daripada latihan bebas, bukan dari membina MM objek. Ansambl ahli yang tidak terlatih atau dilatih sama ada akan memulangkan sama ada bunyi atau varians epistemik sifar:

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 berbeza untuk setiap ahli
            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 ahli dilatih secara bebas. Di sinilah kepelbagaian datang --
        init berbeza, pesan acakan berbeza. Melangkau ini
        menghasilkan epistemic_var == 0(ahli sama) atau bunyi tulen(tidak terlatih)."""
        for seed, model in enumerate(self.models):
            torch.manual_seed(1000 + seed)   # aliran acak/shuffle berbeza
            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()                     # betul di sini: tiada persampelan 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)   # taburan MERENTAS ahli
        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 bahawa model.eval() adalah betul dalam DeepEnsemble.predict dan salah dalam mc_predict. Sumber stokastik berbeza: ansambl mendapatnya daripada latihan bebas, MC Dropout mendapatnya daripada topeng dropout langsung.

Pertukaran: MC Dropout vs Ansambl Dalam

MC Dropout Ansambl Dalam
Kos latihan 1x(model tunggal) MMx(MM model)
Kos inferens TT laluan depan MM laluan depan
Ingatan 1x parameter MMx parameter
Kualiti ketidakpastian Cenderung menganggapi rendah epistemik Lebih baik kalibrasi keseluruhan
Kemudahan pelaksanaan Remeh(flag flip) Remeh(latih MM model)
Keparalel Laluan berurutan(model sama) Menjadi malu selari

Hibrid pragmatik: latih ansambl kecil(M=35M = 3{-}5) di mana setiap ahli juga menggunakan MC Dropout, menangkap kedua-dua perselisihan antara model dan stokastik dalam model.

Ganjaran: Saiz Asimetri

Hingar aleatorik melebaskan sampul risiko sementara ketidakpastian epistemik menutup bukaan saiz kedudukan dan mewujudkan zon elak

Inilah sumbangan sebenar. Kelly Gaussian ialah f=μ/σ2f^* = \mu / \sigma^2; terbitan, parabola pertumbuhan, jadual kebarangkalian penarikan balik dan empat sebab untuk menjalankan Kelly berpecah berbanding Kelly penuh semuanya ada dalam The Kelly Criterion for Strategies, dan tidak diulang di sini. Ambil f=μ/σ2f^* = \mu / \sigma^2 pada pecahan Kelly-suku sebagai diberikan.

Pengubahsuaian adalah penyebut. Dan bukannya varians ramalan jumlah:

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

Hujah untuk λ>1\lambda > 1: varians aleatorik adalah hingar pasaran, ia ditentukan, dan memikulnya adalah bagaimana strategi memperoleh. Varians epistemik adalah kejahilan anda — ia tidak membawa premium, dan lebih buruk lagi, ia berkorelasi dengan anggaran μ\mu anda yang salah. Apabila σepi\sigma_{\text{epi}} besar, pengangka Kelly tidak boleh dipercayai pada masa yang sama dengan penyebut, jadi ralat saiz digabungkan. Mewajarkannya secara superlinear berbanding hingar pasaran adalah ungkapan langsung 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; runa pada pengesahan
    max_epi_ratio: float = 0.5,         # elak di atas nisbah epi/alea ini
    base_kelly_fraction: float = 0.25,
) -> float:
    """Saiz Kelly di mana varians epistemik dikenakan penalti lebih keras 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 memerlukan nota. Sifar kedudukan di bawah ambang keyakinan bukan baru di sini — artikel konformal menentukan dan mengkod penapis no-trade umum sebagai et=μ^/wte_t = |\hat{\mu}| / w_t dengan ambang min_edge, termasuk cara memilih ambang dan bacaan geometri selang yang melintasi sifar. Lihat conformal prediction untuk jentera itu. Yang baru adalah penyebut: menggerakkan pada σepi/σalea\sigma_{\text{epi}} / \sigma_{\text{alea}} tembak khusus apabila model lebih keliru tentang parameternya daripada pasaran bising — keadaan yang tidak dapat dikesan oleh gerbang ketidakpastian jumlah, kerana regimen yang tenang tetapi tidak dikenali boleh mempunyai varians jumlah yang rendah dan nisbah epistemik yang mengerikan.

Kalibrasi: Pegangankan Ini

Anggaran ketidakpastian hanya berguna jika dikalibrasi: selang 95% nominal harus mengandungi kebenaran ~95% masa. Jangan gulung semak kebolehpercayaan Gaussian-kuantil anda sendiri di sini — selang parametrik pada sisa pulangan ekor tebal adalah tepat mod kegagalan ramalan konformal wujud untuk mengelak, dan ia menghantar evaluate() yang berfungsi melaporkan liputan sasaran vs empiris dengan jaminan sampel terhingga di belakangnya. Pos TFT membuat titik yang sama untuk kepala kuantil.

Penyesuaian semula pasca-hoc(σ~=ασ+β\tilde{\sigma} = \alpha \sigma + \beta muat pada set pengesahan) adalah pembaikan murah, dan ia adalah sepupu yang lebih lemah daripada Inferens Konformal Penyesuaian, yang mengekalkan tahap miscoverage dalam talian αt\alpha_t dengan sempadan liputan jangka panjang dan bukannya skala semula statik. ACI adalah pilihan yang lebih kuat; satu-satunya sebab untuk memilih skala semula linear adalah ia mengekalkan nisbah epistemik/aleatorik, yang satu lebar ACI tidak.

Apa Yang Perlu Diukur Sebelum Ini Diterbitkan

Kaedah di atas adalah ditubuhkan. Dakwaan bahawa pemisahan membeli apa-apa dalam dagangan bukan, dan blog ini tidak menerbitkan peraturan saiz pada hujah sahaja. Bar:

1. Set data dan sasaran. Namakan instrumen, saiz bar, julat tarikh yang eksplisit, set fitur, dan sasaran ramalan.

**2. Pemisahan itu sendiri. ** Apa pecahan varians ramalan jumlah adalah epistemik vs aleatorik, dan bagaimana nisbah itu bergerak antara tingkap tenang yang dinamakan dan tingkap volatil yang dinamakan. Ini adalah carta wang dan ia belum wujud lagi. Hipotesis yang bernilai menafikan: nisbah memuncak sebelum volatiliti direalisasikan, kerana ketidakbiasaan mendahului kegemparan.

**3. Liputan vs konformal. ** Liputan luar sampel yang diukur bagi selang MC Dropout terhadap nominal, dibandingkan dengan selang split-konformal daripada artikel yang diterbitkan pada data yang sama. Head-to-head itu sendiri adalah hasil baru dan jambatan semula jadi antara dua pos.

**4. Adakah λ\lambda membeli apa-apa? ** Sapu penalti epistemik pada pengesahan dan laporkan PnL dan penarikan balik maksimum terhadap garis dasar λ=1\lambda = 1. Jika ia tidak membeli apa-apa, katakan — The Honest Negative adalah templat untuk hasil itu dan ia adalah hasil yang boleh diterbitkan.

**5. Kos inferens. ** Diukur, pada perkakasan sasaran, pada setiap TT.

Sebarang penilaian di sini berjalan di bawah disiplin walk-forward optimizationλ\lambda adalah hiperparameter, dan λ\lambda yang ditala pada sampel penuh bukan hasil.

Petua Praktikal untuk Pengeluaran

**1. Panaskan prior. ** Dengan inferens variasi, mulakan min variasi daripada rangkaian deterministik pra-latih dan bukannya secara rawak. Biasanya separuh masa pertemuan.

**2. Perhatikan keruntuhan varians. ** Varians yang dipelajari σj\sigma_j boleh menghampiri sifar, secara senyap mengembalikan BNN kepada rangkaian deterministik. Pantau min σj\sigma_j semasa latihan; tambahkan annealing KL jika perlu.

**3. Kalibrasi semula pada rolling basis, bukan set pengesahan tetap. ** Pasaran tidak pegun dan kalibrasi yang dimuat sekali reput. Samada latih semula pada tetingkap rolling di bawah disiplin walk-forward, atau biarkan ACI menyerap keusangan model dalam talian — pos konformal meliputi pertukaran frekuensi latihan semula secara langsung.

**4. Kepelbagaian ansambl adalah penting. ** Benih berbeza, pengacakan berbeza, secara pilihan hiperparameter berbeza untuk setiap ahli. Kepelbagaian permulaan adalah pemacu utama kualiti ansambl, itulah sebabnya gelung fit() di atas bukan pilihan.

**5. Log pemisahan, bukan hanya jumlah. ** Simpan kedua-dua komponen bersebelahan dengan hasil yang direalisasikan. Tanpa ini anda tidak dapat menjawab satu-satunya soalan yang penting dalam semakan: apabila sizer mengurangkan pendedahan, adakah itu kerana pasaran bising atau kerana model sesat — dan adakah ia betul?

**6. Ketidakpastian sebagai fitur. ** Statistik epistemik rolling mungkin sendiri meramalkan penarikan balik. Boleh diterima, tidak diukur, dan bernilai pos berasingan.

Batasan dan Caveat Jujur

  • **Posterior anggaran masih anggaran. ** MC Dropout dan VI memberikan pandangan terhad kepada posterior sebenar. Lebih baik daripada tiada, bukan kebenaran, dan tiada jaminan liputan dilampirkan pada mana-mana.
  • **Kalibrasi merosot tepat apabila anda memerlukannya. ** Dalam regimen yang benar-benar baru model mungkin masih salah kalibrasi — ia cenderung kurang salah kalibrasi daripada yang deterministik. Anggaran ketidakpastian daripada input luar taburan adalah output luar taburan itu sendiri.
  • **Varians aleatorik boleh menyerap isyarat epistemik. ** Jika kepala heteroskedastik cukup fleksibel, ia belajar menjelaskan ketidakpastian model sebagai hingar data, menjunamkan σepi\sigma_{\text{epi}} ke arah sifar dan secara senyap mengalahkan keseluruhan pemisahan. Ini adalah mod kegagalan yang paling penting dalam pos ini dan ia tidak mengumumkan dirinya. Pantau nisbah merentas regimen; nisbah yang tidak pernah bergerak adalah pemisahan yang pecah, bukan pasaran yang stabil.
  • **λ\lambda adalah parameter bebas. ** Memperkenalkan tombol boleh runtu ke dalam peraturan saiz adalah bagaimana peraturan saiz overfit dibina. Ia memerlukan justifikasi walk-forward atau ia perlu diperbaiki pada 1.

Kesimpulan

Ramalan konformal sudah memberikan blog ini lebar selang dengan jaminan liputan, dan Kelly sudah memberinya peraturan saiz. Yang tidak memberikan adalah jawapan kepada mengapa selang itu lebar. Memisahkan varians ramalan kepada epistemik dan aleatorik menjawab itu, dan jawapannya boleh bertindak dengan cara yang jumlah tidak: hingar pasaran adalah risiko yang dibayar, kejahilan model tidak, dan penyebut saiz harus mengatakannya.

MC Dropout menjadikan pemisahan hampir percuma — satu baris(model.train() pada inferens) mengubah mana-mana rangkaian dropout kepada Bayesian anggaran. Ansambl dalam mengetahui MMx dan mengkalibrasi dengan lebih baik. Kedua-dua memberi makan kepada penyebut asimetri yang sama σalea2+λσepi2\sigma^2_{\text{alea}} + \lambda \sigma^2_{\text{epi}}.

Sama ada λ>1\lambda > 1 sebenarnya membayar adalah soalan empirik yang draf ini belum menjawab. Pengukuran yang disenaraikan di atas adalah harga untuk menerbitkannya.


Rujukan:

  • 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: Maklumat yang disediakan dalam artikel ini adalah untuk tujuan pendidikan dan maklumat sahaja dan bukan merupakan nasihat kewangan, pelaburan, atau dagangan. Dagangan mata wang kripto melibatkan risiko kerugian yang ketara.

Pengarang

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

Kekal Mendahului Pasaran

Langgan surat berita kami untuk pandangan dagangan AI eksklusif, analisis pasaran, dan kemas kini platform.

Kami menghormati privasi anda. Berhenti melanggan pada bila-bila masa.