交易中的机器学习:理论、模型、实践和算法交易 - 页 210

 

阿列克谢-伯纳科夫
我开始在R中得到我问题的答案。

继续与同一个人通信...


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

关于被告:http://www.stats.uwo.ca/faculty/murdoch/other.shtml

特别是。

我是R核心开发组的成员;关于R项目的详情,请参见www.r-project.org。我维护R的Windows版本,并有一个为人们编写R的DLL的提示 网页

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...
 
桑桑尼茨-弗门科

是的,你最清楚。

是的,更加清楚和诚实。

而且我没有政治能力,不能作为论坛的局外人来勾画。


甚至不要犹豫,叫Matlab、Wolfram和数学 "我不知道是谁"。

给我一个有Mathlab(Wolfram)的统计软件包的排名链接。Matlab曾经是,但已经去世了。我已经在我的博客 中给出了你的网站,并多次在论坛上发表文章

你对以下事实保持沉默。

  • 你显示了免费R与付费套餐的比较
  • 你忽略了数学包的历史(5-10年前)立场,在此基础上指出 "他们谁也不是"。
  • 你改变了流行和讨论了计算的准确性

Matlab并没有消失,其他软件包也没有。是的,它是付费的,但它是高质量的。是的,受欢迎程度会下降,但准确度和质量却不会下降。

阅读关于Wolfram Alpha的文章,研究它的网站--这是对分析学的基本投资,很少有人能做到。而Wolfram Alpha有30位数的精确度,这证明了他们对计算质量的狂热关注。

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...
 
阿列克谢-伯纳科夫

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

不幸的是,你对这个问题的表述不完整,得到的是一个考虑不周和简短礼貌的 "无所谓 "的回答。

你想要一个 "如此同意/约定 "的答案,在问题本身中提出。但邓肯第一次逃脱了 "正确的事情",第二次又重蹈覆辙。

你没有得到在R中的准确性证明,也没有得到为什么在其他软件包中结果不同的答案。"为什么其他包装的答案不一样 "这个问题更重要,可能更有启示意义。


我们的立场。

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

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

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


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

R认为你可以在计算中包括这个点,但要取极限值,即使它们是无穷大的,就像dgamma(0,0.5,1)的情况一样。

然而,如果在零点计算给定的概率,所有来自dgamma的积分正式成为无限,根据这个逻辑,pgamma对于所有x的值都应该等于无限。

然而,这与pgamma的结果相矛盾,所有的值都是有限的。他们是正确的,因为如果在x=0点,密度被假设为=0。
 

对于@SanSanych Fomenko- MQL4/MQL5在TIOBE世界编程语言排名中已经上升到第41位:http://www.tiobe.com/tiobe-index/

R排在第19位,Mathlab排在第15位。

这是为了打消你关于 "不是权威 "和 "不是世界第一 "的说法。

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

为了不失去讨论的主线,下面是在测试R的过程中发现的非中心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 -1.340781e+154 -1.340781e+154
 [7] -1.340781e+154   7.000000e-01   8.000000e-01   9.000000e-01   1.000000e+00

Lenth[6]提出的算法AS 243被用来计算R中学生t分布的非中心T分布的概率。这种方法的优点是对具有不完全β函数的无限序列项进行快速递归计算。然而,在论文[7]中显示,这种算法会导致错误,因为在对数列的项进行求和时,会出现精度估计的错误(论文[7]中的表2),特别是对于非中心性参数delta的大值。论文[7]的作者提出了一种基于递归的非中心T型分布概率计算的修正算法。

我们的统计库MQL5使用了文章[7]中正确的概率计算算法,可以得到准确的结果。


此外,在R中,我们在x=0点定义Gamma、ChiSquare和Noncentral ChiSquare分布的密度的方式导致了无限的表达。

> 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

因此,事实证明,R中的点x=0被包含在密度表达式的定义域中,解决方案是极限值。

在这种情况下,x=0处的极限值是无穷大。在这种方法中,作为从0到x>0的积分结果,由于x=0点的发散,概率应该是无限的。

然而,概率计算的结果(例如对于x=0.1)是一个有限的表达。

> 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

尽管在x=0点,密度被认为是无限的,但R中的概率计算结果不是无限的,它们与Wolfram Alpha(GammaChiSquareNoncentralChiSquare)的值相吻合。

为了避免在x=0处变成无穷大的积分函数的问题,在Wolfram Alpha(Mathematica)和Matlab中,根据定义,x=0点的密度为0。


图3.Wolfram Alpha中的伽马分布概率密度测定


图4.确定 Wolfram Alpha 中的 ChiSquare 分布概率密度



图5.确定Wolfram Alpha中非中心ChiSquare分布的概率密度函数


我们认为,这种做法是正确的。它可以避免概率密度函数的不确定性,并解决了无限值的问题,这在积分概率密度函数时可能发生。

由于这个原因,在x=0点,这些分布的密度根据定义被假定为零,而不是像R中那样是无限的。

我们在交付中包含了几个单元测试脚本,以确保计算的准确性,并为第三方开发者检查库的质量提供可能。

文学

  1. 统计计算的R项目
  2. Balakrishnan N., Johnson N.L., Kotz S."单变量连续分布:第一部分"。 MOSCOW: BINOM.知识实验室,2014年。
  3. Balakrishnan N., Johnson N.L., Kotz S."单变量连续分布:第二部分" M.: BINOM。知识实验室,2014年。
  4. Johnson N.L., Kotz S., Kemp A."Univariate discrete distributions", Moscow: BINOM.知识实验室,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 non-central t distribution', Applied Statistics, Vol.38 (1989), 185-189.
  7. D.Benton, K.Krishnamoorthy,"计算连续分布的离散混合物:非中心奇异值、非中心t和样本多重相关系数的平方分布",计算统计与数据分析,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...
 
雷纳特-法特库林

对于@Sanych Fomenko-MQL4/MQL5 在世界TIOBE编程语言排名中位列第41位 :http://www.tiobe.com/tiobe-index/

R排在第19 位,Mathlab排在第15位。

这是为了打消你关于 "没有权威 "和 "不是世界顶级 "的说法。

我正在讨论统计数据。还有我按统计包的排名。

此外。在你引用的引文中,R在算法语言的这些统计中排名高于MQL4/5。但这根本不是 我从MQL转到R的理由,比如说。我根本就不是在讨论R的算法能力。

对我来说,R的主要优势是它的包,它对这整个系统的支持,它是开发这些包的人的权威,它是一个巨大的R挂,毕竟有大量的出版物与R挂钩。

但作为一个在科学委员会工作了15年的人。如果你写 "R的类似物"那么它就是一个没有任何例外的类比。而且没有其他办法。否则,它就不是R的类似物,它很可能更正确,但它不是类似物。

 
桑桑尼茨-弗门科

我讨论了统计数据。还有我对统计包的评价。

此外。在你引用的这段话中,R在这些算法语言的统计中排名高于MQL4/5。但对我来说,这根本不是 一个从MQL转换到R的理由,例如。我根本就不是在讨论R的算法能力

而我们讨论的是R中的一个具体错误。

所以,不要再为你的评级而烦恼了,因为你不了解数学和你所处理的特殊案例。

 

桑桑尼茨-弗门科

...

对我来说,R的主要优势是它的软件包,它对整个系统的支持,它是开发这些软件包的人的权威,它是R上的一个巨大的挂件,最后是大量的出版物与R挂钩。
...

这个R是一个多么烂的东西--一个有方形车轮的自行车。当基础,即R内核,是歪的,需要用 "铅笔文件 "来认真改进时,对它的一些包该怎么说呢?那些这么多年来连R的基本函数的正确性都懒得检查的人可能有什么可信度?在R的弱点中,什么可以成为 "优势"--通过它进行计算的不正确性?

好在MetaQuotes让一些用户看到了事实,并以开源的方式进行了测试,这样大家就可以独立地进行反复检查和确认,而不是毫无根据。当然,并不是所有的都被打开了,因为一些来自R的破坏性教派的宗教狂热者会继续盲目地相信他们歪曲的语言和包装中的计算的 "无懈可击",而不是转向所提出的测试,自己仔细检查,但不是狂热地胡说八道,为R的歪曲辩护为 "公认的标准"。

现在很明显,使用MQL功能创建交易策略比通过曲线和斜线R来做更好,因为结果会更正确。

值得特别感谢的是MetaQuotes的开发人员,他们采取了建设性的方法,进行了测试,并提供了他们的资料来源,以及对"裸体国王--R"的鉴定!在此,我们要特别感谢他们。

 
量子化
我们对宽度0不感兴趣,我们需要了解这样一个积分的表现,即cdf(x)。得到的是什么样的函数? 它是否会与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()和 integrate(dgamma())几乎重合,我们看到在x=1时误差只有3.460265e-11。然而,这样的误差是可以预期的,因为积分是通过小步累加进行的,没有任何初步分析和简化。pgamma()函数本身是用C++编写的,应该比 integrate()更准确。这就是为什么你应该使用pgamma(x,0.5,1)而不是 integrate(dgamma(x,0.5,1),0,x)

 
尤里-雷舍托夫

当核心,即R内核,是歪的,需要用 "铅笔和锉刀 "进行认真的微调时,我们能对它的任何包说什么呢?

R的内核是歪的,而且很慢。

如果你把讨论分为纯粹的经典统计数据,这些数据既在基本交付中,也在附加包中,我认为这里没有问题。如果你做数以百万计的统计测试,其他语言(包括MQL)的性能将是一个加分项。

如果我们谈论一般的R编程,我会告诉你,Yuri,人们再次使用包来进行快速数据处理(dplyr,data.table,和用于图表--ggplot2)。R本身又是一种脚本语言,很古老,不是为海量数据设计的。

但即使如此,来自你方的泥浆流仍是毫无道理地高。我们在这里讨论的是统计数据,甚至不是代码重构和其他技术性的东西。这是对数学概念的讨论。