Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 210

 

Alexey Burnakov:
Ich begann, Antworten auf meine Frage in R zu erhalten.

Fortgesetzte Korrespondenz mit derselben Person...


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

Über den Beklagten: http://www.stats.uwo.ca/faculty/murdoch/other.shtml

Im Besonderen:

Ich bin Mitglied der R-Kernentwicklungsgruppe; siehe www.r-project.org für Details über das R-Projekt. Ich betreue dieWindows-Version von R und habeeine Webseite mit Tipps für Leute, die DLLs für R schreiben.

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:

Ja, du weißt es am besten.

Ja, klarer und ehrlicher.

Und ich habe nicht die politische Fähigkeit, als Außenstehender im Forum zu skizzieren.


Zögern Sie nicht einmal, Matlab, Wolfram und Mathematics "Ich weiß nicht, wer das ist" zu nennen.

Geben Sie mir einen Link zu Ranglisten von Statistikpaketen, die Mathlab (Wolfram) enthalten. Matlab war es, ist aber inzwischen verstorben. Ich habe in meinem Blog auf Ihrer Website und viele Male auf dem Forum gepostet

Sie verschweigen die Tatsache, dass:

  • Sie zeigen den Vergleich von kostenlosem R mit kostenpflichtigen Paketen
  • Sie ignorieren die historischen (vor 5-10 Jahren) Positionen der mathematischen Pakete und behaupten auf dieser Grundlage, "sie seien niemand".
  • Sie ändern die Beliebtheit und diskutierte Genauigkeit von Berechnungen

Matlab hat sich nicht weiterentwickelt, und die anderen Pakete auch nicht. Ja, sie ist kostenpflichtig, aber sie ist qualitativ hochwertig. Ja, die Popularität wird zurückgehen, aber die Genauigkeit und die Qualität werden sich nicht ändern.

Informieren Sie sich über Wolfram Alpha und recherchieren Sie auf der Website des Unternehmens - es ist eine grundlegende Investition in die Analytik, die nur wenige tätigen können. Und Wolfram Alpha hat eine Genauigkeit von 30 Ziffern, was beweist, dass sie wie verrückt auf die Qualität ihrer Berechnungen achten.

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
Вам

Leider haben Sie die Frage unvollständig formuliert und eine schlecht durchdachte und kurze, höfliche Antwort erhalten: "Das ist egal".

Sie wollten eine "so vereinbarte/konventionelle" Antwort, indem Sie sie in der Frage selbst formulierten. Aber Duncan kam beim ersten Mal mit dem "Richtigen" davon und wiederholte es beim zweiten Mal.

Sie haben keinen Genauigkeitsnachweis in R erhalten und auch keine Antwort darauf, warum das Ergebnis in anderen Paketen anders ausfällt. Die Frage, warum die Antwort bei anderen Paketen anders ausfällt, ist wichtiger und kann aufschlussreicher sein.


Unser Standpunkt:

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

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

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


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

R ist der Meinung, dass Sie diesen Punkt in die Berechnung einbeziehen können, aber die Grenzwerte nehmen, auch wenn sie unendlich sind, wie im Fall von dgamma(0,0.5,1).

Berechnet man jedoch Wahrscheinlichkeiten, die im Nullpunkt unendlich sind, werden alle Integrale von dgamma formal unendlich, und nach dieser Logik müsste pgamma für alle Werte von x gleich unendlich sein.

Dies steht jedoch im Widerspruch zu den Ergebnissen von pgamma, wo sich alle Werte als endlich erweisen. Sie sind richtig, denn im Punkt x=0 wird die Dichte als =0 angenommen.
 

Für @SanSanych Fomenko - MQL4/MQL5 ist auf Platz 41 der TIOBE-Weltrangliste der Programmiersprachen aufgestiegen: http://www.tiobe.com/tiobe-index/

R auf Platz 19, Mathlab auf Platz 15.

Damit möchte ich Ihre Behauptungen widerlegen, Sie seien "keine Autorität" und "nicht die Weltspitze".

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...
 

Um den Faden der Diskussion nicht zu verlieren, hier der Fehler bei der Berechnung der Quantile der nicht zentralen t-Verteilung, der beim Testen von R gefunden wurde.

Zum Beispiel:

> 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

Der von Lenth [6] vorgeschlagene Algorithmus AS 243 wird zur Berechnung der Wahrscheinlichkeit der nicht zentralen T-Verteilung der Student's t-Verteilung in R verwendet. Der Vorteil dieser Methode ist die schnelle Rekursionsberechnung von unendlichen Reihentermini mit unvollständigen Beta-Funktionen. In [7] wurde jedoch gezeigt, dass dieser Algorithmus aufgrund des Fehlers bei der Genauigkeitsschätzung beim Aufsummieren der Reihenterme zu Fehlern führt (Tabelle 2 in [7]), insbesondere bei großen Werten des Nicht-Zentralitätsparameters delta. Die Autoren der Arbeit [7] schlugen einen korrigierten Algorithmus zur rekursionsbasierten Berechnung der nicht-zentralen T-Verteilungswahrscheinlichkeit vor.

Unsere statistische Bibliothek MQL5 verwendet den korrekten Algorithmus zur Wahrscheinlichkeitsberechnung aus dem Artikel [7] , der genaue Ergebnisse liefert.


Außerdem führt die Art und Weise, wie wir in R Dichten für Gamma-, Chi-Quadrat- und nichtzentrale Chi-Quadrat-Verteilungen am Punkt x=0 definieren, zu unendlichen Ausdrücken:

> 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

Es stellt sich also heraus, dass der Punkt x=0 in R in den Definitionsbereich des Ausdrucks für die Dichten einbezogen ist und die Lösung die Grenzwerte sind.

In diesem Fall ist der Grenzwert bei x=0 unendlich. Bei diesem Ansatz müssten die Wahrscheinlichkeiten infolge der Integration von 0 bis x>0 aufgrund der Divergenz im Punkt x=0 unendlich sein.

Das Ergebnis der Wahrscheinlichkeitsrechnung (z.B. für x=0,1) ist jedoch ein endlicher Ausdruck:

> 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

Obwohl die Dichte im Punkt x=0 als unendlich angesehen wird, sind die Ergebnisse der Wahrscheinlichkeitsberechnung in R nicht unendlich, sondern stimmen mit den Werten von Wolfram Alpha(Gamma, ChiSquare, NoncentralChiSquare) überein.

Um Probleme mit integrierenden Funktionen zu vermeiden, die bei x=0 ins Unendliche gehen, ist in Wolfram Alpha (Mathematica) und Matlab die Dichte am Punkt x=0 per Definition 0:


Abbildung 3. Bestimmung der Wahrscheinlichkeitsdichte der Gamma-Verteilung in Wolfram Alpha


Abb. 4. Bestimmung der Wahrscheinlichkeitsdichte der ChiSquare-Verteilung in Wolfram Alpha



Abb. 5. Bestimmen der Wahrscheinlichkeitsdichtefunktion der nicht-zentralen Chi-Quadrat-Verteilung in Wolfram Alpha


Wir denken, dass dieser Ansatz richtig ist. Sie ermöglicht es, Unsicherheiten in der Wahrscheinlichkeitsdichtefunktion zu vermeiden und löst das Problem der unendlichen Werte, die bei der Integration der Wahrscheinlichkeitsdichtefunktion auftreten können.

Aus diesem Grund werden die Dichten dieser Verteilungen im Punkt x=0 per Definition als Null angenommen und nicht als unendlich wie in R.

Wir haben mehrere Unit-Test-Skripte in den Lieferumfang aufgenommen, um sicherzustellen, dass die Berechnungen korrekt sind und um Drittentwicklern die Möglichkeit zu geben, die Qualität der Bibliothek zu überprüfen.

Literatur

  1. Das R-Projekt für statistische Berechnungen.
  2. Balakrishnan N., Johnson N.L., Kotz S. "Univariate stetige Verteilungen: Teil 1". MOSKAU: BINOM. Labor des Wissens, 2014.
  3. Balakrishnan N., Johnson N.L., Kotz S. "Univariate kontinuierliche Verteilungen: Teil 2 ". M.: BINOM. Labor des Wissens, 2014.
  4. Johnson N.L., Kotz S., Kemp A. "Univariate diskrete Verteilungen", Moskau: BINOM. Wissenslabor, 2014.
  5. Forbes C., Evans M., Hastings N., Peacock B., "Statistical Distributions", 4th Edition, 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:

Für @Sanych Fomenko - MQL4/MQL5 ist 41. in der Weltrangliste der TIOBE Programmiersprachen: http://www.tiobe.com/tiobe-index/

R auf Platz 19, Mathlab auf Platz 15.

Damit möchte ich Ihre Aussagen über "keine Autorität" und "keine Weltspitze" widerlegen.

Ich diskutiere über Statistiken. Und meine Rangliste nach Statistikpaket.

Außerdem. In dem von Ihnen angeführten Zitat rangiert R in diesen Statistiken für algorithmische Sprachen über MQL4/5. Aber das ist für mich KEIN Grund, zum Beispiel von MQL zu R zu wechseln. Ich diskutiere überhaupt nicht über die algorithmischen Fähigkeiten von R.

Für mich ist die Hauptstärke von R die Pakete, die Unterstützung dieses ganzen Systems, die Autorität der Leute, die sie entwickelt haben, der riesige R-Hangout, die vielen Veröffentlichungen, die mit R verbunden sind.

Aber als jemand, der 15 Jahre lang in wissenschaftlichen Räten tätig war. Wenn Sie "analog von R" schreiben dann handelt es sich um ein Analogon ohne Ausnahmen. Und es gibt KEINE andere Möglichkeit, dies zu umgehen. Andernfalls ist es KEIN Analogon von R, es mag zwar viel korrekter sein, aber es ist kein Analogon.

 
SanSanych Fomenko:

Ich diskutiere Statistiken. Und meine Bewertungen der Statistikpakete.

Außerdem. In dem von Ihnen angeführten Zitat rangiert R in diesen Statistiken für algorithmische Sprachen über MQL4/5. Aber für mich ist das KEIN Grund, um beispielsweise von MQL zu R zu wechseln. Ich diskutiere überhaupt nicht über die algorithmischen Fähigkeiten von R.

Und wir erörtern einen konkreten Fehler in der R.

Machen Sie sich also keine Mühe mit Ihren Bewertungen, da Sie die Mathematik und den speziellen Fall, um den es geht, nicht kennen.

 

SanSanych Fomenko:

...

Für mich liegt die Hauptstärke von R in den Paketen, in der Unterstützung des gesamten Systems, in der Autorität der Leute, die sie entwickelt haben, in einem riesigen Hangout zu R und schließlich in einer großen Anzahl von Veröffentlichungen, die mit R verbunden sind.
...

Was für ein mieses Ding ist dieses R - ein Fahrrad mit eckigen Rädern. Was soll man über einige seiner Pakete sagen, wenn die Basis, d.h. der R-Kernel, schief ist und mit einer "Bleistiftfeile" stark verbessert werden muss? Wie glaubwürdig kann jemand sein, der sich seit Jahren nicht einmal die Mühe macht, die Korrektheit grundlegender Funktionen in R zu überprüfen? Worin kann die "Stärke" in der Schwäche von R - der Fehlerhaftigkeit der Berechnungen durch R - liegen?

Es ist gut, dass MetaQuotes einigen Nutzern die Augen geöffnet hat und Tests mit Open Source durchführt, so dass jeder unabhängig voneinander überprüfen und sich vergewissern kann, dass sie nicht unbegründet sind. Natürlich wurden nicht alle geöffnet, denn einige religiöse Fanatiker aus der destruktiven Sekte von R werden weiterhin blind an die "Unfehlbarkeit" der Berechnungen in ihrer krummen Sprache und ihren Paketen glauben, anstatt sich den vorgestellten Tests zuzuwenden und sie selbst zu überprüfen, aber nicht fanatisch zu schwindeln und die Krummheit von R als "allgemein anerkannten Standard" zu verteidigen.

Nun ist es ganz offensichtlich, dass es besser ist, die MQL-Funktionalität für die Erstellung von Handelsstrategien zu verwenden, weil das Ergebnis korrekter sein wird, als zu versuchen, es über Kurve und Schrägstrich R zu tun.

Den Entwicklern von MetaQuotes gebührt ein besonderer Dank für ihren konstruktiven Ansatz, ihre Tests und ihre Quellen sowie für die Identifizierungdes "Naked King - R"!

 
Quantum:
Wir sind nicht an der Breite 0 interessiert, wir müssen verstehen, wie sich ein solches Integral verhält, d.h. cdf(x). Welche Art von Funktion erhält man? Wird sie mit pgamma(x) übereinstimmen?

> 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() und integrate(dgamma()) fast übereinstimmen, sehen wir, dass der Fehler bei x=1 nur3,460265e-11 beträgt. Ein solcher Fehler ist jedoch durchaus zu erwarten, da die Integration hier eine Summe von kleinen Schritten ist, ohne vorherige Analyse und Vereinfachungen. Die Funktion pgamma() selbst ist in C++ geschrieben und sollte genauer sein als integrate(). Deshalb sollten Sie pgamma(x,0.5,1) anstelle von integrate(dgamma(x,0.5,1),0,x) verwenden.

 
Yury Reshetov:

Was können wir über eines der Pakete sagen, wenn der Kern, d.h. der R-Kernel, schief ist und eine ernsthafte Feinabstimmung mit "Bleistift und Feile" benötigt?

Der R-Kernel ist krumm und langsam.

Wenn man die Diskussion in rein klassische Statistiken unterteilt, die sowohl in der Basislieferung als auch in Zusatzpaketen enthalten sind, gibt es meines Erachtens hier kein Problem. Wenn Sie Millionen von statistischen Tests durchführen, ist die Beherrschung anderer Sprachen (einschließlich MQL) von Vorteil.

Wenn wir über R-Programmierung im Allgemeinen sprechen, werde ich Ihnen sagen, Yuri, die Menschen verwenden wieder Pakete für die schnelle Datenverarbeitung (dplyr, data.table, und für Graphen - ggplot2). R selbst ist wiederum eine alte Skriptsprache, die nicht für große Datenmengen ausgelegt ist.

Aber trotz alledem ist der Strom von Schlamm von Ihrer Seite immer noch ungerechtfertigt hoch. Wir haben hier über Statistiken gesprochen und nicht einmal über Code-Refactoring und andere technische Dinge. Es war eine Diskussion über mathematische Konzepte.

Grund der Beschwerde: