트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 210

 

알렉세이 버나코프 :
나는 R에서 내 질문에 대한 답을 얻기 시작했습니다.

같은 사람과 계속되는 서신…


Re:  [Rd] dgamma density values in extreme point
Duncan Murdoch murdoch.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 Burnakov 14 ноя. в 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참조하십시오 . 저는 Windows 버전의 R 을 유지 관리하고 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...
 
산산이치 포멘코 :

M-네, 당신이 더 잘 알죠

예, 더 눈에 띄고 더 정직합니다.

게다가 포럼에 외부 참가자로서 스케치할 정치적 기회도 없다.


Matlab, Wolfram 및 Mathematics는 "누군지 모릅니다"라고 부르는 것을 부끄러워하지도 않았습니다.

수학(텅스텐) 패키지를 포함하는 통계 패키지의 등급에 대한 링크를 제공하십시오. Matlab은 있었지만 Bose에서 쉬었습니다. 귀하의 사이트에서 내 블로그 를 인용하고 포럼에 여러 번 게시했습니다.

당신은 다음에 대해 침묵합니다:

  • 무료 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 Murdoch murdoch.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

R 언어에서 비중심 스튜던트 T-분포의 확률을 계산하기 위해 Lenth[6]에서 제안한 AS 243 알고리즘이 사용됩니다. 이 방법의 장점은 불완전한 베타 함수가 있는 무한 급수의 항을 빠르게 재귀적으로 계산할 수 있다는 것입니다. 그러나 [7]에서는 급수의 항을 합산할 때 정확도를 추정하는 오류로 인해 이 알고리즘이 특히 비중심성의 큰 값에 대해 오류를 발생시키는 것으로 나타났습니다([7]의 표 2). 매개변수 델타. 기사 [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의 값( Gamma , ChiSquare , NoncentralChiSquare )과 일치합니다.

x=0에서 무한대로 이동하는 통합 함수의 문제를 피하기 위해 Wolfram Alpha(Mathematica) 및 Matlab에서 x=0에서의 밀도는 정의에 따라 0입니다.


쌀. 3. Wolfram Alpha에서 감마 분포의 확률 밀도 결정


쌀. 4. Wolfram Alpha에서 ChiSquare 분포의 확률 밀도 결정



쌀. 5. Wolfram Alpha에서 Noncentral ChiSquare 분포의 확률 밀도 결정


우리는 이 접근 방식이 옳다고 생각합니다. 확률밀도를 결정할 때 불확실성을 피하고, 확률밀도를 적분할 때 발생할 수 있는 무한한 값으로 문제를 해결한다.

이러한 이유로 x=0 지점에서 이러한 분포의 밀도는 정의에 따라 0으로 간주되며 R에서와 같이 무한대가 아닙니다.

계산의 정확성을 확인하고 타사 개발자가 라이브러리의 품질을 확인할 수 있도록 하기 위해 배포에 여러 단위 테스트 스크립트를 포함했습니다.

문학

  1. 통계 컴퓨팅을 위한 R 프로젝트 .
  2. Balakrishnan N., Johnson N.L., Kotz S. "1차원 연속 분포: 1부." M.: 바이놈. 지식 연구실, 2014.
  3. Balakrishnan N., Johnson N.L., Kotz S. "1차원 연속 분포: 파트 2." M.: 바이놈. 지식 연구실, 2014.
  4. Johnson N.L., Kots S., Kemp A. "1차원 이산 분포" , M.: BINOM. 지식 연구실, 2014.
  5. Forbes C., Evans M., Hastings N., Peacock B., "Statistical Distributions" , 4판, John Wiley and Sons, 2011.
  6. Lenth, RV, "비중심 분포의 누적 분포 함수" , Appled 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...
 
레나트 팻쿨린 :

@SanSanych Fomenko 의 경우 - MQL4/MQL5는 프로그래밍 언어의 TIOBE 세계 순위에서 41위로 상승했습니다 . http://www.tiobe.com/tiobe-index/

R은 19위 , Mathlab은 15위입니다.

이것은 "권위가 없다"와 "세계 정상이 아니다"에 대한 당신의 진술을 불식시키기 위한 것입니다.

통계에 대해 이야기하고 있습니다. 그리고 통계 팩에 대한 나의 평가.

뿐만 아니라. 귀하의 인용문에서 R은 알고리즘 언어에 대한 이러한 통계에서 MQL4/5보다 높은 순위를 기록했습니다. 그러나 저에게는 이것이 MCL에서 R로 전환하는 것과 같은 이유가 전혀 아닙니다 . 저는 R의 알고리즘 기능에 대해 전혀 논의하지 않습니다.

나에게 R의 주요 강점은 패키지이고, 이 전체 시스템의 지원이며, 이를 개발한 사람들의 권위이며, R의 거대한 행아웃이며, 결국 R과 관련된 수많은 출판물입니다.

또한 학회에서 15년을 보낸 사람으로서. 그들이 "아날로그 R"을 쓰면 이것은 예외가없는 아날로그입니다. 그리고 그렇지 않으면 발생하지 않습니다. 그렇지 않으면 이것은 R의 아날로그가 아닙니다. 훨씬 더 정확할 수 있지만 아날로그는 아닙니다.

 
산산이치 포멘코 :

통계에 대해 이야기하고 있습니다. 그리고 통계 팩에 대한 나의 평가.

뿐만 아니라. 귀하의 인용문에서 R은 알고리즘 언어에 대한 이러한 통계에서 MQL4/5보다 높은 순위를 기록했습니다. 그러나 나에게는 이것이 MCL에서 R로 전환하는 것과 같은 이유가 전혀 아닙니다 . 저는 R의 알고리즘 기능에 대해 전혀 논의하지 않습니다 .

그리고 우리는 R의 특정 오류에 대해 논의하고 있습니다.

수학 및 고려 중인 특정 사례에 대해 알지 못하기 때문에 평가에 신경 쓰지 마십시오.

 

산산이치 포멘코 :

...

나에게 R의 주요 강점은 패키지이고, 이 전체 시스템의 지원이며, 이를 개발한 사람들의 권위이며, R의 거대한 행아웃이며, 결국 R과 관련된 수많은 출판물입니다.
...

어떤 종류의 부패 이 R은 사각 바퀴가 달린 자전거입니다. 기초 자체가 될 때 그의 패키지 중 일부에 대해 무엇을 말할 수 있습니까? R 곡선의 YaP 및 "bastard file"로 심각한 개선이 필요합니까? 몇 년 동안 R의 기본 기능이 맞는지 확인조차 하지 않은 사람들에게 무슨 권위가 있겠습니까? R의 약점 - 그것을 통한 계산의 부정확성에 어떤 "강점"이있을 수 있습니까?

MetaQuotes가 사실과 오픈 소스 테스트에서 바로 이 R이 실제로 나타내는 것에 대해 일부 사용자의 눈을 열어 모든 사람이 근거가 없는 것이 아니라 스스로 재확인하고 확인할 수 있도록 하는 것이 좋습니다. 물론 모든 사람이 열리지는 않았습니다. 파괴적인 종파 R의 개별 종교 광신자는 제시된 테스트를 참조하고 스스로 재확인하는 대신 비뚤어진 언어와 패키지로 계산의 "무오성"을 계속 맹목적으로 믿게 될 것입니다. "일반적으로 허용되는 표준"으로 R의 곡률.

이제 결과가 더 정확할 것이기 때문에 MQL 기능을 사용하여 거래 전략을 생성하고 곡선과 경사 R을 통해 수행하려고 시도하는 것이 더 낫다는 것이 매우 분명합니다.

건설적인 접근 방식, 테스트 및 소스, 그리고 " 네이키드 킹 - R "을 공개하기 위해 MetaQuotes 개발자에게 특히 감사해야 합니다!

 
양자 :
우리는 너비 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()와 통합(dgamma())을 통해 거의 일치하므로 x=1에서 오차가 3.460265e-11 에만 도달함을 알 수 있습니다. 그러나 그러한 오류는 상당히 예상됩니다. 여기서 통합은 사전 분석 및 단순화 없이 작은 단계를 통해 합계로 진행됩니다. pgamma() 함수 자체는 C++로 작성되었으며 통합()과 통합하는 것보다 더 정확해야 합니다. 따라서 정확히 pgamma(x,0.5,1)를 사용하고 적분(dgamma(x,0.5,1),0,x)하지 않는 것이 좋습니다.

 
유리 레셰토프 :

그의 패키지 중 일부에 대해 무엇을 말할 수 있습니까? R 곡선의 YaP 및 "나쁜 파일"로 심각한 개선이 필요합니까?

YaPR - 비뚤어지고 느립니다.

기본 패키지와 추가 패키지 모두에 있는 순수한 고전적인 통계로 토론을 나누면 여기에는 문제가 없다고 생각합니다. 수백만 개의 통계 테스트를 실행하면 다른 언어(MQL 포함)의 성능이 플러스가 됩니다.

R이 일반적으로 프로그래밍되는 방식에 대해 이야기하면 Yuri, 사람들은 빠른 데이터 처리를 위해 패키지를 다시 사용합니다(그래프의 경우 dplyr, data.table 및 ggplot2). R 자체는 고대의 스크립팅 언어이며 방대한 데이터용으로 설계되지 않았습니다.

그러나 이 모든 것에도 불구하고, 당신의 부분에 먼지의 흐름은 여전히 부당할 정도로 높습니다. 우리는 여기에서 통계에 대해 논의했으며 코드 리팩토링 및 기타 기술적인 사항은 다루지 않았습니다. 대화는 수학적 개념에 관한 것이었습니다.

사유: