L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 3341

 
Maxim Dmitrievsky #:

L'AB fait-il apparaître le C, ou un ensemble d'autres lettres ?

C'est bien là la question, il y a a priori une association...
Comment comprendre s'il s'agit d'une simple asociation ou si AB provoque effectivement C ?

 
Maxim Dmitrievsky #:

Après tout, vous n'avez pas été banni de Google, n'est-ce pas ? Vous pouvez lire comment l'inférence statistique diffère de l'inférence causale, n'est-ce pas ?

Maxim Dmitrievsky #:
Venons-en au fait : quelle est la différence entre l'inférence associative et l'inférence causale ?

L'auteur a pris la peine d'indiquer les limites de l'applicabilité de la régression linéaire. Point négatif.

Les étudiants Meta ne sont pas un ensemble de modèles, moins un point.

Avec quelle autre partie du livre êtes-vous en désaccord, ou plutôt qu'est-ce que vous n'avez pas compris dans le livre ?

Vous, bien sûr, êtes le plus grand gourou et pouvez vous permettre de donner des points aux gens, mais je ne peux pas, une fois de plus en écrivant spécifiquement dans l'attente que vous répondiez spécifiquement aussi.


Avec quelle autre partie du livre êtes-vous en désaccord, ou plutôt qu'est-ce que vous n'avez pas compris dans le livre ?

Je n'ai jamais écrit nulle part que je n'étais pas d'accord.

Je suis contre l'utilisation de nouvelles étiquettes pour des concepts bien connus

Tout est là et mettre du brouillard sur des choses connues n'est pas très utile.

L'auteur a pris la peine d'indiquer les limites de l'applicabilité de la régression linéaire. Moins un point.

Je n'ai pas vu dans le texte

1. la régression linéaire est applicable aux processus aléatoires stationnaires

2. le résidu de l'ajustement de la régression linéaire doit être normalement distribué.

Si ce n'est pas le cas dans ses exemples, et que la réciproque n'est pas énoncée, alors c'est un point de moins que tout son raisonnement.

Tout le raisonnement du livre sur la cause et l'effet est le raisonnement habituel de la "fausse corrélation".


Meta Learnersn'est pas un ensemble de modèles, moins le score.

Selon le texte du livre, les"méta-apprenants" sont le résultat de l'ajustement ou de la prédiction de modèles conventionnels. Si l'auteur n'avait pas une fois de plus étiqueté les concepts les plus ordinaires avec de nouvelles étiquettes, j'aurais eu l'occasion d'exprimer mes pensées de manière plus précise.

Je vais donc clarifier ma pensée.

L'ensemble de modèles est une idée ancienne et bien établie. L'entrée est la sortie de modèles de niveau inférieur, la sortie est un signal. Il existe de nombreuses méthodes pour combiner les résultats des modèles de niveau inférieur - combiner des "méta-apprenants". L'auteur envisage trois variantes de combinaison des résultats de l'ajustement, les deuxième et troisième variantes combinant les résultats du modèle de gradient bousting. Dans la troisième variante, les résultats du premier niveau sont combinés en fonction du modèle de gradient.

C'est dans ce texte inintelligible que se trouve le sens, la nouveauté de tout cela :

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 #:

C'est la question, il y a une association à première vue...
Comment savoir s'il s'agit d'une simple association ou si l'AB est réellement à l'origine de la maladie ?

Il n'est pas clair si ces lignes sont immédiatement connues ou si elles apparaissent une lettre à la fois. Qu'est-ce qui provoque l'apparition de ces lettres ? S'il s'agit simplement d'une séquence de motifs, la tâche ne semble pas très formalisée. Pourquoi la longueur de la chaîne a-t-elle été choisie, etc. Peut-être que les données ne sont pas du tout représentées sous la bonne forme.

Lisez le livre, vous y trouverez peut-être la réponse.

 

Sanych, kozul est un sujet complexe, que tout le monde ne peut pas comprendre d'un seul coup d'œil. Si vous ne comprenez pas quelque chose, cela ne veut pas dire qu'il y a quelque chose de mal écrit.

Ne souffrez pas si vous ne voulez pas souffrir. Sinon, les choses se passent comme dans la parabole des perles.

 
Maxim Dmitrievsky #:

Sanych, kozul est un sujet complexe, que tout le monde ne peut pas comprendre d'un seul coup d'œil. Si vous ne comprenez pas quelque chose, cela ne veut pas dire qu'il y a quelque chose de mal écrit.

Ne souffrez pas si vous ne voulez pas souffrir.

Kozul - Il s'agit d'une démarche publicitaire et l'ensemble du livre n'est rien d'autre qu'une publicité pour la nouveauté inhabituelle de la nouveauté des dispositions les plus habituelles de la statistique mathématique. Mais la statistique mathématique est un sujet vraiment difficile.

Voici le résultat de centaines de pages de texte :

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])))

Pour autant que je comprenne la programmation, le code donné n'est PAS un code fonctionnel : des fonctions qui ne savent pas d'où elles viennent, des résultats qui ne sont affectés à rien, des arguments de fonction qui viennent de rien.

 
"...de peur qu'ils ne la piétinent et ne se retournent pour vous démolir"
 

Maxim est désespérément incapable d'avoir une discussion de fond.

Y a-t-il quelqu'un sur le forum qui comprenne la copie du code du livre que j'ai donné ?

J'applique moi-même différentes approches pour combiner les résultats de plusieurs modèles, je connais mais n'en applique pas d'autres, mais je n'ai pas vu quelque chose de similaire, peut-être à cause de l'incompréhensibilité du code.

 
😀😀😀

La phase de déni, celle qui suit la surprise, a-t-elle commencé à se terminer ? Cela prend beaucoup de temps. Quand la phase d'acceptation commencera-t-elle ?
 

Une merveilleuse section dans l'annexe des livres, parlant de l'inutilité de toute cette cajuela :

"

Pourquoi les métriques de prédiction sont dangereuses pour les modèles causaux".

et la conclusion de la section :

En d'autres termes, la performance prédictive sur un ensemble de données aléatoires ne traduit pas notre préférence pour la qualité d'un modèle pour l'inférence causale .


Traduction Yandex

Pourquoi la performance prédictive est dangereuse pour les modèles causaux

En d'autres termes, les performances de prédiction sur un ensemble de données aléatoires ne traduisent pas notre préférence pour la qualité d'un modèle pour l'inférence causale.


En d'autres termes, pour l'auteur, la chose la plus importante est l'inférence causale elle-même, et essayer de l'utiliser gâche la beauté de l'ensemble de la construction.

Tricher !

 
Il s'agit simplement de dire qu'à travers des modèles surentraînés, avec un grand nombre de facteurs de confusion, l'inférence causale est compliquée. J'ai écrit à ce sujet à plusieurs reprises, et c'est parfaitement naturel. C'est tout à fait naturel , et même les optimisateurs se disputent sur des choses aussi simples. Enfin, si vous le lisez et ne le sortez pas de son contexte.

Mais il n'est pas comique de discuter de quoi que ce soit avec des baveux. Vous êtes tellement bornés. Même si vous ne savez pas ce qu'est un professeur et que vous confondez ensemble et staking.

Vous ne faites même pas la différence entre matstat et kozul, pour vous tout est pareil (par ignorance).

Depuis combien de temps vous intéressez-vous à la MO en général, en termes de temps ? Par pur intérêt. Pouvez-vous écrire un classificateur vous-même ou construire un NS d'architecture arbitraire à partir d'un constructeur comme Pytorch. Ou au moins votre propre testeur ? C'est un mystère couvert d'obscurité.

En d'autres termes, que pouvez-vous opposer à l'auteur du livre ? Pourquoi devrait-on vous écouter et pas lui, par exemple) ?