L'étiquette du marché ou les bonnes manières dans un champ de mines - page 80

 
gpwr писал(а) >>

Pourquoi y a-t-il une dispersion statistique près des cercles bleus ? Si les pondérations partent de zéro, il ne devrait pas y avoir de dispersion statistique.

Le fait est que je ne génère pas de statistiques pour le même échantillon d'entraînement, mais que je déplace un échantillon à la fois au cours de chaque cycle. Par conséquent, les résultats de la formation ne coïncident pas entre eux. Je ne me souviens pas pourquoi j'ai fait ça, mais ça ne change rien à l'essentiel. Apparemment, je voulais montrer les processus quasi-stationnaires du marché et refléter leur influence sur la vitesse d'apprentissage.

Voici à quoi ressemblent les résultats obtenus en faisant la moyenne de 10 expériences sur le même échantillon d'entraînement (fig. gauche) :

Vous pouvez voir qu'il n'y a pas de variation statistique pour les poids à initialisation nulle.

La figure de droite est basée sur une architecture de réseau avec 12 entrées, 5 neurones dans la couche cachée et 1 neurone dans la sortie et avec un échantillon d'entraînement de 120 échantillons, c'est-à-dire qu'il s'agit d'une copie de votre cas. Les statistiques ont été recueillies à partir de 50 expériences numériques indépendantes. De plus, tout fonctionne correctement.

Si l'on utilise les prix d'ouverture de l'EURUSD1h normalisés par leur écart-type, leur moyenne n'est pas égale à zéro. Ou avez-vous soustrait la moyenne ?

Non, j'ai utilisé la première différence de prix d'ouverture comme entrée (je pensais que c'était clair d'après le contexte). Il est clair que la moyenne est de zéro. Prédire l'amplitude et le signe de la prochaine différence.

Quant au théorème, il m'a plu. Mais, elle concerne nos réseaux comme un cas particulier !

Vous avez prouvé le cas dégénéré pour une longueur d'échantillon d'entraînement tendant vers l'infini. Vraiment, dans ce cas pour le vecteur de données d'entrée représentant le SV avec zéro MO nous obtenons des poids nuls - la meilleure prévision pour demain pour le SV intégré est la valeur actuelle d'aujourd'hui ! Mais, dès que nous prenons un échantillon d'apprentissage de longueur finie, les poids formés tendront vers l'équilibre, minimisant le carré de l'erreur. Pour prouver cette affirmation, prenons le cas de SLAE (the same NS). Dans ce cas, les poids sont définis de manière unique, l'erreur d'apprentissage sur l'échantillon d'apprentissage est identiquement égale à zéro (le nombre d'inconnues est égal au nombre d'équations) et les poids (coefficients aux inconnues) ne sont évidemment pas égaux à zéro.

 

Quelque chose dans ce design ne fonctionne pas pour moi :


 
Pourquoi voyez-vous un intervalle de +/-1 sur l'échelle des abscisses ? Ce devrait être +/-N... Vous avez peut-être réglé les limites +/-1 à fond et maintenant vous ne voyez plus rien, mais c'est comme sur la photo.
 

Je ne pense pas que ce soit la raison. Je n'ai pas du tout spécifié de limite de portée. Maintenant, c'est réglé dur de -N à +N :


Je pense que c'est un problème de Matkad. J'ai déjà le nouveau, mais la poste ne travaille pas aujourd'hui. Je ne pourrai l'avoir que demain.

 
paralocus писал(а) >>

Je ne pense pas que ce soit la raison. Je n'ai pas du tout spécifié de limite de portée. Maintenant, c'est réglé dur de -N à +N :

Je pense que c'est un problème de Matkad. J'ai déjà le nouveau, mais la poste ne travaille pas aujourd'hui. Je ne pourrai l'avoir que demain.

Je vais bien :

Toi, montre-moi les valeurs vectorielles. Comme, F=... qu'est-ce que tu as ?

 
 

Ahhh. Vous savez ce qu'il faut faire - arrondir votre dif dans la boucle à un nombre entier : dif[i]=trunc(K*(Open[i]-Open[i-1])). Peut-être que vous n'avez pas 4 chiffres dans votre quotient d'origine. Voyez comment le cotier lui-même se présente dans le tableau.

 

Oui, ça a marché...

Bizarre, comment se fait-il que je n'aie pas quatre chiffres dans mon quotient ?


 

D'où, d'où... Parce que vous avez configuré Matcad pour représenter les nombres avec trois décimales.

Oh, non. Le problème réside dans le quotient d'origine, cependant. Regardez dans les données brutes.

 
Cela est dû à la différence entre les types de données. trunc() fixe simplement la valeur de la première différence du quotient à un type entier.