Discusión sobre el artículo "Distribuciones Estadísticas en MQL5: tomando lo mejor de R" - página 19
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Se desea añadir la distribución de Kolmogorov a la biblioteca. Es muy útil por su uso en el criterio de Kolmogorov-Smirnov y en el problema de la búsqueda de la descomposición de un proceso aleatorio.
La dejaré aquí por si acaso. Cálculo de la FCD y sus complementos para la distribución del estadístico de Kolmogorov-Smirnov para la prueba unilateral de una muestra.
La CDF de la distribución hipergeométrica se calcula incorrectamente mediante la función MathCumulativeDistributionHypergeometric(). Por definición, la función de distribución de probabilidad debe definirse para cualquier número real. A continuación se muestra un script en mql5 con sus resultados y, para comparar, lo mismo en R.
resultado:
-1.0 nan 2
0.0 0.0 0
0,5 nan 2
división por cero en 'Hypergeometric.mqh' (241,35)
Resultado:
[1] 0.0000000 0.0000000 0.0000000 0.2222222
Ha pasado argumentos incorrectos y ha obtenido ERR_ARGUMENTS_INVALID (2). Estamos comprobando los parámetros de entrada con más detalle, y parece que R ha sustituido la respuesta por ceros.
Por ejemplo, algunos coeficientes binomiales (no todos) son negativos:
resultado: -309196571788882235
debería ser: 349615716557887488
Debido a la gran K (28) el long de 64 bits se desbordó allí. El valor de retorno es long.
Para contar valores dentro de esos límites, es necesario reescribir la función a valores dobles.
Pasaste argumentos incorrectos y obtuviste ERR_ARGUMENTS_INVALID (2). Comprobamos los parámetros de entrada con más detalle, y R parece haber sustituido la respuesta por ceros.
1) Cualquier CDF - función de distribución de probabilidad (¡las discretas no son una excepción!) DEBE DEFINITIVAMENTE estar definida para todos los números reales. A continuación se muestra un análogo del código en R con su resultado, mostrando cómo esto debería contar en la realidad. Por cierto, tienes algunas funciones CDF discretas contando correctamente y otras no.
2) Para el valor 1 se obtiene un error de división por cero.
1) Cualquier CDF - función de distribución de probabilidad (¡las discretas no son una excepción!) DEBE DEFINITIVAMENTE definirse para todos los números reales. A continuación se muestra un análogo del código en R con su resultado que muestra cómo esto debe ser considerado en la realidad. Por cierto, algunas funciones CDF discretas las has contado correctamente y otras no.
2) Para el valor 1 obtienes un error de división por cero.
Lee el código de la función y su comprobación, está en el código fuente.
No tengo R a mano, tengo que comprobarlo por separado. Veo división por cero, hay que entender las condiciones de contorno.
Debido a una K grande (28), el long de 64 bits se desbordó allí. El valor de retorno es long.
Para contar valores dentro de esos límites, debe reescribir la función a valores dobles.
Está claro. Es sólo que hay un error con el logaritmo del coeficiente binomial en argumentos enteros y pensé que esa era la razón. Ahora he mirado el código y me he dado cuenta de que estaba equivocado: la razón es otra.
resultado:
test_clog (EURUSD.m,MN1) -nan(ind)
test_clog (EURUSD.m,MN1) 40.39561099351077
PS Incorrecto, el problema también está en el desbordamiento
No hay R a mano,
R en línea
Algunos problemas con NoncentralBeta. Tomé el script de la Documentación.
Estos son los resultados para diferentes parámetros.
Fórmula en Documentación:
Es el análogo en Wikipedia:
Mirado el código.
La función MathRandomNoncentralBeta() tiene líneas como esta:
La misma Wikipedia tiene esto:
The noncentral beta distribution (Type I) is the distribution of the ratio
donde
es unavariable aleatoria chi-cuadrado no centralcon grados de libertad m y parámetro de no centralidad 𝜆 , y 𝜒 𝑛 2 es unavariable aleatoria chi-cuadrado centralcon grados de libertad n , independiente de 𝜒 𝑚 2 ( 𝜆 ) .
Es decir, se toman dos variables aleatorias, donde la primera es de una distribución chi-cuadrado no central y la segunda es de una central. Probablemente el código pueda corregirse en este sentido:
Los gráficos modificados del ejemplo serán los siguientes.