Overfitting (3 lettori)

GiuliaP

The Dark Side
Ti giuro che so la differenza : ( come so che vuol dire overfitting -.- anche nella tua accezione metafisico-quantistica del termine. -.-'

Non esiste nessuna accezione metafisico-quantistica di overfitting, e se avessi capito cosa significa non staresti ancora pettinando bambole (il fatto che ci sia chi lo fa per tutta una vita non ti giustifica di certo! :prr:).

Prova a generare qualche serie puramente casuale e ad applicaci tutti i tuoi metodi, dai modelli autoregressivi alle reti neurali: vedrai come otterrai backtest con analoghi risultati ... "oggettivamente inoppugnabili" :D (e poi non venirmi a raccontare che hai colto la logica causale dell'algoritmo generatore!!! :lol:)

...E` che quando dici oroscopo mi pare che togli dignità a tutta la modellistica che poi usi pure tu...ma forse avevo capito male. Dall'ultima cosa che hai scritto infatti mi pare di capire che "oroscopo" non è relativo alla natura previsionale dell'output della rete (che spero sia fuori discussione) ma alla sua qualità, cioè alla robustezza dei nessi causali su cui si basa...

Ma certo! :(

Oroscopo = interpretazione del caso
 

Bodhisattva

Nuovo forumer
Non esiste nessuna accezione metafisico-quantistica di overfitting, e se avessi capito cosa significa non staresti ancora pettinando bambole (il fatto che ci sia chi lo fa per tutta una vita non ti giustifica di certo! :prr:).
Tu continui a sottovalutarmi Piggì, ma tranquilla *_* non mi sono offeso *___*.


Ora, tornando alla tua osservazione, quello di cui parli tu io non lo chiamerei propriamente overfitting, quanto, volendo mantenere un contegno, "gran Sfortuna". Le ragioni di questo saranno dettagliatamente chiarite in quanto segue.
Prova a generare qualche serie puramente casuale e ad applicaci tutti i tuoi metodi, dai modelli autoregressivi alle reti neurali: vedrai come otterrai backtest con analoghi risultati ... "oggettivamente inoppugnabili" :D (e poi non venirmi a raccontare che hai colto la logica causale dell'algoritmo generatore!!! :lol:)


Dunque, supponiamo che io generi una serie di 100 numeri casuali (diciamo in prima approssimazione casuali). Fitto ai primi 50 elementi un modello qualsiasi e testo le capacità previsionali sui 50 elementi rimanenti.
Ora, se questi numeri sono "abbastanza casuali" ossia se l'algoritmo che li genera non l'ha progettato topo gigio mi pare fuori discussione che la performance del modello sui 50 elementi di test sarà stocasticamente indipendente dal fitting avvenuto sui 50 elementi precedenti.

In altre parole gli eventi

A = "buona performance in sample"

B = "buona performance out of sample (capacità previsionale)"

sono stocasticamente indipendenti ergo la scelta di un modello in base a un fitting qualsiasi risulta equivalente alla scelta casuale di un modello che, appunto, per puro caso segue bene quei 50 elementi di test, a prescindere completamente da quanto si fitti bene negli elementi di training.

Anzi di più, se i numeri sono proprio random, utilizzare il fitting come selezione di un modello in realtà è un impedimento per trovarne uno che performi bene out of sample; semplicemente perché si richiede una condizione in più...
Se i due eventi A e B sono indipendenti richiedere che si verifichino entrambi restringe il campo e riduce le possibilità di successo...in altre parole si avrebbe più capacità previsionale scegliendo modelli puramente a caso.

Ciò detto, due osservazioni:

1. Mantenendo costante il livello di complessità di un modello scelto a caso la probabilità che performi bene su un sample del tutto casuale (che se non è condizione equivalente all'indipendenza di A e B spero concorderai che è di certo almeno condizione sufficiente per l'indipendenza di A e B) tende a zero all'aumentare delle dimensioni del sample di test.

2. Il punto 1. è chiaramente una verifica che si può fare facilmente in concreto testando il modello su nuovi dati.

Quello che voglio dire è che capisco bene che intendi con "modellare il caso" come capisco bene che a meno di essere del tutto scemi è abbastanza facile accorgersi se lo si sta facendo...so bene che a forza di tuning si può strappare qualsiasi risultato, ma non vuol dire che io lo stia facendo...


Chiudo ribadendo che quello che tu chiami overfitting non è overfitting...almeno non in questa particolare accezione. L'overfitting può portare allo stesso identico risultato di cui stiamo parlando ma cambia la causa...in caso di overfitting il lack previsionale è generato da un eccesso di complessità dei modelli per cui si verifica A ma non si verifica B.

Mentre nel contesto che descrivi tu il principale motivo di ottenere buone performance "modellando il caso" sta nell'essere abbastanza sfortunati da beccare un modello che verifica sia A che B pur essendo A e B indipendenti...quindi te ne vai tutto contento di aver trovato il santo graal delle previsioni mentre in realtà è solo fuffa.

Va da sè che anche nel secondo caso basta cambiare test set per accorgersene...
 
Ultima modifica:

Bodhisattva

Nuovo forumer
ps: ricordo di aver detto di la che ho risultati concreti quantificabili e generalizzabili (o qualcosa di simile) e questo mi sa che sta rovinando la nostra bellissima amicizia ma vorrei precisare che non ho specificato generalizzabili a cosa...Quello che volevo dire è che non ho tirato fuori risultati smanettando coi parametri per far uscire performance alte e che i test che ho fatto li ho fatti con un minimo di cognizione. Non tanta. Un po' però sì.
Ora,

penso di aver trovato il santo graal di cui sopra?

Decisamente no, qualche risultato cautamente incoraggiante su test così ridotti non permette nessuna conclusione universale. E se rileggi il tutto di là per quella singola frase che ti è rimasta impressa avrò detto almeno 150 volte che "ho solo qualche dato preliminare"

Investirei dei soldi su questo? O venderei la baracca a qualcuno?
Ma scherziamo? :D Per me questa è la settimana enigmistica...(nel senso che ha il solo scopo di intrattenermi)

Penso ci siano i presupposti per tirare fuori qualcosa di interessante?
Propendo per il sì. Del resto tu lo fai...usi le reti neurali...non ti conosco ma mi pare di capire che è proprio il tuo lavoro...e l'algo trading non è un'invenzione né mia né tua...
Ho qualche idea che mi incuriosisce testare e potenza di calcolo permettendo ritengo probabile che ne uscirà qualcosa.
Sempre che non mi stufo prima, mi manca call of duty : (
 
Ultima modifica:

GiuliaP

The Dark Side
Tu continui a sottovalutarmi Piggì, ma tranquilla *_* non mi sono offeso *___*.

Io direi piuttosto che sei tu che continui a sopravvalutarti! :)

Guarda che io leggo quello che scrivi, e ci trovo le stesse illusioni di decine di altri scienziati passati in 15 anni su questi forum (e questo stesso thread) con la convinzione di poter approcciare questo mondo come se fosse una ricerca universitaria. Prima ancora di affrontare i tuoi "salvifici" test out of sample, dovrebbe bastarti questa semplice osservazione per farti capire la tua presunzione, ovvero la tua miopia.

...Ora, tornando alla tua osservazione, quello di cui parli tu io non lo chiamerei propriamente overfitting, quanto, volendo mantenere un contegno, "gran Sfortuna". Le ragioni di questo saranno dettagliatamente chiarite in quanto segue...

E' esattamente il contrario: sono le vittime inconsapevoli dell'overfitting a dare puntualmente la colpa alla "gran Sfortuna". In realtà il demone è sempre lo stesso, che lo si chiami "invisibile", oppure "batman".

...Dunque, supponiamo che io generi una serie di 100 numeri casuali (diciamo in prima approssimazione casuali). Fitto ai primi 50 elementi un modello qualsiasi e testo le capacità previsionali sui 50 elementi rimanenti.
Ora, se questi numeri sono "abbastanza casuali" ossia se l'algoritmo che li genera non l'ha progettato topo gigio mi pare fuori discussione che la performance del modello sui 50 elementi di test sarà stocasticamente indipendente dal fitting avvenuto sui 50 elementi precedenti...

Ti sembrerà assurdo, lo so, ma sbagli: quell'indipendenza dipende assolutamente da cosa hai fatto "prima", con e senza quella stesse serie.

Tu credi che il semplice fatto di adottare una metodologia di test con campioni "out of sample" ti possa salvare dall'overfitting. E non ti rendi conto che:

1) in questa stessa trappola sono caduti milioni di analisti prima di te, alcuni dei quali, dopo anni di tentativi, sono arrivati addirittura alla conclusione (comunque ridicola) che tanto vale fare tutto in sample.

2) l'overfitting lo cominci a fare esattamente a partire dalla prima modifica al tuo primo modello. Qualunque essa sia: in/out/up/down sample :)

...Anzi di più, se i numeri sono proprio random, utilizzare il fitting come selezione di un modello in realtà è un impedimento per trovarne uno che performi bene out of sample; semplicemente perché si richiede una condizione in più...

Non hai capito: tu devi lavorare sulla serie casuale come se non lo fosse, test "out of sample" compresi. Vedrai che se allarghi abbastanza serie e modello previsionale, qualche test out of sample ti andrà bene!!! Magari a quel punto l'overfitting lo chiamerai "gran Genio che sono", salvo poi tornare a "gran Sfortuna" (oppure più frequentemente "il mercato è cambiato") quando andrai a lavorare sul "vero" futuro.

...1. Mantenendo costante il livello di complessità di un modello scelto a caso la probabilità che performi bene su un sample del tutto casuale (che se non è condizione equivalente all'indipendenza di A e B spero concorderai che è di certo almeno condizione sufficiente per l'indipendenza di A e B) tende a zero all'aumentare delle dimensioni del sample di test...

Certo. E' esattamente per questo che quando andrai a mercato il tuo giochino si rivelerà un semplice ... oroscopo.

E non concordo per niente, ripeto, sull'indipendenza di A e B: performare bene è condizione necessaria, non certo sufficiente! E la probabilità che performi bene, ripeto per l'ennesima volta, dipende assolutamente dal passato del progettista.

E' per questo che i risultati che hai ottenuto fino ad ora non significano esattamente NULLA.

...2. Il punto 1. è chiaramente una verifica che si può fare facilmente in concreto testando il modello su nuovi dati...

E sono 10: verifica necessaria, ma non certo sufficiente!!!

...Quello che voglio dire è che capisco bene che intendi con "modellare il caso" come capisco bene che a meno di essere del tutto scemi è abbastanza facile accorgersi se lo si sta facendo...so bene che a forza di tuning si può strappare qualsiasi risultato, ma non vuol dire che io lo stia facendo...

Eppure tu, insieme a mezzo mondo, continuate a "modellare il caso" senza accorgervene! :)

...Chiudo ribadendo che quello che tu chiami overfitting non è overfitting...almeno non in questa particolare accezione. L'overfitting può portare allo stesso identico risultato di cui stiamo parlando ma cambia la causa...in caso di overfitting il lack previsionale è generato da un eccesso di complessità dei modelli per cui si verifica A ma non si verifica B.

Mentre nel contesto che descrivi tu il principale motivo di ottenere buone performance "modellando il caso" sta nell'essere abbastanza sfortunati da beccare un modello che verifica sia A che B pur essendo A e B indipendenti...quindi te ne vai tutto contento di aver trovato il santo graal delle previsioni mentre in realtà è solo fuffa.

Va da sè che anche nel secondo caso basta cambiare test set per accorgersene...

Dopo quanto detto spero arriverai da solo alla conclusione che queste tue ultime parole sono assolutamente miopi. Altrimenti dovrei cominciare a ripetere sempre le stesse cose, e questi ragionamenti sono stati fatti e rifatti anche in questo stesso thread.

Ti prego di concentrarti maggiormente su quanto da me scritto, perché se non fai almeno un passo avanti comincerò ad annoiarmi :(

Per concludere, la metodologia che hai scelto ti potrà condurre al massimo a riscoprire l'acqua calda, come ad esempio mm200 (oppure mm193,85). Niente di più! :no:

Mio caro scroobod, non può essere così facile! :)
 

GiuliaP

The Dark Side
ps: ricordo di aver detto di la che ho risultati concreti quantificabili e generalizzabili (o qualcosa di simile) e questo mi sa che sta rovinando la nostra bellissima amicizia ma vorrei precisare che non ho specificato generalizzabili a cosa...Quello che volevo dire è che non ho tirato fuori risultati smanettando coi parametri per far uscire performance alte e che i test che ho fatto li ho fatti con un minimo di cognizione. Non tanta. Un po' però sì.
Ora,

penso di aver trovato il santo graal di cui sopra?

Decisamente no, qualche risultato cautamente incoraggiante su test così ridotti non permette nessuna conclusione universale. E se rileggi il tutto di là per quella singola frase che ti è rimasta impressa avrò detto almeno 150 volte che "ho solo qualche dato preliminare"

Investirei dei soldi su questo? O venderei la baracca a qualcuno?
Ma scherziamo? :D Per me questa è la settimana enigmistica...(nel senso che ha il solo scopo di intrattenermi)

Penso ci siano i presupposti per tirare fuori qualcosa di interessante?
Propendo per il sì. Del resto tu lo fai...usi le reti neurali...non ti conosco ma mi pare di capire che è proprio il tuo lavoro...e l'algo trading non è un'invenzione né mia né tua...
Ho qualche idea che mi incuriosisce testare e potenza di calcolo permettendo ritengo probabile che ne uscirà qualcosa.
Sempre che non mi stufo prima, mi manca call of duty : (

Tralasciando quello che faccio io, di cui non hai la più pallida idea, credimi, ti posso tranquillamente confermare che ammesso ma assolutamente non concesso che il tuo modello abbia capacità previsionale, stai completamente ignorando tutta una serie di problematiche "reali" che quasi sicuramente lo renderebbero, all'atto di dagli senso pratico, completamente inutile!!!

Ma qui siamo ancora alla preistoria :)
 

Bodhisattva

Nuovo forumer
GiuliaP ha scritto:
Io direi piuttosto che sei tu che continui a sopravvalutarti! :)

Guarda che io leggo quello che scrivi, e ci trovo le stesse illusioni di decine di altri scienziati passati in 15 anni su questi forum (e questo stesso thread) con la convinzione di poter approcciare questo mondo come se fosse una ricerca universitaria. Prima ancora di affrontare i tuoi "salvifici" test out of sample, dovrebbe bastarti questa semplice osservazione per farti capire la tua presunzione, ovvero la tua miopia.

E io leggo con attenzione quello che scrivi tu. Mi fido, senza nemmeno andarmi a leggere le 300 pagine di questo thread. Sono certo che altri scienziati hanno avuto l'illusione di poter fare trading in modo algoritmico e su basi scientifiche per poi prendere sonore legnate, però poi mi chiedo sì vabbè ma lei...? :D
Voglio dire, ok non saprò cosa fai nella vita ma sembra chiaro che hai un qualche background scientifico e hai accennato più volte alle tue matrici di livello 2 e alle infrastrutture cui hai accesso...ergo sembrerebbe logico supporre che qualche ragno dal buco lo hai cavato...oppure no? Vuoi dirmi che la tua presenza qui è solo per riferire a tutti gli "scienziati" che incontri che le hai già provate tutte e non c'è niente da fare? Vuoi solo metterci in guardia?
Voglio dire, perché tu puoi trovare le matrici di livello 2 e io no? :( Perché lui ( James Harris Simons - Wikipedia ) sì e io no? Ma l'elenco è lungo...


GiuliaP ha scritto:
E' esattamente il contrario: sono le vittime inconsapevoli dell'overfitting a dare puntualmente la colpa alla "gran Sfortuna". In realtà il demone è sempre lo stesso, che lo si chiami "invisibile", oppure "batman".
Anche qui, ammetto di non capire cosa dici, ma mi fido...in sostanza mi dici che i due casi di cui ho parlato sono in realtà lo stesso caso. Ripeto, mi fido. Se è così c'è un qualche schema superiore che mi sfugge. Al momento non riesco a ricondurre i seguenti due casi alla stessa categoria:

1. modello troppo complesso che sballa le previsioni perché ha finito per modellare il rumore perdendosi il segnale

2. assenza di segnale

Continuando a ragionarci magari ci arrivo. (nessun sarcasmo)

GiuliaP ha scritto:
Ti sembrerà assurdo, lo so, ma sbagli: quell'indipendenza dipende assolutamente da cosa hai fatto "prima", con e senza quella stesse serie.
Non mi pare del tutto assurdo, ma nemmeno mi è chiaro...

GiuliaP ha scritto:
Tu credi che il semplice fatto di adottare una metodologia di test con campioni "out of sample" ti possa salvare dall'overfitting. E non ti rendi conto che:

1) in questa stessa trappola sono caduti milioni di analisti prima di te, alcuni dei quali, dopo anni di tentativi, sono arrivati addirittura alla conclusione (comunque ridicola) che tanto vale fare tutto in sample.

2) l'overfitting lo cominci a fare esattamente a partire dalla prima modifica al tuo primo modello. Qualunque essa sia: in/out/up/down sample :)
Io non modifico niente, non faccio praticamente nessun tuning, e quel poco che faccio lo faccio per sincerarmi che lievi modifiche portino a cambiamenti lievi.
Per lo più se qualcosa non funziona dopo un po' la butto a mare e ricomincio.
L'esperienza mi ha insegnato che quando si attacca un problema complesso e nuovo la differenza la fa l'istinto che ti porta a capire quando stai sulla strada sbagliata e quando è il momento di attaccare il problema da un altro lato. La differenza tra un matematico e un "civile" la fa la capacità di astrazione, la differenza tra un matematico e un buon matematico la fa questo istinto qui.

Ovviamente non c'è una regola, quindi non so dire se il momento in cui cerco una logica che porti a risultati migliori è il momento giusto, di certo però quello che non faccio è stare troppo a raffinare queste logiche...

GiuliaP ha scritto:
Non hai capito: tu devi lavorare sulla serie casuale come se non lo fosse, test "out of sample" compresi. Vedrai che se allarghi abbastanza serie e modello previsionale, qualche test out of sample ti andrà bene!!! Magari a quel punto l'overfitting lo chiamerai "gran Genio che sono", salvo poi tornare a "gran Sfortuna" (oppure più frequentemente "il mercato è cambiato") quando andrai a lavorare sul "vero" futuro.
Se è overfitting lo chiamo overfitting...e non c'è dubbio che a forza di tentativi si può trovare un modello che performi bene su una serie casuale.


GiuliaP ha scritto:
E non concordo per niente, ripeto, sull'indipendenza di A e B: performare bene è condizione necessaria, non certo sufficiente! E la probabilità che performi bene, ripeto per l'ennesima volta, dipende assolutamente dal passato del progettista.
Dici che è un fatto di karma? In effetti il mio passato ha qualche ombra...
(scusa :° stavolta un po' di sarcasmo c'era :bow:)


GiuliaP ha scritto:
E' per questo che i risultati che hai ottenuto fino ad ora non significano esattamente NULLA.

Confermo. L'ho anche scritto nel post di poco sopra...


GiuliaP ha scritto:
Eppure tu, insieme a mezzo mondo, continuate a "modellare il caso" senza accorgervene! :)
Quello che vorrei capire è se tu intendi che non esiste approccio algoritmico/scientifico al trading o che l'approccio algoritmico/scientifico che uso io fa schifo...


GiuliaP ha scritto:
Per concludere, la metodologia che hai scelto ti potrà condurre al massimo a riscoprire l'acqua calda, come ad esempio mm200 (oppure mm193,85). Niente di più! :no:

Mio caro scroobod, non può essere così facile! :)

Ma non ho scelto nessuna metodologia ancora!! E se l'avessi scelta non te la direi...

Tralasciando quello che faccio io, di cui non hai la più pallida idea, credimi, ti posso tranquillamente confermare che ammesso ma assolutamente non concesso che il tuo modello abbia capacità previsionale, stai completamente ignorando tutta una serie di problematiche "reali" che quasi sicuramente lo renderebbero, all'atto di dagli senso pratico, completamente inutile!!!
Ribadisco che non ho nessun modello, ma confermo che se mai dovessi decidere che ne ho uno mi servirà qualcuno in grado di farne qualcosa di concreto. A me nemmeno interessa più di tanto...
 
Ultima modifica:

GiuliaP

The Dark Side
E io leggo con attenzione quello che scrivi tu. Mi fido, senza nemmeno andarmi a leggere le 300 pagine di questo thread. Sono certo che altri scienziati hanno avuto l'illusione di poter fare trading in modo algoritmico e su basi scientifiche per poi prendere sonore legnate, però poi mi chiedo sì vabbè ma lei...? :D

Tutti discorsi già fatti. Io sono solo un nick impersonale che esprime opinioni personali, e come tale vorrei essere trattata: non hanno nessuna importanza, detti su un forum, il mio curriculum e la mia equity.

...Vuoi dirmi che la tua presenza qui è solo per riferire a tutti gli "scienziati" che incontri che le hai già provate tutte e non c'è niente da fare? Vuoi solo metterci in guardia? ...

Voglio solo svagarmi, il forum è un mio hobby. Scrivo finché mi diverte farlo.

...Voglio dire, perché tu puoi trovare le matrici di livello 2 e io no? :( Perché lui ( James Harris Simons - Wikipedia ) sì e io no? Ma l'elenco è lungo...

E chi ha detto che tu non puoi trovarle? Dico semplicemente che non puoi farlo come lo stai facendo ora.

...Anche qui, ammetto di non capire cosa dici, ma mi fido...in sostanza mi dici che i due casi di cui ho parlato sono in realtà lo stesso caso. Ripeto, mi fido. Se è così c'è un qualche schema superiore che mi sfugge. Al momento non riesco a ricondurre i seguenti due casi alla stessa categoria:

1. modello troppo complesso che sballa le previsioni perché ha finito per modellare il rumore perdendosi il segnale

2. assenza di segnale...

Il mio invito a lavorare su una serie casuale serviva unicamente a farti capire che quello che stai facendo "funziona", nella tua accezione del termine, anche sul caso. Anche "out of sample". Ovvero che i tuoi risultati sulle serie storiche possono anche risultare necessari, ma sicuramente non sono sufficienti.

...Io non modifico niente, non faccio praticamente nessun tuning, e quel poco che faccio lo faccio per sincerarmi che lievi modifiche portino a cambiamenti lievi.
Per lo più se qualcosa non funziona dopo un po' la butto a mare e ricomincio...

Che più o meno significa: "io non" mangio la zuppa. "Per lo più" mangio pan bagnato.

...L'esperienza mi ha insegnato che quando si attacca un problema complesso e nuovo la differenza la fa l'istinto che ti porta a capire quando stai sulla strada sbagliata e quando è il momento di attaccare il problema da un altro lato...

Per quanto mi riguarda capire cos'è l'overfitting non è tanto questione di istinto, quanto di capacità ed esperienza (anche se poi Kahneman può magicamente quanto inconsciamente far fondere le due cose).

...Quello che vorrei capire è se tu intendi che non esiste approccio algoritmico/scientifico al trading o che l'approccio algoritmico/scientifico che uso io fa schifo...

https://www.youtube.com/watch?v=jYQWVnKEFRk

...A me nemmeno interessa più di tanto...

Allora, come ti ho detto già 1000 volte, stai solo continuando a buttare la risorsa più preziosa che hai: il tuo tempo (Seneca) :)
 

Bodhisattva

Nuovo forumer
Tutti discorsi già fatti. Io sono solo un nick impersonale che esprime opinioni personali, e come tale vorrei essere trattata: non hanno nessuna importanza, detti su un forum, il mio curriculum e la mia equity.

Eh ma io non c'ero quando li avete fatti...comunque concordo, almeno sul fatto che non è interessante sapere chi sei visto che la tua semplice presenza depone a favore del fatto che il trading algoritico esiste e funge... Del resto hai risposto a tutto quello che mi interessava con questo

E chi ha detto che tu non puoi trovarle? Dico semplicemente che non puoi farlo come lo stai facendo ora.

e questo


Fermo restando che io sarò anche presuntuoso, ma anche tu non scherzi, visto che non hai la più pallida idea di quello che sto facendo...come potresti, se non te l'ho detto? Sai solo che ho abbozzato un criterio di selezione per modelli autoregressivi. Che in proporzione è circa l'1% di quello che sto facendo ora...
 

Users who are viewing this thread

Alto