交易中的机器学习:理论、模型、实践和算法交易 - 页 198 1...191192193194195196197198199200201202203204205...3399 新评论 СанСаныч Фоменко 2016.11.10 14:33 #1971 Dr.Trader:我在R中发现了另一个错误。R不能正确除以0。这里是剧本。//+------------------------------------------------------------------+//| test.mq5 |//| Copyright 2016, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright "Copyright 2016, MetaQuotes Software Corp."#property link "https://www.mql5.com"#property version "1.00"#property script_show_inputsinput double div = 0.0;//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+void OnStart() {//--- Print(1.0/div); }//+------------------------------------------------------------------+正确的答案,在mql中是。在'test.mq5'(20,13)中除以零, 脚本停止。非专有的,在R:> 1/0Inf, 继续编写剧本我的意思和Alexey一样--未定义条件下的程序行为可能不同,而且这不是错误。建筑的方式应该是这样的,这就是结果。关于 "不是正确的答案",你错了。R中的答案是绝对正确的,而且非常方便。重点是,R将 "变量值 "的概念带入逻辑,并为变量设置了三个具体的值:NA(有一个值,但不知道)、NaN(没有数值)和Inf--无限大。这就是这样的价值,中断该计划的工作是完全错误的。如果你考虑到计算机对实际精度的限制,Inf很可能有一个有限的值。而继续工作是很自然的,一个整齐的程序 应该检查这样的结果,如果它们被假定。例如,MQL文档给出了一个关于正弦的例子,并指出正弦(2)=无穷大。这是不准确的。准确地说:arcsinus(2)=NaN,即没有数值,arcsinus(1)=Inf,但交易期间缺少的报价=NA,即应该是(或可能是在周末),而它们不是。 Quantum 2016.11.10 14:34 #1972 阿列克谢-伯纳科夫。Wolfram所说的0并不是最终的真理。我是说措辞中的 "错误 "一词是多余的......这里不是关于Wolfram。非零正值的积分不能为零。检查也发现了算法中的错误。例如,对于非中心t分布,量值不会转换。> 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 [7]-1.340781e+154 7.000000e-01 8.000000e-01 9.000000e-01 1.000000e+154这里0-0.6的量值计算不正确。在MQL5中,有一个类似计算的例子。2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 包统计的单元测试 2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 非中心T分布测试开始 2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试1:单一数值的计算 2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 1 0, PDF=4.92773299108629100851e-15, CDF=6.23274905782904190070e-16, Q=1.51119154775858715131e-18。 2016.11.10 17:53:32.646 TestStatNCT (EURUSD,H1) 1 1, PDF=1.130226163094897516453e-14, CDF=1.3899389577957373769266e-15, Q=9.999999999989369615e-02, 2016.11.10 17:53:32.647 TestStatNCT (EURUSD,H1) 1 2, PDF=2.64161256619123119969e-14, CDF=3.16755115913693189175e-15, Q=2.00000000000000004840572e-01, 2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 3, PDF=6.28106243570810575054e-14, CDF=7.3638179090305861902898e-15, Q=2.99999999999998601119e-01 2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 4, PDF=1.5163698393962646374250e-13, CDF=1.743039359090744906969191e-14, Q=4.00000000000005184742e-01 2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 5, PDF=3.7086417557314635e-13, CDF=4.19192812277470617962e-14, Q=5.00000000000000-01。 2016.11.10 17:53:32.649 TestStatNCT (EURUSD,H1) 1 6, PDF=9.166152295737551015-13, CDF=1.02187737277044947465e-13, Q=5.999999999998867573e-01, 2016.11.10 17:53:32.651 TestStatNCT (EURUSD,H1) 1 7, PDF=2.28327725393015114329e-12, CDF=2.51850847368662607692e-13, Q=6.9999999999999999289457e-01, 2016.11.10 17:53:32.652 TestStatNCT (EURUSD,H1) 1 8, PDF=5.7160930393970751591223e-12, CDF=6.25821417361289428232e-13, Q=7.99999999999999299967253e-01。 2016.11.10 17:53:32.653 TestStatNCT (EURUSD,H1) 1 9, PDF=1.43395037240077606742e-11, CDF=1.56338059375202603523e-12, Q=8.9999999999999998578915e-01。 2016.11.10 17:53:32.655 TestStatNCT (EURUSD,H1) 1 10, PDF=3.593914459122563450e-11, CDF=3.91468724033560601170e-12, Q=9.99999999999998889777e-01, 2016.11.10 17:53:32.655 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试2:阵列上的计算结果 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 0, PDF=4.92773299108629100851e-15, CDF=6.23274905782904190070e-16, Q=1.51119154775858715131e-18。 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 1, PDF=1.130226163094897516453e-14, CDF=1.38993895779573769266e-15, Q=9.99999999999989369615e-02。 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 2, PDF=2.64161256619123119969e-14, CDF=3.16755115913693189175e-15, Q=2.00000000000000004840572e-01, 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 3, PDF=6.28106243570810575054e-14, CDF=7.3638179090305861902898e-15, Q=2.99999999999998601119e-01 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 4, PDF=1.5163698393962646374250e-13, CDF=1.743039359090744906969191e-14, Q=4.00000000000005184742e-01 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 5, PDF=3.7086417557314635e-13, CDF=4.19192812277470617962e-14, Q=5.00000000000000-01, 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 6, PDF=9.16615229573755101565e-13, CDF=1.02187737277044947465e-13, Q=5.999999999998867573e-01, 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 7, PDF=2.28327725393015114329e-12, CDF=2.51850847368662607692e-13, Q=6.9999999999999999289457e-01。 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 8, PDF=5.7160930393970751591223e-12, CDF=6.25821417361289428232e-13, Q=7.99999999999999299967253e-01。 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 9, PDF=1.43395037240077606742e-11, CDF=1.56338059375202603523e-12, Q=8.9999999999999998578915e-01。 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 10, PDF=3.593914459122563450e-11, CDF=3.91468724033560601170e-12, Q=9.99999999999998889777e-01。 2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试3:类R重载函数 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 0, PDF=-3.29438973521509552711e+01, CDF=-3.50115439911437320575e+01, Q=9.32008491370933962264e-15。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 1, PDF=-3.21137735448868468468779e+01, CDF=-3.42095165639872504926e+01, Q=9.99999999999992561506e-02 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 2, PDF=-3.12648017507063613607e+01, CDF=-3.33858176105613679852e+01, Q=2.00000000000004563017e-01 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 3, PDF=-3.03986521580849320401e+01, CDF=-3.25421978598387227066e+01, Q=2.9999999999999998490097e-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 4, PDF=-2.95172869939179705057e+01, CDF=-3.16805609544090991392e+01, Q=4.00000000000005240253e-01 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 5, PDF=-2.86229405029589081266e+01, CDF=-3.08030305013295588878e+01, Q=5.00000000000000-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 6, PDF=-2.77180886076848480570e+01, CDF=-2.99119647118446110312e+01, Q=5.9999999999999998756550e-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 7, PDF=-2.680540931294946693489897e+01, CDF=-2.90099393581479034765e+01, Q=6.9999999999999999400480e-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 8, PDF=-2.588773557892770327e+01, CDF=-2.80997113402901490531e+01, Q=7.9999999999999489297e-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 9, PDF=-2.49680028891657173062e+01, CDF=-2.71841705920503962091e+01, Q=8.99999999999998689937e-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 10, PDF=-2.40491940358795979979193e+01, CDF=-2.62662856772029869035e+01, Q=9.99999999999998889777e-01。 2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试4:随机值的产生者 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试通过 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:PDF最大误差:1.48634016318122160328e-25 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:CDF最大误差:2.75966439373922392108e-18 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:量化最大误差:5.16253706450697791297e-15 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:PDF正确数字:24 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:CDF正确数:17 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:量化正确数字:14 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 1 of 1 passedTestStatNCT.mq5脚本的结果(来自TestStat.mq5的测试,增加了TestNoncentralTDistribution函数中计算值的输出)。可以看出,量值被解决了,测试也通过了。至于错误,则如下。//--- precisiondouble calc_precision_pdf=10 E-15;double calc_precision_cdf=10 E-15;double calc_precision_quantile=10 E-14;在Denise Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的平方分布",表明AS 243算法有误差。因此,R中存在错误,其可能的原因是在AS 243算法中,该算法被用于计算CDF。 附加的文件: TestStatNCT.mq5 16 kb Machine learning in trading: Alexey Burnakov 2016.11.10 15:28 #1973 量子化。1)这不是关于Wolfram。非零正值的积分不能为零。2)在测试过程中,算法也存在错误。3)例如,对于非中心t分布来说,量值是不可逆的。1-如果你也写了关于伽马分布的错误,那么我把我的主张告诉你。说在R中是有错误的,这是不正确的。我在这个帖子中看到一些试图贴标签的行为。显然,你没有咨询过使用软件包的学者,没有看到那里有任何错误。在Python中,该函数也是在0中输出1的密度。再一次。密度值没有定义为零。Wolfram认为它是0,而你只是同意这一点,没有做任何独立的推论。你说钨与此无关,但你不能回答我关于将零取为零的幂的问题。相反,你向我展示了钨... 你自己看,在右边的近似值中,数值会变成统一的,这意味着近似值中的积分也不是零。而且它不在零点,密度也不在零点,因为整合一个不确定的量是没有意义的。2 - 这可以进一步检查,并确定算法中的错误,例如。3)例如,可以检查。 Alexey Burnakov 2016.11.10 15:43 #1974 量子化。例如,对于非中心t分布来说,量值并没有颠倒。 0-0.6的量值在这里没有被正确计算。> 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)> 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 [7]-1.340781e+154 7.000000-01 8.000000-01 9.000000-01 对不起,你的代码中哪里初始化了nt_quantile变量?也就是说,它是从哪里来的? Quantum 2016.11.10 15:45 #1975 1) 我们如何解释在某一点上df=0,而pdf却非零?> n <- 5> k <- seq(0,1,by=1/n)> gamma_pdf<-dgamma(k, 1,1, log = FALSE) > gamma_cdf<-pgamma(k, 1,1, log = FALSE)> k[1] 0.0 0.2 0.4 0。6 0.8 1.0> gamma_pdf[1]1.0000000 0.8187308 0.6703200 0.5488116 0.4493290 0.3678794> gamma_cdf[1]0.0000000 0.1812692 0.3296800 0.4511884 0.5506710 0.63212062)我们如何解释量值与原始量值不一致?> 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 [7] -1.340781e+154 7.000000-01 8.000000-01 9.000000-01 Quantum 2016.11.10 15:51 #1976 阿列克谢-伯纳科夫。 对不起,你的代码中哪里初始化了nt_quantile变量?也就是说,它是从哪里来的?对不起,脚本中有一个错字,已改正。脚本是这样的。> 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 [7] -1.340781e+154 7.000000-01 8.000000-01 9.000000-01 Alexey Burnakov 2016.11.10 15:51 #1977 量子化。1)我们如何解释在cdf=0的时候,而pdf是不为零的?2)我们如何解释量值与原始量值不一样? 我会考虑一下,然后回答你。你总是用问题来回答问题吗?你自己的统计思想在哪里? Renat Fatkhullin 2016.11.10 15:58 #1978 阿列克谢-伯纳科夫。关键是,@Quantum 纯粹是在MQL5中实现和全面验证R的类似数学库。 这不是一个理论家的推理。在编写单元测试时,他正在深入挖掘,为库的正确性提供保证。人们不应该先验地认为R中的一切是正确的。相反,我想说的是,即使那里有C++的函数实现,一切都很原始。而在速度方面,你可以看到,我们的编译器上的源代码中的MQL5库平均赢了3倍。我们不厌其烦地仔细检查了一切,发现了明显的错误。这些错误已被证实。算法AS 243 由Lenth提出[Lenth, R.V.,"Cumulative distribution function of non-central t distribution", Applied Statistics, Vol.38 (1989), 185-189].这种方法的优点是对具有不完全β函数的无限序列项进行快速递归计算。但在文章[D.Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的平方分布",《计算统计与数据分析》,43,(2003),249-267],结果表明,这种算法在对数列的项进行求和时,由于精度评估的错误而导致错误,特别是对于非中心delta参数的大值。论文作者提出了一种基于递归的非中心T型分布概率计算的修正算法。我们在MQL5统计库中使用了文章[D.]中计算概率的正确算法。Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的分布",计算统计与数据分析,43,(2003),249-267]。,可以得到精确的结果。 为了确保计算的准确性,并允许第三方开发者检查库的质量,我们在交付中包含了几个单元测试脚本。你可以在/Scripts/UnitTests/Stat中找到它们。请看一下出版日期。你将看到工作的进展情况与科学家的提示。另外,如果不把@Quantum 当作科学家,那就错了。 Alexey Burnakov 2016.11.10 16:07 #1979 然后按字面顺序评论一下,对于一个均匀的连续分布,极端点的密度是正的,而积分是零。https://en.wikipedia.org/wiki/Uniform_distribution_(连续) Alexey Burnakov 2016.11.10 16:09 #1980 雷纳特-法特库林。问题是,@Quantum 纯粹是为了实现和充分验证R在MQL5中的类似数学库。 这不是一个理论家的推理。在编写单元测试时,他正在深入挖掘,为库的正确性提供保证。人们不应该先验地认为R中的一切是正确的。相反,我想说的是,即使那里有C++的函数实现,一切都很原始。而在速度方面,你可以看到,我们的编译器上的源代码中的MQL5库平均赢了3倍。我们不厌其烦地仔细检查了一切,发现了明显的错误。这些错误已被证实。请看一下出版物的日期。你会看到在科学家的建议下,工作是如何进行的。此外,如果不把@Quantum 看作是一位科学家,那就错了。我没有说过关于这个错误的任何事情。有那么有那么有那么有。关于伽马分布--这就是我所理解的他在你的实现中所做的。而且我重申,他关于它的说法纯粹是字面意思。 1...191192193194195196197198199200201202203204205...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在R中发现了另一个错误。R不能正确除以0。
这里是剧本。
//| test.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property script_show_inputs
input double div = 0.0;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
Print(1.0/div);
}
//+------------------------------------------------------------------+
正确的答案,在mql中是。
在'test.mq5'(20,13)中除以零
, 脚本停止。
非专有的,在R:
> 1/0
Inf
, 继续编写剧本
我的意思和Alexey一样--未定义条件下的程序行为可能不同,而且这不是错误。建筑的方式应该是这样的,这就是结果。
关于 "不是正确的答案",你错了。
R中的答案是绝对正确的,而且非常方便。重点是,R将 "变量值 "的概念带入逻辑,并为变量设置了三个具体的值:NA(有一个值,但不知道)、NaN(没有数值)和Inf--无限大。这就是这样的价值,中断该计划的工作是完全错误的。如果你考虑到计算机对实际精度的限制,Inf很可能有一个有限的值。而继续工作是很自然的,一个整齐的程序 应该检查这样的结果,如果它们被假定。
例如,MQL文档给出了一个关于正弦的例子,并指出正弦(2)=无穷大。这是不准确的。准确地说:arcsinus(2)=NaN,即没有数值,arcsinus(1)=Inf,但交易期间缺少的报价=NA,即应该是(或可能是在周末),而它们不是。
Wolfram所说的0并不是最终的真理。我是说措辞中的 "错误 "一词是多余的......
这里不是关于Wolfram。非零正值的积分不能为零。
检查也发现了算法中的错误。
例如,对于非中心t分布,量值不会转换。
这里0-0.6的量值计算不正确。
在MQL5中,有一个类似计算的例子。
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 包统计的单元测试
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1)
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 非中心T分布测试开始
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试1:单一数值的计算
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 1 0, PDF=4.92773299108629100851e-15, CDF=6.23274905782904190070e-16, Q=1.51119154775858715131e-18。
2016.11.10 17:53:32.646 TestStatNCT (EURUSD,H1) 1 1, PDF=1.130226163094897516453e-14, CDF=1.3899389577957373769266e-15, Q=9.999999999989369615e-02,
2016.11.10 17:53:32.647 TestStatNCT (EURUSD,H1) 1 2, PDF=2.64161256619123119969e-14, CDF=3.16755115913693189175e-15, Q=2.00000000000000004840572e-01,
2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 3, PDF=6.28106243570810575054e-14, CDF=7.3638179090305861902898e-15, Q=2.99999999999998601119e-01
2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 4, PDF=1.5163698393962646374250e-13, CDF=1.743039359090744906969191e-14, Q=4.00000000000005184742e-01
2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 5, PDF=3.7086417557314635e-13, CDF=4.19192812277470617962e-14, Q=5.00000000000000-01。
2016.11.10 17:53:32.649 TestStatNCT (EURUSD,H1) 1 6, PDF=9.166152295737551015-13, CDF=1.02187737277044947465e-13, Q=5.999999999998867573e-01,
2016.11.10 17:53:32.651 TestStatNCT (EURUSD,H1) 1 7, PDF=2.28327725393015114329e-12, CDF=2.51850847368662607692e-13, Q=6.9999999999999999289457e-01,
2016.11.10 17:53:32.652 TestStatNCT (EURUSD,H1) 1 8, PDF=5.7160930393970751591223e-12, CDF=6.25821417361289428232e-13, Q=7.99999999999999299967253e-01。
2016.11.10 17:53:32.653 TestStatNCT (EURUSD,H1) 1 9, PDF=1.43395037240077606742e-11, CDF=1.56338059375202603523e-12, Q=8.9999999999999998578915e-01。
2016.11.10 17:53:32.655 TestStatNCT (EURUSD,H1) 1 10, PDF=3.593914459122563450e-11, CDF=3.91468724033560601170e-12, Q=9.99999999999998889777e-01,
2016.11.10 17:53:32.655 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试2:阵列上的计算结果
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 0, PDF=4.92773299108629100851e-15, CDF=6.23274905782904190070e-16, Q=1.51119154775858715131e-18。
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 1, PDF=1.130226163094897516453e-14, CDF=1.38993895779573769266e-15, Q=9.99999999999989369615e-02。
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 2, PDF=2.64161256619123119969e-14, CDF=3.16755115913693189175e-15, Q=2.00000000000000004840572e-01,
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 3, PDF=6.28106243570810575054e-14, CDF=7.3638179090305861902898e-15, Q=2.99999999999998601119e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 4, PDF=1.5163698393962646374250e-13, CDF=1.743039359090744906969191e-14, Q=4.00000000000005184742e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 5, PDF=3.7086417557314635e-13, CDF=4.19192812277470617962e-14, Q=5.00000000000000-01,
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 6, PDF=9.16615229573755101565e-13, CDF=1.02187737277044947465e-13, Q=5.999999999998867573e-01,
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 7, PDF=2.28327725393015114329e-12, CDF=2.51850847368662607692e-13, Q=6.9999999999999999289457e-01。
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 8, PDF=5.7160930393970751591223e-12, CDF=6.25821417361289428232e-13, Q=7.99999999999999299967253e-01。
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 9, PDF=1.43395037240077606742e-11, CDF=1.56338059375202603523e-12, Q=8.9999999999999998578915e-01。
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 10, PDF=3.593914459122563450e-11, CDF=3.91468724033560601170e-12, Q=9.99999999999998889777e-01。
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试3:类R重载函数
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 0, PDF=-3.29438973521509552711e+01, CDF=-3.50115439911437320575e+01, Q=9.32008491370933962264e-15。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 1, PDF=-3.21137735448868468468779e+01, CDF=-3.42095165639872504926e+01, Q=9.99999999999992561506e-02
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 2, PDF=-3.12648017507063613607e+01, CDF=-3.33858176105613679852e+01, Q=2.00000000000004563017e-01
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 3, PDF=-3.03986521580849320401e+01, CDF=-3.25421978598387227066e+01, Q=2.9999999999999998490097e-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 4, PDF=-2.95172869939179705057e+01, CDF=-3.16805609544090991392e+01, Q=4.00000000000005240253e-01
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 5, PDF=-2.86229405029589081266e+01, CDF=-3.08030305013295588878e+01, Q=5.00000000000000-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 6, PDF=-2.77180886076848480570e+01, CDF=-2.99119647118446110312e+01, Q=5.9999999999999998756550e-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 7, PDF=-2.680540931294946693489897e+01, CDF=-2.90099393581479034765e+01, Q=6.9999999999999999400480e-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 8, PDF=-2.588773557892770327e+01, CDF=-2.80997113402901490531e+01, Q=7.9999999999999489297e-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 9, PDF=-2.49680028891657173062e+01, CDF=-2.71841705920503962091e+01, Q=8.99999999999998689937e-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 10, PDF=-2.40491940358795979979193e+01, CDF=-2.62662856772029869035e+01, Q=9.99999999999998889777e-01。
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 非中心T分布测试:测试4:随机值的产生者
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试通过
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:PDF最大误差:1.48634016318122160328e-25
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:CDF最大误差:2.75966439373922392108e-18
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:量化最大误差:5.16253706450697791297e-15
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:PDF正确数字:24
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:CDF正确数:17
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 非中心T分布测试:量化正确数字:14
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1)
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 1 of 1 passed
TestStatNCT.mq5脚本的结果(来自TestStat.mq5的测试,增加了TestNoncentralTDistribution函数中计算值的输出)。
可以看出,量值被解决了,测试也通过了。
至于错误,则如下。
double calc_precision_pdf=10 E-15;
double calc_precision_cdf=10 E-15;
double calc_precision_quantile=10 E-14;
在Denise Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的平方分布",表明AS 243算法有误差。
因此,R中存在错误,其可能的原因是在AS 243算法中,该算法被用于计算CDF。
1)这不是关于Wolfram。非零正值的积分不能为零。
2)在测试过程中,算法也存在错误。
3)例如,对于非中心t分布来说,量值是不可逆的。
1-如果你也写了关于伽马分布的错误,那么我把我的主张告诉你。说在R中是有错误的,这是不正确的。我在这个帖子中看到一些试图贴标签的行为。显然,你没有咨询过使用软件包的学者,没有看到那里有任何错误。在Python中,该函数也是在0中输出1的密度。
再一次。密度值没有定义为零。Wolfram认为它是0,而你只是同意这一点,没有做任何独立的推论。
你说钨与此无关,但你不能回答我关于将零取为零的幂的问题。相反,你向我展示了钨...
你自己看,在右边的近似值中,数值会变成统一的,这意味着近似值中的积分也不是零。而且它不在零点,密度也不在零点,因为整合一个不确定的量是没有意义的。
2 - 这可以进一步检查,并确定算法中的错误,例如。
3)例如,可以检查。
例如,对于非中心t分布来说,量值并没有颠倒。
0-0.6的量值在这里没有被正确计算。
1) 我们如何解释在某一点上df=0,而pdf却非零?
2)我们如何解释量值与原始量值不一致?
对不起,你的代码中哪里初始化了nt_quantile变量?也就是说,它是从哪里来的?
对不起,脚本中有一个错字,已改正。
脚本是这样的。
1)我们如何解释在cdf=0的时候,而pdf是不为零的?
2)我们如何解释量值与原始量值不一样?
关键是,@Quantum 纯粹是在MQL5中实现和全面验证R的类似数学库。
这不是一个理论家的推理。在编写单元测试时,他正在深入挖掘,为库的正确性提供保证。
人们不应该先验地认为R中的一切是正确的。相反,我想说的是,即使那里有C++的函数实现,一切都很原始。而在速度方面,你可以看到,我们的编译器上的源代码中的MQL5库平均赢了3倍。
我们不厌其烦地仔细检查了一切,发现了明显的错误。这些错误已被证实。
算法AS 243 由Lenth提出[Lenth, R.V.,"Cumulative distribution function of non-central t distribution", Applied Statistics, Vol.38 (1989), 185-189].这种方法的优点是对具有不完全β函数的无限序列项进行快速递归计算。但在文章[D.Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的平方分布",《计算统计与数据分析》,43,(2003),249-267],结果表明,这种算法在对数列的项进行求和时,由于精度评估的错误而导致错误,特别是对于非中心delta参数的大值。论文作者提出了一种基于递归的非中心T型分布概率计算的修正算法。
我们在MQL5统计库中使用了文章[D.]中计算概率的正确算法。Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的分布",计算统计与数据分析,43,(2003),249-267]。,可以得到精确的结果。
为了确保计算的准确性,并允许第三方开发者检查库的质量,我们在交付中包含了几个单元测试脚本。你可以在/Scripts/UnitTests/Stat中找到它们。请看一下出版日期。你将看到工作的进展情况与科学家的提示。
另外,如果不把@Quantum 当作科学家,那就错了。
然后按字面顺序评论一下,对于一个均匀的连续分布,极端点的密度是正的,而积分是零。https://en.wikipedia.org/wiki/Uniform_distribution_(连续)
问题是,@Quantum 纯粹是为了实现和充分验证R在MQL5中的类似数学库。
这不是一个理论家的推理。在编写单元测试时,他正在深入挖掘,为库的正确性提供保证。
人们不应该先验地认为R中的一切是正确的。相反,我想说的是,即使那里有C++的函数实现,一切都很原始。而在速度方面,你可以看到,我们的编译器上的源代码中的MQL5库平均赢了3倍。
我们不厌其烦地仔细检查了一切,发现了明显的错误。这些错误已被证实。
请看一下出版物的日期。你会看到在科学家的建议下,工作是如何进行的。
此外,如果不把@Quantum 看作是一位科学家,那就错了。
我没有说过关于这个错误的任何事情。有那么有那么有那么有。
关于伽马分布--这就是我所理解的他在你的实现中所做的。而且我重申,他关于它的说法纯粹是字面意思。