L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 189
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si vous prenez presque n'importe quel livre sur le datamining, les procédures de suppression des prédicteurs corrélés sont nécessairement décrites.
Les prédicteurs qui interagissent ne sont pas nécessairement corrélés... Ils interagissent sur la cible....
Et la présence de l'interaction donne des résultats de l'espèce :
> summary(lm(data = train_sample_list[[1]], price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16))
Call:
lm(formula = price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16,
data = train_sample_list[[1]])
Residuals:
Min 1Q Median 3Q Max
-0.035970 -0.000824 0.000001 0.000847 0.027278
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.883e-05 3.146e-05 1.234 0.21714
price_diff_lag_11 4.828e-02 9.092e-03 5.310 1.12e-07 ***
price_diff_min_lag_16 -3.055e-02 1.141e-02 -2.678 0.00743 **
price_diff_lag_11:price_diff_min_lag_16 -3.520e+00 3.515e-01 -10.014 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0024 on 10465 degrees of freedom
Multiple R-squared: 0.01611, Adjusted R-squared: 0.01583
F-statistic: 57.11 on 3 and 10465 DF, p-value: < 2.2e-16
Tous les prédicteurs sont significatifs (ainsi que leur interaction). Les statistiques F sont géniales...
Les prédicteurs qui interagissent ne seront pas nécessairement corrélés... Ils interagissent sur la cible....
Et la présence de l'interaction donne les résultats de l'espèce :
> summary(lm(data = train_sample_list[[1]], price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16))
Call:
lm(formula = price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16,
data = train_sample_list[[1]])
Residuals:
Min 1Q Median 3Q Max
-0.035970 -0.000824 0.000001 0.000847 0.027278
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.883e-05 3.146e-05 1.234 0.21714
price_diff_lag_11 4.828e-02 9.092e-03 5.310 1.12e-07 ***
price_diff_min_lag_16 -3.055e-02 1.141e-02 -2.678 0.00743 **
price_diff_lag_11:price_diff_min_lag_16 -3.520e+00 3.515e-01 -10.014 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0024 on 10465 degrees of freedom
Multiple R-squared: 0.01611, Adjusted R-squared: 0.01583
F-statistic: 57.11 on 3 and 10465 DF, p-value: < 2.2e-16
Tous les prédicteurs sont significatifs (ainsi que leur interaction). Les statistiques F sont géniales...
Vizard_:
Aucune donnée...
Pas de données, alors il n'y a rien à discuter.
Reposez-vous... vous !
Vous, au moins, ne soyez pas stupide) Vous avez juste oublié qui vous a dit en 9 ans que votre réseau n'est pas correctement configuré, et avec un polyanalyste peut tirer la formule)))).
Il n'y a pas de prétentions ni de secrets, j'utilise les outils standard du dm, parfois avec des modifications mineures. Si vous n'êtes intéressé que par les références, écoutez,
mais les réalités sont un peu différentes... L'expérience précédente portait sur des données réelles. Je l'ai fait sur des données artificielles simples. La première série a été reconnue absolument
correctement. Je viens d'ajouter ......... La réponse devrait être 100%, mais jPrediction 11 est tellement "ii" requinqué, qu'il arrive à donner)))) En bref, il faut l'affiner,
L'appareil ne fonctionne pas encore. Je ne te donnerai pas les données, tu te la pètes, tu trouveras toi-même... Version 20 peut-être que je regarderai à nouveau, si la "publicité" sera comme aujourd'hui))).
Peut-être que j'avais juste une idée différente de la signification du mot "interaction".
Il existe des règles claires pour traiter les interactions dans les modèles linéaires. Ils sont un peu plus compliqués que le traitement par combinaison linéaire: https://www.r-bloggers.com/interpreting-interaction-coefficient-in-r-part1-lm/.
Mais vous devez fouiller dans de nombreuses combinaisons pour trouver des interactions significatives. Maintenant, c'est un embarras.
Savez-vous que les optimisations multiples produisent toujours des résultats différents ? C'est de l'optimisation, si ça donnait toujours le même résultat ce serait bien, mais c'est trop étrange, essayez d'optimiser plusieurs fois, je suis sûr que vous obtiendrez votre 100% pour 8 fois sur 10. Donc c'est comme ça....
Il ne se rend même pas compte que l'échantillon général avant la formation est divisé en parties au hasard : certains modèles vont dans la partie formation, d'autres dans la partie test. Et avec une telle répartition, il se pourrait bien que certains motifs nécessaires à la clarification des modèles soient encombrés dans la partie test et non représentés dans la partie formation. Et comme l'algorithme ne s'entraîne que sur la partie formation et n'a pas de capacités télépathiques pour découvrir ce que contient la partie test, des erreurs se produiront lors du calcul de la capacité de généralisation. C'est-à-dire que rien de surprenant ne se produit.
Mais lorsque les motifs qui devraient spécifier des modèles s'avèrent être répartis de manière égale sur différentes parties de l'échantillon, la capacité d'apprentissage est plus élevée que dans le cas décrit ci-dessus.
En d'autres termes, il y a un effet de cas par cas et tout aléa peut tôt ou tard montrer son côté indésirable.
Il est tout à fait possible de trouver une méthode par laquelle l'échantillon général est divisé en parties non pas au hasard, mais de manière déterministe ? Mais jusqu'à présent, l'expérience a montré que tout déterminisme dans le fractionnement des échantillons s'accompagne d'un ajustement, suivi d'un sur-apprentissage.
Il est peut-être possible de trouver une méthode permettant de diviser l'échantillon général en parties de manière déterministe plutôt qu'aléatoire ? Mais jusqu'à présent, l'expérience montre que tout déterminisme dans la division d'un échantillon s'accompagne d'un ajustement et d'un recyclage ultérieur.
Peut-être devez-vous faire l'entraînement plusieurs fois et partitionner l'échantillon de façon aléatoire à chaque fois ? Et à partir de cet ensemble prêt de modèles formés, vous pouvez choisir et, en général, vous pouvez évaluer si le modèle est bon ou non.
Ceci est déjà implémenté dans jPrediction, c'est-à-dire que plusieurs partitions d'échantillons différentes sont calculées en parallèle sur différents cœurs de CPU (deux classificateurs binaires sont une terraire par cœur libre). Le processeur s'avère être chargé à 100%. Le problème est que le nombre de cœurs de l'unité centrale est limité, de sorte que la probabilité d'une distribution inégale des motifs peut seulement être réduite, mais il est très problématique de les minimiser. À moins que vous ne formiez les modèles sur des superordinateurs plutôt que sur des PC.
Par exemple, si vous calculez des motifs sur le superordinateur chinois Tianhe-2, celui-ci possède 3 120 000 cœurs. La probabilité d'une distribution inégale des motifs sur certaines parties de l'échantillon serait négligeable. Si nous calculons des motifs sur un personnel à 4 cœurs (plus quelques cœurs réservés à d'autres tâches), il n'est pas surprenant que, tôt ou tard, nous puissions rencontrer des irrégularités.
Ceci est déjà implémenté dans jPrediction, c'est-à-dire que plusieurs partitions d'échantillons différentes sont calculées en parallèle sur différents cœurs de CPU (deux classificateurs binaires sont une terraire par cœur libre). Le processeur s'avère être chargé à 100%. Le problème est que le nombre de cœurs de l'unité centrale est limité, de sorte que la probabilité d'une distribution inégale des motifs peut seulement être réduite, mais il est très problématique de les minimiser. À moins que vous ne formiez des modèles sur des superordinateurs plutôt que sur des PC.
Par exemple, si vous calculez des motifs sur le superordinateur chinois Tianhe-2, celui-ci possède 3 120 000 cœurs. La probabilité d'une distribution inégale des motifs sur certaines parties de l'échantillon serait négligeable. Si vous calculez des motifs sur un personnel à 4 cœurs (et que vous réservez quelques cœurs pour d'autres tâches), il n'est pas surprenant que, tôt ou tard, vous rencontriez des irrégularités.
Je veux dire, c'est utile de faire ça. Ainsi, au lieu de 4 partitions, évidemment insuffisantes, vous devriez faire 40 partitions. Pour 4 cœurs, il faudrait 10 fois plus de temps pour compter, mais je suppose que le temps peut être sacrifié en faveur de la robustesse.
"Si cela peut être fait et si cela peut faire du bien, il faut le faire". (c) Papo Carlo Albertovich.