L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 37

 
Yury Reshetov:



Non sarebbe meglio integrare in R?

E più persone saranno in grado di lavorare e i ponti mt5 con R sembrano essere disponibili

 
Dr.Trader:

Non ho mai provato questo, ma tecnicamente si potrebbe anche trattare la variabile target come un predittore includendola nel modello pca. Poi, nei nuovi dati il suo valore sarà sconosciuto, di conseguenza pca può riempire questi valori mancanti.

Ho provato a prevedere i componenti della testa e non ho ottenuto nulla di interessante...

Potreste provare anche voi, c'è un pacchetto molto buono e ben documentato per questo "Rssa".

 
Dr.Trader:

No, va bene. Poiché i predittori utilizzati per ciascuna delle componenti principali sono noti, possiamo tranquillamente escludere i predittori che non sono utilizzati nelle componenti principali.

Cosa vuol dire che non sono usati? La PCA è una trasformazione lineare. Le dimensioni che possono essere eliminate sono quelle che possono essere ottenute da una combinazione lineare delle altre. Questo significa che qualsiasi predittore può essere ottenuto da una combinazione lineare delle componenti principali. Se si prende un intervallo del 95%, c'è una buona probabilità di perdere stupidamente un buon predittore a causa della scala, un intervallo inferiore al 100% è usato solo nella compressione dei dati lossy, altrimenti solo le componenti che sono nulle sono sempre tagliate fuori.

 
mytarmailS:
Accidenti, ho sospettato che non è un caso che questi "NA" siano buttati nella data, ma ho letto il manuale, dice chiaramente PCA con una rete neurale, ma poi non è ancora chiaro come questo tizio del sito abbia ottenuto questa bella immagine con una buona separazione per classi

Le immagini hanno un punto diverso lì... L'articolo in sé non parla di classificazione, ma di clustering. Se avete dei dati, dovete dividerli in gruppi in qualche modo. Non sai nemmeno quanti gruppi hai - due, tre, dieci... L'autore usa un grafico delle prime due componenti della PCA dove l'importante è quanto sono vicini i punti di un gruppo. I colori sono già un'analisi comparativa, e sono assegnati da variabili target già note, che non sono calcolate, ma semplicemente prese pronte dalla tabella. Se i gruppi di punti sono distribuiti correttamente per colore, allora tutto è ok, il metodo sembra funzionare e possiamo provarlo su altri dati. Ma ci sono davvero zero previsioni nell'articolo, solo clustering e confronto con la classificazione nota.

Potete disegnare un grafico simile nell'articolo del mio post precedente. Il risultato sarà un grafico come questo: http://i0.wp.com/www.win-vector.com/dfiles/YAwarePCA_files/figure-html/scaledplotest-1.png Nessun bel clustering qui, dati di input diversi. Ma se usate l'iride della tabella come dati di input, otterrete qualcosa di simile ai grafici dell'articolo che avete dato.

 
Combinatore:
La PCA era originariamente destinata a ridurre la dimensionalità della serie originale. Questo è tutto. Usarlo per selezionare i predittori è delirante.
Potrebbe per favore confutare PROPRIO il contenuto dell'articolo che ho linkato. A questo punto ilDr.Trader: ha tentato di utilizzare questo materiale. Per usarlo in modo specifico. Il risultato è negativo. Forse anche tu puoi darci un'opinione sull'argomento?
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
  • Nina Zumel
  • www.r-bloggers.com
In our previous note we demonstrated Y-Aware PCA and other y-aware approaches to dimensionality reduction in a predictive modeling context, specifically Principal Components Regression (PCR). For our examples, we selected the appropriate number of principal components by eye. In this note, we will look at ways to select the appropriate number...
 
mytarmailS:

Non sarebbe meglio integrare in R?

E più persone saranno in grado di lavorare e i ponti mt5 con R sembrano essere disponibili

A giudicare dal fatto che Dr.Trader è già andato in crash quando ha cercato di fare il porting della vecchia libVMR su R e non aveva abbastanza memoria per una grande macchina nucleare e piena performance per una piccola (ha ridotto il numero di cicli di 100 volte), allora chi vuole calpestare lo stesso rastrellamento è improbabile?


Quindi, è meglio non iniziare ancora a parlare di porting a R per tali compiti - questo assillo non lo tirerà.

 
Yury Reshetov:

A giudicare dal fatto che Dr.Trader è già andato in crash quando ha cercato di fare il porting della vecchia libVMR su R e non aveva abbastanza memoria per una grande macchina nucleare, così come il pieno rendimento per una piccola (il numero di cicli è stato ridotto di 100 volte), è improbabile che ci siano persone disposte a pestare lo stesso rastrello?


Quindi, è meglio non fiatare sul porting su R come questo - questo clunker è troppo lento.

Intendevo creare un pacchetto per "R" .

"R" consiste nel 70% di pacchetti scritti in altri linguaggi (C++, C, fortran, java...) quindi la velocità di elaborazione non dovrebbe soffrirne, o mi manca qualcosa?

il famoso pacchetto "h2o" è tutto scritto in java

 
mytarmailS:

Intendevo creare un pacchetto per "R".

"R" consiste in circa il 70% di pacchetti scritti in lingue "straniere" (C++, C, fortran, java...) quindi la velocità di elaborazione non dovrebbe soffrire, o mi manca qualcosa?

il famoso pacchetto "h2o" è tutto scritto in java

Non lo sapevo. Proverò a cercare le istruzioni per creare pacchetti in Java.
 
Yury Reshetov:


Più specificamente nel file di report:

/**
* La qualità della modellazione nel fuori campione:
*
* TruePositives: 182
* TrueNegatives: 181
* FalsePositives: 1
* FalseNegatives: 1
* Modelli totali nel fuori campione con statistiche: 365
* Errori totali nel fuori campione: 2
* Sensibilità della capacità di generalizzazione: 99.4535519125683%
* Specificità della capacità di generalizzazione: 99.45054945054946%
* Capacità di generalizzazione: 98.90410136311776%
* Indicatore di Reshetov: 8.852456238401455
*/

Mi dispiace, non ci credo, è troppo grafico. Può ripetere l'esperimento per favore? Ho allegato un altro archivio, lì i dati sono per un periodo di tempo diverso. L'allenamento del modello dovrebbe essere su train.csv, il test su test_notarget.csv. Sono interessato ai risultati previsti per il file test_notarget.csv. Il file per il test non contiene la variabile target, per essere onesti. Ma c'è un altro archivio con password con i risultati per il test test.csv, darò la password per il confronto in cambio dei risultati previsti.

File:
forex_test.zip  2699 kb
 
Combinatore:

Cosa vuol dire che non sono usati? La PCA è una trasformazione lineare. Dimensioni rimovibili - quelle che possono essere ottenute da una combinazione lineare delle altre. Questo significa che qualsiasi predittore può essere ottenuto da una combinazione lineare delle componenti principali. se si prende un intervallo del 95%, c'è una buona probabilità di perdere stupidamente un buon predittore a causa della scala, un intervallo inferiore al 100% è usato solo nella compressione dei dati lossy, altrimenti solo le componenti che sono zero sono sempre tagliate fuori.

Non l'ho detto con precisione, ma l'hai detto bene. Il punto è esattamente quello di prendere i componenti sufficienti per il 95% di precisione e scartare il resto. Esempio: ci sono 10000 predittori, significa che 10000 componenti possono essere creati per una precisione garantita del 100%. Possiamo quindi scartare i 9.900 componenti per lasciarne 100, ma la precisione sarà ridotta solo del 5%, dal 100% al 95%. Il resto dei 100 componenti deve essere analizzato e i predittori che non sono utilizzati in essi devono essere rimossi. Una perdita del 5% non è un problema, perché è importante prevedere la variabile obiettivo, non ricreare i dati originali senza perdite.