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

 

Alexey Burnakov:
J'ai commencé à obtenir des réponses à ma question dans R.

Correspondance continue avec la même personne...


Re: [Rd] dgamma density values in extreme point
Duncan Murdochmurdoch.duncan@gmail.com
сегодня в 12:59
Вам
:
burnakov@yandex.ru
Язык письма — английский. Перевести на русский?
Перевести
<span class="mail-Message-Widget-Inline_help ns-action nb-with-s-right-gap" data-click-action="common.show-hint" title="Узнать больше" data-params="pos=right&counter=71105:msg.click.quest&text=Вы можете переводить письма с иностранных языков нажатием одной кнопки. Кроме того, перевод писем доступен по ссылке «Перевести» за вкладкой «подробнее». Если вы считаете, что язык письма определён неправильно, пожалуйста, сообщите нам об этом." style="margin-right: 10px !important; display: inline-flex; cursor: pointer; color: rgb(187, 187, 187); flex-shrink: 0;">
Alexey Burnakov14 ноя. в 1:54 AM
 Hi Duncan,

 "As to the "correctness", we all know that the value of a density at any
 particular point is irrelevant. Only the integrals of densities have
 any meaning. "

 Thank you for clarification. Yes, I agree that what matters practically
 is the cumulative density. One more point.

 There is an opinion expressed by sometimes that while integral from the
 left in point zero of the support == 0, density in this particular point
 cannot be anything than zero. You think that is sound?

No. The value of a density at any particular point is irrelevant.

Duncan Murdoch

A propos du défendeur : http://www.stats.uwo.ca/faculty/murdoch/other.shtml

En particulier :

Je suis membre du groupe de développement de base de R ; voir www.r-project.org pour plus de détails sur le projet R. Je maintiens laversion Windows de R et j'ai unepage web de conseils pour les personnes qui écrivent des DLLs pour R.

About Duncan Murdoch
  • www.stats.uwo.ca
My research interests are in applied statistics (especially orientation statistics) and statistical computing (especially the R project and perfect sampling). I write a fair...
 
SanSanych Fomenko:

Eh bien, tu sais mieux que quiconque.

Oui, plus clairement et plus honnêtement.

Et je n'ai pas la capacité politique d'esquisser en tant qu'étranger au forum.


N'hésitez pas à appeler Matlab, Wolfram et Mathématiques "Je ne sais pas qui c'est".

Donnez-moi un lien vers les classements des paquets statistiques qui contenaient Mathlab (Wolfram). Matlab l'était, mais il est décédé. J'ai donné dans mon blog sur votre site et plusieurs fois posté sur le forum

Vous êtes silencieux sur le fait que :

  • vous montrez la comparaison entre les paquets gratuits et payants de R
  • vous ignorez les positions historiques (il y a 5-10 ans) des paquets mathématiques, affirmant sur cette base "ils ne sont personne".
  • vous changez la popularité et discutez de la précision des calculs

Matlab n'a pas disparu, et les autres paquets non plus. Oui, c'est payant, mais c'est de la qualité. Oui, la popularité va baisser, mais la précision et la qualité ne vont pas disparaître.

Renseignez-vous sur Wolfram Alpha et faites des recherches sur son site web - il s'agit d'un investissement fondamental dans l'analyse que peu de gens peuvent faire. Et Wolfram Alpha a une précision de 30 chiffres, ce qui prouve leur attention maniaque à la qualité des calculs.

Wolfram|Alpha: Computational Knowledge Engine
  • www.wolframalpha.com
Wolfram|Alpha is more than a search engine. It gives you access to the world's facts and data and calculates answers across a range of topics, including science, nutrition, history, geography, engineering, mathematics, linguistics, sports, finance, music...
 
Alexey Burnakov:

Re: [Rd] dgamma density values in extreme point
Duncan Murdochmurdoch.duncan@gmail.com
сегодня в 12:59
Вам

Malheureusement, vous avez formulé la question de manière incomplète et avez reçu une réponse mal conçue et brève de type "ça n'a pas d'importance".

Vous vouliez une réponse "donc d'accord/convention" en la formulant dans la question elle-même. Mais Duncan s'en est tiré avec "ce qui est juste" la première fois et l'a répété la deuxième fois.

Vous n'avez pas obtenu de preuve d'exactitude dans R et n'avez pas obtenu de réponse quant à la raison pour laquelle le résultat est différent dans d'autres paquets. La question "pourquoi la réponse est différente dans d'autres paquets" est plus importante et peut être plus révélatrice.


Notre position :

выражение для dgamma

(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)

for x ≥ 0, a > 0 and s > 0


в точке 0 является неопределенным.

R estime que vous pouvez inclure ce point dans le calcul, mais prendre les valeurs limites même si elles sont infinies comme dans le cas de dgamma(0,0.5,1).

Cependant, si l'on calcule les probabilités étant donné l'infini au point zéro, toutes les intégrales de dgamma deviennent formellement infinies et, selon cette logique, pgamma devrait être égal à l'infini pour toutes les valeurs de x.

Cependant, cela contredit les résultats de pgamma, où toutes les valeurs s'avèrent être finies. Ils sont corrects, car si au point x=0 la densité est supposée être =0.
 

Pour @SanSanych Fomenko - MQL4/MQL5 est passé à la 41e place du classement mondial des langages de programmation TIOBE : http://www.tiobe.com/tiobe-index/

R en 19ème position, Mathlab en 15ème position.

Ceci afin de dissiper vos affirmations sur le fait de "ne pas faire autorité" et de "ne pas être le meilleur du monde".

TIOBE Index | TIOBE - The Software Quality Company
  • www.tiobe.com
TIOBE Index for November 2016 November Headline: Is Haskell finally going to hit the top 20? Some people say that Haskell is the most mature purely functional programming language available nowadays. It has quite a long history, dating back from 1990 and its community is growing, although slowly. This month Haskell is only 0.255% away from the...
 

Afin de ne pas perdre le fil de la discussion, voici l'erreur de calcul des quantiles de la distribution t non centrale trouvée dans le processus de test de R.

Par exemple :

> n <- 10
> k <- seq(0,1,by=1/n)
> nt_pdf<-dt(k, 10,8, log = FALSE)
> nt_cdf<-pt(k, 10,8, log = FALSE)
> nt_quantile<-qt(nt_cdf, 10,8, log = FALSE)
> nt_pdf
 [1] 4.927733e-15 1.130226e-14 2.641608e-14 6.281015e-14 1.516342e-13 3.708688e-13 9.166299e-13
 [8] 2.283319e-12 5.716198e-12 1.433893e-11 3.593699e-11
> nt_cdf
 [1] 6.220961e-16 1.388760e-15 3.166372e-15 7.362630e-15 1.742915e-14 4.191776e-14 1.021850e-13
 [8] 2.518433e-13 6.257956e-13 1.563360e-12 3.914610e-12
> k
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> nt_quantile
 [1]           -Inf -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154
 [7] -1.340781e+154   7.000000e-01   8.000000e-01   9.000000e-01   1.000000e+00

L'algorithme AS 243 proposé par Lenth [6] est utilisé pour calculer la probabilité d'une distribution T non-centrale de la distribution t de Student dans R. L'avantage de cette méthode est le calcul rapide de la récurrence des termes de séries infinies avec des fonctions bêta incomplètes. Cependant, il a été montré dans l'article [7], que cet algorithme conduit à des erreurs dues à l'erreur d'estimation de la précision lors de la sommation des termes de la série (Tableau 2 dans l'article [7]), en particulier pour de grandes valeurs du paramètre de non centralité delta. Les auteurs de l'article [7] ont proposé un algorithme corrigé pour le calcul par récurrence de la probabilité de la distribution T non centrale.

Notre bibliothèque statistique MQL5 utilise l'algorithme correct pour le calcul des probabilités de l'article [7] , ce qui donne des résultats précis.


De plus, dans R, la façon dont nous définissons les densités pour les distributions Gamma, KhiSquare et KhiSquare non central au point x=0 conduit à des expressions infinies :

> dgamma(0,0.5,1)
[1] Inf
> dchisq(0,df=0.5,ncp=1)
[1] Inf
> dchisq(0,df=0.5,ncp=0)
[1] Inf

Il s'avère donc que le point x=0 dans R est inclus dans le domaine de définition de l'expression des densités et la solution est les valeurs limites.

Dans ce cas, la valeur limite en x=0 est l'infini. Dans cette approche, suite à l'intégration de 0 à x>0, en raison de la divergence au point x=0, les probabilités devraient être infinies.

Cependant, le résultat du calcul de probabilité (par exemple pour x=0,1) est une expression finie :

> pgamma(0.1,0.5,1)
[1] 0.3452792
> pchisq(0.1,df=0.5,ncp=0)
[1] 0.5165553
> pchisq(0.1,df=0.5,ncp=1)
[1] 0.3194965

Malgré le fait qu'au point x=0 la densité est considérée comme infinie, les résultats du calcul de probabilité dans R ne sont pas infinis, ils coïncident avec les valeurs de Wolfram Alpha(Gamma, ChiSquare, NoncentralChiSquare).

Pour éviter les problèmes d'intégration de fonctions qui tournent à l'infini à x=0, dans Wolfram Alpha (Mathematica) et Matlab, la densité au point x=0 est 0 par définition :


Figure 3. Détermination de la densité de probabilité de la distribution Gamma dans Wolfram Alpha


Fig.4. Détermination de la densité de probabilité de la distribution du ChiSquare dans Wolfram Alpha



Fig. 5. Détermination de la fonction de densité de probabilité de la distribution non centrale du chi carré dans Wolfram Alpha


Nous pensons que cette approche est correcte. Elle permet d'éviter les incertitudes dans la fonction de densité de probabilité et résout le problème des valeurs infinies, qui peut survenir lors de l'intégration de la fonction de densité de probabilité.

Pour cette raison, au point x=0, les densités de ces distributions sont supposées être nulles par définition, et non infinies comme dans R.

Nous avons inclus plusieurs scripts de test unitaire dans la livraison afin de nous assurer que les calculs sont exacts et de donner la possibilité aux développeurs tiers de vérifier la qualité de la bibliothèque.

Littérature

  1. Le projet R pour le calcul statistique.
  2. Balakrishnan N., Johnson N.L., Kotz S. "Univariate Continuous Distributions : Part 1". MOSCOU : BINOM. Laboratoire de la connaissance, 2014.
  3. Balakrishnan N., Johnson N.L., Kotz S. "Univariate continuous distributions : part 2 " . M. : BINOM. Laboratoire de la connaissance, 2014.
  4. Johnson N.L., Kotz S., Kemp A. "Univariate discrete distributions", Moscou : BINOM. Knowledge Lab, 2014.
  5. Forbes C., Evans M., Hastings N., Peacock B., "Statistical Distributions", 4e édition, John Wiley and Sons, 2011.
  6. Lenth, R.V., 'Cumulative distribution function of the noncentral t distribution', Applied Statistics, vol. 38 (1989), 185-189.
  7. D. Benton, K. Krishnamoorthy, "Computing discrete mixtures of continuous distributions : noncentral chisquare, noncentral t and the distribution of the square of the sample multiple correlation coefficient", Computational Statistics & Data Analysis, 43, (2003), 249-267
Wolfram|Alpha: Computational Knowledge Engine
  • www.wolframalpha.com
Wolfram|Alpha is more than a search engine. It gives you access to the world's facts and data and calculates answers across a range of topics, including science, nutrition, history, geography, engineering, mathematics, linguistics, sports, finance, music...
 
Renat Fatkhullin:

Pour @Sanych Fomenko - MQL4/MQL5 est 41ème au classement mondial des langages de programmation TIOBE : http://www.tiobe.com/tiobe-index/

R en 19ème position, Mathlab en 15ème position.

Ceci afin de réfuter vos affirmations sur "l'absence d'autorité" et "l'absence d'excellence mondiale".

Je parle de statistiques. Et mes classements par paquet statistique.

En outre. Dans la citation que vous avez citée, R se classe au-dessus de MQL4/5 dans ces statistiques pour les langages algorithmiques. Mais ce n 'est PAS du tout une raison pour moi de passer de MQL à R, par exemple. Je ne discute pas du tout des capacités algorithmiques de R.

Pour moi, la principale force de R réside dans ses paquets, dans le soutien de tout ce système, dans l'autorité des personnes qui les ont développés, dans l'énorme hangout R, et enfin dans le nombre considérable de publications liées à R.

Mais en tant que personne qui a été dans des conseils scientifiques pendant 15 ans. Si vous écrivez "analogue de R" alors il s'agit d'un analogue sans aucune exception. Et il n'y a pas d'autre moyen de contourner le problème. Sinon, ce n'est PAS un analogue de R. Il peut être beaucoup plus correct, mais ce n'est pas un analogue.

 
SanSanych Fomenko:

Je discute des statistiques. Et mes évaluations sur les paquets statistiques.

En outre. Dans la citation que vous citez, R se classe au-dessus de MQL4/5 dans ces statistiques pour les langages algorithmiques. Mais pour moi, ce n 'est PAS du tout une raison pour passer de MQL à R, par exemple. Je ne discute pas du tout des capacités algorithmiques de R.

Et nous discutons d'une erreur spécifique dans le R.

Ne vous embêtez donc pas avec vos évaluations, puisque vous n'êtes pas au courant des mathématiques et du cas particulier qui vous occupe.

 

SanSanych Fomenko:

...

Pour moi, la principale force de R réside dans ses paquets, dans le support de l'ensemble du système, dans l'autorité des personnes qui les ont développés, dans le fait qu'il y a un énorme hangout sur R et, enfin, dans le grand nombre de publications liées à R.
...

Quelle chose pourrie est ce R - un vélo avec des roues carrées. Que dire de certains de ses paquets lorsque la base, c'est-à-dire le noyau R, est de travers et nécessite un sérieux réglage avec une "lime à crayon" ? Quelle crédibilité peuvent avoir ceux qui n'ont même pas pris la peine de vérifier l'exactitude des fonctions de base en R depuis tant d'années ? Quelle peut être la "force" dans la faiblesse de R - l'incorrection des calculs à travers elle ?

Il est bon que MetaQuotes a ouvert les yeux de certains utilisateurs sur le fait et les tests avec l'open source, de sorte que tout le monde pourrait indépendamment double vérification et de s'assurer, plutôt que sans fondement. Bien sûr, tous n'ont pas été ouverts, car certains fanatiques religieux de la secte destructrice de R continueront à croire aveuglément à l'"infaillibilité" des calculs dans leur langage et leurs paquets tordus, au lieu de se tourner vers les tests présentés et de les revérifier eux-mêmes, mais pas de faire des conneries fanatiques, en défendant les tordus de R comme "norme généralement acceptée".

Il est maintenant évident qu'il est préférable d'utiliser la fonctionnalité MQL pour créer des stratégies de trading, car le résultat sera plus correct, plutôt que d'essayer de le faire via la courbe et la barre oblique R.

Les développeurs de MetaQuotes méritent un remerciement particulier pour leur approche constructive, leurs tests et leurs sources, ainsi que pour l'identification du"Roi nu - R" !

 
Quantum:
Nous ne sommes pas intéressés par la largeur 0, nous avons besoin de comprendre comment se comporte une telle intégrale, c'est-à-dire cdf(x). Quel type de fonction obtient-on ? Coïncidera-t-elle avec pgamma(x) ?

> dgamma_05_1 <- function(x)dgamma(x,0.5,1) #всего 1 параметр, чтоб удобней работать

> pgamma_05_1 <- function(x)pgamma(x,0.5,1#всего 1 параметр, чтоб удобней работать

> pgamma_05_1_integralform <- function(x)integrate(dgamma_05_1, 0, x)$value #вычисление pgamma путём интегрирования dgamma
>
> pgamma_05_1(0.00001)
[1] 0.003568236
> pgamma_05_1_integralform(0.00001)
[1] 0.003568236
> pgamma_05_1(0.00001) - pgamma_05_1_integralform(0.00001)
[1] -6.938894 e-18
>
> pgamma_05_1(0.0001)
[1] 0.01128342
> pgamma_05_1_integralform(0.0001)
[1] 0.01128342
> pgamma_05_1(0.0001) - pgamma_05_1_integralform(0.0001)
[1] 3.295975 e-17
>
> pgamma_05_1(0.001)
[1] 0.03567059
> pgamma_05_1_integralform(0.001)
[1] 0.03567059
> pgamma_05_1(0.001) - pgamma_05_1_integralform(0.001)
[1] 1.595946 e-16
>
> pgamma_05_1(0.01)
[1] 0.1124629
> pgamma_05_1_integralform(0.01)
[1] 0.1124629
> pgamma_05_1(0.01) - pgamma_05_1_integralform(0.01)
[1] 1.096345 e-15
>
> pgamma_05_1(0.1)
[1] 0.3452792
> pgamma_05_1_integralform(0.1)
[1] 0.3452792
> pgamma_05_1(0.1) - pgamma_05_1_integralform(0.1)
[1] 1.126876 e-13
>
> pgamma_05_1(1)
[1] 0.8427008
> pgamma_05_1_integralform(1)
[1] 0.8427008
> pgamma_05_1(1) - pgamma_05_1_integralform(1)
[1] 3.460265 e-11

pgamma() trouvé de manière standard et integrate(dgamma()) coïncident presque, nous voyons que l'erreur n'est que de3.460265e-11 à x=1. Cependant, une telle erreur est tout à fait attendue puisque l'intégration est ici effectuée comme une somme de petites étapes, sans aucune analyse ou simplification préalable. La fonction pgamma() elle-même est écrite en C++ et devrait être plus précise que integrate(). C'est pourquoi vous devriez utiliser pgamma(x,0.5,1) au lieu de integrate(dgamma(x,0.5,1),0,x)

 
Yury Reshetov:

Que pouvons-nous dire de l'un ou l'autre de ses paquets, alors que le noyau, c'est-à-dire le noyau R, est de travers et doit être sérieusement affiné avec un "crayon et une lime" ?

Le noyau R est tordu et lent.

Si vous divisez la discussion en statistiques purement classiques, qui se trouvent à la fois dans la livraison de base et dans les paquets supplémentaires, je pense qu'il n'y a pas de problème ici. Si vous effectuez des millions de tests statistiques, la maîtrise d'autres langages (dont MQL) sera un plus.

Si nous parlons de la programmation R en général, je te dirai, Yuri, que les gens utilisent à nouveau des paquets pour le traitement rapide des données (dplyr, data.table, et pour les graphiques - ggplot2). R lui-même est à nouveau un langage de script, ancien, non conçu pour les données massives.

Mais malgré tout cela, le flot de boue venant de votre côté est encore injustement élevé. Nous discutions de statistiques ici, et même pas de refactoring de code et autres trucs techniques. Il s'agissait d'une discussion sur les concepts mathématiques.