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

 
Maxim Dmitrievsky #:

AB causa effettivamente la comparsa di C o di un insieme di altre lettere?

La domanda è questa: c'è un'associazione, a prima vista...
Come capire se si tratta solo di un'associazione o se AB causa effettivamente C

 
Maxim Dmitrievsky #:

Dopo tutto, non sei stato bandito da Google, vero? Puoi leggere come l'inferenza statistica differisce dall'inferenza causale, vero?

Maxim Dmitrievsky #:
Arriviamo al punto: qual è la differenza tra inferenza associativa e causale?

L'autore si è preoccupato di indicare i limiti di applicabilità della regressione lineare. Punto meno.

I meta studenti non sono un insieme di modelli, meno un punto.

Con quale altra sezione del libro non sei d'accordo, o meglio, cos'altro non hai capito del libro?

Tu, ovviamente, sei il più grande guru e puoi permetterti di dare punti alle persone, ma io non posso, ancora una volta scrivendo in modo specifico nell'aspettativa che anche tu risponda in modo specifico.


Con quale altra sezione del libro non è d'accordo, o meglio, cos'altro non ha capito del libro?

Non ho mai scritto da nessuna parte che non sono d'accordo.

Sono contrario a nuove etichette per concetti ben noti

Ètutto lì e mettere la nebbia su cose note è molto poco utile.

L'autore si è preso la briga di indicare i limiti di applicabilità della regressione lineare. Meno un punto.

Non ho visto nel testo

1. la regressione lineare è applicabile a processi casuali stazionari

2. il residuo dell'applicazione della regressione lineare deve essere normalmente distribuito.

Se questo non è il caso nei suoi esempi, e non viene affermato il contrario, allora il suo ragionamento è ridotto all'osso.

Tutti i ragionamenti del libro su causa ed effetto sono i soliti ragionamenti di "falsa correlazione".


Meta Learnersnon è un insieme di modelli, a meno del punteggio.

Secondo il testo del libro, i"meta studenti" sono il risultato dell'adattamento/previsione di modelli convenzionali. Se l'autore non avesse etichettato ancora una volta i concetti più comuni con nuove etichette, avrei avuto l'opportunità di esprimere il mio pensiero in modo più preciso.

Perciò chiarirò.

L'insieme dei modelli è un'idea vecchia e consolidata. L'input è l'output di modelli di livello inferiore, l'output è un segnale. Esistono molti metodi per combinare i risultati dei modelli di livello inferiore - combinando i "meta-apprendisti". L'autore considera tre varianti di combinazione dei risultati del fitting, la seconda e la terza variante combinano i risultati del modello di gradient bousting. Nella terza variante, gli output del primo livello vengono combinati in base al modello di gradiente.

È questo testo incomprensibile il significato, la novità di tutto questo:

def ps_predict(df, t): 
    return g.predict_proba(df[X])[:, t]
    
    
x_cate_train = (ps_predict(train,1)*mx0.predict(train[X]) +
                ps_predict(train,0)*mx1.predict(train[X]))

x_cate_test = test.assign(cate=(ps_predict(test,1)*mx0.predict(test[X]) +
                                ps_predict(test,0)*mx1.predict(test[X])))
 
mytarmailS #:

La domanda è questa: c'è un'associazione, a prima vista...
Come si fa a sapere se si tratta solo di un'associazione o se è effettivamente AB a provocare C

Non è chiaro se queste linee sono immediatamente note o se appaiono una lettera alla volta. Cosa provoca la comparsa di queste lettere. Se si tratta solo di una sequenza di schemi, il compito non sembra molto formalizzato. Perché è stata scelta la lunghezza della stringa e tutto il resto. Forse i dati non sono rappresentati nella forma giusta.

Leggete il libro, forse troverete la risposta.

 

Sanych, il kozul è un argomento complesso, che non tutti possono capire a colpo d'occhio. Se non si capisce qualcosa, non significa che ci sia scritto qualcosa di sbagliato.

Non soffrire se non vuoi. Altrimenti si finisce come nella parabola delle perline.

 
Maxim Dmitrievsky #:

Sanych, il kozul è un argomento complesso, che non tutti possono capire a colpo d'occhio. Se non si capisce qualcosa, non significa che ci sia scritto qualcosa di sbagliato.

Non soffrire se non vuoi.

Kozul - si tratta di una mossa pubblicitaria e l'intero libro non è altro che una pubblicità dell'insolita novità delle più consuete disposizioni della statistica matematica. Ma la statistica matematica è una materia davvero difficile.

Ecco il risultato di centinaia di pagine di testo:

To the code at last! First, we have the first stage, which is exactly the same as the T-Learner.

from sklearn.linear_model import LogisticRegression

np.random.seed(123)

# first stage models
m0 = LGBMRegressor(max_depth=2, min_child_samples=30)
m1 = LGBMRegressor(max_depth=2, min_child_samples=30)

# propensity score model
g = LogisticRegression(solver="lbfgs", penalty='none') 

m0.fit(train.query(f"{T}==0")[X], train.query(f"{T}==0")[y])
m1.fit(train.query(f"{T}==1")[X], train.query(f"{T}==1")[y])
                       
g.fit(train[X], train[T]);
Now, we impute the treatment effect and fit the second stage models on them.

d_train = np.where(train[T]==0,
                   m1.predict(train[X]) - train[y],
                   train[y] - m0.predict(train[X]))

# second stage
mx0 = LGBMRegressor(max_depth=2, min_child_samples=30)
mx1 = LGBMRegressor(max_depth=2, min_child_samples=30)

mx0.fit(train.query(f"{T}==0")[X], d_train[train[T]==0])
mx1.fit(train.query(f"{T}==1")[X], d_train[train[T]==1]);
Finally, we make corrected predictions using the propensity score model.

def ps_predict(df, t): 
    return g.predict_proba(df[X])[:, t]
    
    
x_cate_train = (ps_predict(train,1)*mx0.predict(train[X]) +
                ps_predict(train,0)*mx1.predict(train[X]))

x_cate_test = test.assign(cate=(ps_predict(test,1)*mx0.predict(test[X]) +
                                ps_predict(test,0)*mx1.predict(test[X])))

Per quanto io capisca di programmazione, il codice fornito NON è codice funzionante: funzioni che non sanno da dove vengono, i risultati non sono assegnati a nulla, gli argomenti delle funzioni sono da zero.

 
"... per evitare che lo calpestino con i loro piedi e che si voltino e ti distruggano".
 

Maxim è irrimediabilmente incapace di avere una discussione sostanziale.

C'è qualcuno nel forum che capisce la copia del codice del libro che ho fornito?

Io stesso applico diversi approcci per combinare i risultati di diversi modelli, ne conosco ma non ne applico altri, ma non ho visto qualcosa di simile, forse a causa dell'incomprensibilità del codice.

 
😀😀😀

La fase di negazione, quella successiva alla sorpresa, è già terminata? Ci vuole molto tempo. Quando inizierà la fase di accettazione?
 

Una meravigliosa sezione in appendice ai libri, che parla dell'assoluta inutilità di tutta questa cajuela:

"

Perché le metriche di previsione sono pericolose per i modelli causali".

e la conclusione della sezione:

In altre parole, le prestazioni predittive su un insieme di dati casuali non traducono la nostra preferenza su quanto sia buono un modello per l'inferenza causale.


Traduzione di Yandex

Perché le prestazioni predittive sono pericolose per i modelli causali

In altre parole, le prestazioni predittive su un insieme di dati casuali non traducono la nostra preferenza per la bontà di un modello per l'inferenza causale.


In altre parole, per l'autore la cosa più importante è l'inferenza causale stessa, e il tentativo di usarla rovina la bellezza dell'intera costruzione.

Imbrogliare!

 
Questo per dire che con modelli troppo addestrati, con un gran numero di confondenti, l'inferenza causale è complicata. Ne ho scritto diverse volte. Ed è perfettamente naturale. E persino gli ottimizzatori discutono di cose così semplici. Questo se lo si legge e non lo si prende fuori dal contesto.

Ma non è affatto comico discutere di qualsiasi cosa con degli sbavatori. Siete proprio di mentalità ristretta. Anche se non sai chi sia un insegnante e confondi l'ensemble con la posta in gioco.

Non distingui nemmeno il matstat dal kozul, per te è tutto uguale (per ignoranza).

Da quanto tempo sei interessato al MO in generale, in termini di tempo? Per puro interesse. Puoi scrivere un classificatore da solo o costruire un NS di architettura arbitraria da un costruttore come Pytorch. O almeno un proprio tester? È un mistero coperto di oscurità.

Ovvero, cosa si può opporre all'autore del libro? Perché si dovrebbe dare retta a voi e non a lui, per esempio)?