(Acest articol a fost publicat pentru prima dată pe DataGeeekși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Introducere
Învățare automată diferențială (DML), așa cum a fost introdus recent lucrare arXiv (Învățare automată diferențială pentru opțiuni 0DTE cu volatilitate stocastică și salturi)extinde învățarea supravegheată prin încorporarea nu numai a valorilor funcției, ci și a derivatelor acestora. În contexte financiare, aceasta înseamnă adesea sensibilități precum grecii. Cu toate acestea, atunci când instrumentele derivate directe nu sunt disponibile, putem aproxima dinamica pieței folosind indicatori de volatilitate.
În acest proiect, adaptăm DML la prognoza prețurilor Bitcoin. În loc de derivate, folosim RSI, MACD și benzi Bollinger ca indicatori pentru volatilitate. Acești indicatori captează impulsul, puterea tendinței și dispersia prețurilor, oferind o modalitate practică de a încorpora incertitudinea în procesul de învățare. Pentru a implementa acest lucru, proiectăm a arhitectură cu rețele duble în Keras: o rețea învață dinamica prețurilor din caracteristicile bazate pe timp, în timp ce cealaltă învață semnale de volatilitate. În cele din urmă, le combinăm printr-un ansamblu de stivuire pentru a realiza previziuni robuste cu intervale de încredere.
De ce variabile de volatilitate în loc de derivate?
- RSI (Indice de putere relativă): Măsoară impulsul și condițiile de supracumpărare/supravânzare.
- MACD (divergență de convergență medie mobilă): Captează direcția și puterea tendinței.
- Benzi Bollinger (benzi superioare/inferioare, %B): Cuantifică dispersia și volatilitatea prețurilor.
Acești indicatori acționează ca substitute empirice pentru derivatele teoretice. În timp ce DML în forma sa pură necesită sensibilități, în practică, acești indicatori de volatilitate oferă informații similare despre modul în care prețurile răspund forțelor pieței.
De ce Twin Networks?
Ideea este de a separa sarcinile de învățare:
- The rețeaua primară modelează componenta continuă a procesului de preț.
- The reteaua auxiliara modelează componenta volatilitate/salt. Împreună, ele imită descompunerea găsită în modele stocastice precum Bates sau Heston, dar implementate într-un cadru neural flexibil.
Ansamblu prin stivuire
Odată ce ambele rețele sunt antrenate, predicțiile lor sunt combinate folosind a meta-model de regresie liniară. Acest ansamblu de stivuire învață ponderea optimă între ieșirile primare și auxiliare. Rezultatul este o prognoză care integrează atât semnalele de tendință, cât și cele de volatilitate, îmbunătățind semnificativ acuratețea în comparație cu oricare dintre rețele.
Evaluare

- Valori: RMSE și MAPE, calculate cu
yardstickpachet. - Rezultate:
- Rețele individuale → RMSE ~76.000, MAPE ~99%.
- Ansamblu de stivuire → RMSE ~3.030, MAPE ~3,65.
Acest lucru demonstrează puterea de a combina semnalele de preț și volatilitate într-un cadru unificat.
Intervale de încredere
Pentru a cuantifica incertitudinea, calculăm intervale de încredere bazate pe reziduuri în jurul prognozelor punctuale:
Această abordare folosește abaterea standard a reziduurilor de antrenament pentru a genera benzi de încredere de 95%. Oferă estimări interpretabile ale incertitudinii fără a necesita modelare probabilistică explicită.
Vizualizarea
Prognozele sunt vizualizate cu ggplot2:
- Panglică gri → intervale de încredere.
- Linie roșie → prognoza ansamblului de stivuire.
- Linie neagră → prețurile reale BTC.


Acest design comunică în mod clar atât prognoza centrală, cât și intervalul de incertitudine. Graficul pe care îl veți include la sfârșitul blogului arată exact acest lucru: o linie roșie de prognoză, valori reale negre și o bandă de încredere gri, ilustrând modul în care ansamblul integrează informațiile despre volatilitate în intervale predictive.


Keras3 în R: Învățare profundă flexibilă pentru prognoza financiară
Ce este Keras3?
Keras3 este interfața R modernă pentru biblioteca de învățare profundă Keras, construită pe TensorFlow. Permite utilizatorilor R să definească, să antreneze și să evalueze rețelele neuronale cu o sintaxă concisă, valorificând în același timp puterea de calcul a TensorFlow. Spre deosebire de versiunile anterioare, Keras3 este pe deplin aliniat cu TensorFlow 2.x, asigurând suport și compatibilitate pe termen lung.
Cum am folosit Keras3
În fluxul nostru de lucru, Keras3 a fost coloana vertebrală pentru implementarea arhitectură cu rețele duble:


De ce ReLU?
- ReLU (Unitate liniară rectificată) este funcția de activare folosită în straturile ascunse.
- Formula: .
- Beneficii:
- Introduce neliniaritatea, permițând rețelei să învețe relații complexe.
- Eficient și ajută la evitarea degradelor care dispar.
- Potrivit pentru datele financiare, unde semnalele pot fi rare și direcționale.
De ce Adam?
- Adam (Estimarea momentului adaptiv) este optimizatorul ales.
- Combine impuls (folosind gradienții din trecut pentru a accelera învățarea) și rate de învățare adaptive (ajustarea dimensiunilor pasilor pe parametru).
- Beneficii:
- Robuste pentru date zgomotoase, non-staționare, cum ar fi prețurile criptomonedelor.
- Necesită reglare minimă, ceea ce îl face ideal pentru fluxurile de lucru plug-and-play.
- Adoptat pe scară largă atât în învățarea automată academică, cât și aplicată.
Contribuția la ecosistemul R
Keras3 face o punte între R-uri ecosistem tidyverse/tidymodels și învățarea profundă modernă:
- Se integrează perfect cu conductele de preprocesare a datelor (
recipes,timetk). - Permite analiștilor financiari și cercetătorilor de date să rămână în R în timp ce accesează capacitățile de învățare profundă ale TensorFlow.
- Încurajează reproductibilitatea: modelele pot fi definite, antrenate și evaluate în întregime în R, fără a trece la Python.
- Extinde rolul lui R dincolo de modelarea statistică tradițională în aplicații AI de ultimă generație.
De ce contează pentru DML
Prin utilizarea Keras3:
- Am putea sarcini de învățare separate într-o rețea primară (tendință/sezonalitate) și o rețea auxiliară (volatilitate/impuls).
- Ambele rețele au fost antrenate cu activări ReLU și optimizare Adam, asigurând stabilitate și eficiență.
- Rezultatele lor au fost combinate într-un ansamblu de stivuire, producând previziuni care integrează atât dinamica prețurilor, cât și semnalele de volatilitate.
Acest lucru demonstrează modul în care Keras3 dă putere utilizatorilor R să implementeze arhitecturi avansate, cum ar fi rețelele duble, făcând conceptele de învățare automată diferențială practice în prognoza financiară.
Concluzie
Acest studiu de caz demonstrează modul în care conceptele de învățare automată diferențială pot fi adaptate pentru prognoza financiară în R:
- Indicatorii de volatilitate servesc ca substitute practice pentru derivate.
- Arhitectura de rețea dublă în Keras surprinde atât tendințele, cât și volatilitatea.
- Stivuirea ansamblurilor îmbunătățește semnificativ performanța predictivă.
- Intervalele de încredere bazate pe reziduuri oferă estimări interpretabile ale incertitudinii.
Combinând ideile academice cu fluxurile de lucru R reproductibile, putem construi conducte solide de prognoză care fac legătura între teorie și practică.
