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

 

다음은 매개변수 arm을 검색하는 코드입니다. 링크의 게시물에서 공격에서 찾을 수 있습니다. 나는 첫 번째 게시물을 약간 수정하고 첫 번째 더 실패한 예제를 정상적인 것으로 대체했습니다.

 arimaModel <- auto.arima(y = ts(DT$value[trainIndexes],frequency= 48 ),
                          seasonal.test = "ocsb" ,
                          trace=TRUE,
                          stepwise = FALSE,
                          max.q = 48 , 
                          max.order = 48 + 5
                         )

auto.arima 함수 자체가 적절한 pdq PDQ arima 매개변수를 찾습니다.
ts(DT$value[trainIndexes],frequency=48) # 데이터는 예측 패키지의 일부 형식으로 변환됩니다. 가장 중요한 것은 빈도를 지정하는 것입니다. 그렇지 않으면 계절성이 사용되지 않습니다.
season.test = "ocsb" # Google은 더 낫다고 말합니다. 확실하지 않습니다.
stepwise = FALSE #false는 매개변수의 더 완전한 선택을 켭니다. true의 기본값은 검색이 로컬 최소값에서 멈추고 중지될 가능성이 있음을 의미합니다.
max.q =48 #검색 시 최대 q 값입니다. 기본값 == 5, 이 데이터에 충분하지 않음
max.order = 48+5 # 최대 금액 p+q+P+Q. 기본값 == 5, 이 데이터에 충분하지 않음

이 기능은 오랫동안 작동할 것이지만 결국에는 내가 사용한 바로 그 매개변수를 제공해야 하며 어쩌면 더 나은 것을 찾을 수도 있습니다.

나 자신은 함수가 모든 것을 찾을 때까지 기다리지 않고 직감으로 적절한 매개 변수를 선택했습니다. 데이터는 추세가 있으므로 p = 1 및 P = 1입니다. 그리고 그래프는 24와 48의 우세한 기간을 보여주므로 q=24, Q = 48 / 빈도 = 1
기간 336을 아리마에 삽입할 수 없습니다. 여기에는 두 번째 계절성이 필요합니다. 예측 패키지는 방법을 모릅니다.

이미 알려진 매개변수 pdq PDQ가 있는 Arima는 다음과 같이 생성됩니다.

Arima(y = ts(DT$value[trainIndexes],frequency= 48 ), order = c( 1 , 0 , 24 ), seasonal = c( 1 , 0 , 1 ))

계절성은 실제로 (1,0,1)이 아니라 (1,0,48)입니다. 왜냐하면 Q는 말하자면 빈도로 곱하기 때문입니다.



산산이치 포멘코 :

ARCH의 나머지 부분을 분석하지 않고 arima를 논의하는 것은 완전히 비어 있습니다. arima로 모델링한 후 나머지가 고정된 시리즈가 있습니다. 그러나 정상적이라는 가정 하에 예측오차를 논하는 것은 심각하지 않다. 이 극도로 패셔니스타의 나머지 부분.

예, 동의합니다. 이 데이터가 매우 순환적이고 단순하기 때문에 arima는 문제 없이 작동합니다. eurusd m30을 동일한 코드로 대체하면 모델이 새 데이터에서 급격한 가격 상승에 빠지지 않습니다.
 
박사 상인 :

다음은 매개변수 arm을 검색하는 코드입니다. 링크의 게시물에서 공격에서 찾을 수 있습니다. 나는 첫 번째 게시물을 약간 수정하고 첫 번째 더 실패한 예제를 정상적인 것으로 대체했습니다.

auto.arima 함수 자체가 적절한 pdq PDQ arima 매개변수를 찾습니다.
ts(DT$value[trainIndexes],frequency=48) # 데이터는 예측 패키지의 일부 형식으로 변환됩니다. 가장 중요한 것은 빈도를 지정하는 것입니다. 그렇지 않으면 계절성이 사용되지 않습니다.
season.test = "ocsb" # Google은 더 낫다고 말합니다. 확실하지 않습니다.
stepwise = FALSE #false는 매개변수의 더 완전한 선택을 켭니다. true의 기본값은 검색이 로컬 최소값에서 멈추고 중지될 가능성이 있음을 의미합니다.
max.q =48 #검색 시 최대 q 값입니다. 기본값 == 5, 이 데이터에 충분하지 않음
max.order = 48+5 # 최대 금액 p+q+P+Q. 기본값 == 5, 이 데이터에 충분하지 않음

이 기능은 오랫동안 작동하지만 결국에는 내가 사용한 것과 동일한 매개변수를 제공해야 하며 더 나은 방법을 찾을 수도 있습니다.

나 자신은 함수가 모든 것을 찾을 때까지 기다리지 않고 직감으로 적절한 매개 변수를 선택했습니다. 데이터는 추세가 있으므로 p = 1 및 P = 1입니다. 그리고 그래프는 24와 48의 우세한 기간을 보여주므로 q=24, Q = 48 / 빈도 = 1
기간 336을 아리마에 삽입할 수 없습니다. 여기에는 두 번째 계절성이 필요합니다. 예측 패키지는 방법을 모릅니다.

이미 알려진 매개변수 pdq PDQ가 있는 Arima는 다음과 같이 생성됩니다.

계절성은 실제로 (1,0,1)이 아니라 (1,0,48)입니다. 왜냐하면 Q는 말하자면 빈도로 곱하기 때문입니다.



예, 동의합니다. 이 데이터가 매우 순환적이고 단순하기 때문에 arima는 문제 없이 작동합니다. eurusd m30을 동일한 코드로 대체하면 모델이 새 데이터에서 급격한 가격 상승에 빠지지 않습니다.
나는 회귀 방정식의 계수가 피팅 후 인쇄하는 이러한 "최적" 매개변수에 관심이 없었습니다.
 
summary(arimaModel)
Series: ts(DT$value[trainIndexes], frequency = period) 
ARIMA(1,0,24)(1,0,1)[48] with non-zero mean 

Coefficients:
         ar1     ma1     ma2     ma3     ma4     ma5     ma6     ma7     ma8     ma9    ma10    ma11    ma12    ma13    ma14    ma15    ma16    ma17    ma18
      0.8531  0.3469  0.3324  0.3512  0.3564  0.3176  0.2676  0.2223  0.1904  0.2015  0.2241  0.2529  0.2424  0.2383  0.2408  0.2507  0.2279  0.1701  0.1418
s.e.  0.0316  0.0350  0.0413  0.0462  0.0506  0.0542  0.0559  0.0554  0.0537  0.0514  0.0494  0.0481  0.0477  0.0469  0.0455  0.0451  0.0448  0.0439  0.0415
        ma19    ma20   ma21     ma22     ma23     ma24    sar1     sma1       mean
      0.0813  0.0525  0.028  -0.0152  -0.0226  -0.0159  0.9899  -0.4300  1816.9447
s.e.  0.0390  0.0358  0.032   0.0280   0.0224   0.0180  0.0015   0.0132   687.9652

sigma^2 estimated as 1442:  log likelihood=-23883.84
AIC=47825.68   AICc=47826.05   BIC=48012.95

Training set error measures:
                     ME     RMSE      MAE         MPE     MAPE      MASE         ACF1
Training set -0.1648644 37.86381 25.64976 -0.07217873 1.573367 0.1610166 0.0002493082
파일:
arimaModel.zip  140 kb
 
박사 상인 :

뭔가 이상한 테이블.

하지만.

계수의 값을 se와 비교 드문 경우를 제외하고는 10% 이상입니다. 어떤 이유로 t를 통해 점수를 볼 수 없지만 이마에 있는 경우 이 10%는 다음을 의미합니다.

계수 추정치에 대한 귀무 가설: 계수가 유의하지 않을 확률. 10% 이상의 편차는 이러한 모든 계수가 유의하지 않음을 나타냅니다. 회귀 방정식이 없습니다.


추신.

일반적으로 중요한 계수는 별표로 표시됩니다. 계수가 중요하지 않기 때문에 다른 모든 숫자는 숫자일 뿐입니다.

hist(residuals(arimaModel), breaks= 100 )


계수가 중요하지 않은 이유는 왼쪽 꼬리가 오른쪽 꼬리보다 두껍기 때문입니다.

눈이 아닌 정량적으로 문제를 식별하고 해결 도구를 선택할 수 있는 테스트가 있습니다.

결론:

ARIMA 모델은 사용된 시계열에 적용할 수 없습니다.

 
막심 드미트리예프스키 :

시장이 고정되어 있지 않기 때문에 시장에서 모든 분류기는 재학습됩니다. 재교육을 받지 않으려면 역사 전체에 걸쳐 국회를 교육해야 합니다. 그렇지 않으면 항상 시장 사이클이 바뀌고 모델이 악화될 것입니다. 따라서 유일한 유능한 접근 방식은 거래 과정에서 재교육 또는 추가 교육입니다. 하지만 여기서 우리는 개입 없이 15년의 역사에 대해 매월 1000%를 일관되게 제공할 성배를 믿지 않습니다.

일반적으로 나는 여전히 그 가장자리를 보지 못합니다. Forex에서 재교육된 NN은 무엇을 의미합니까? 이것은 그녀가 테스트 샘플에서 벌지 않을 때입니까? 아니 ... 아니 아니 아니 ... 요점은 비정상입니다. 그녀가 재교육을 받았다는 사실은 정상이며, 추가로 다른 접근 방식을 찾아야 합니다.


여기 당신이 절대적으로 옳습니다. 개념 자체가 알려지지 않은 경우 재교육에 대해 어떻게 이야기 할 수 있습니까 ???? 재훈련된 NS는 무엇을 의미합니까??? 그가 보는 대로 각각 던지자. 내가 먼저 시작하겠다.

1. NN은 새로운 데이터에 대해 잘 작동하지 않습니다. 옳든 그르든 신호를 안정적으로 나누지 못한다는 의미에서 중요한 것은 나쁜 것과 좋은 것을 구분하는 안정성이다.... 안정적으로 머지(모형의 역전)할 수 있지만, 동시에 바로 그 사실이다. 좋은 것과 나쁜 것을 구분하는 것은 좋지 않습니다.

2. 모델은 훈련 간격의 절반 미만 동안 잘 작동했습니다. 이러한 접근 방식을 가정하면 잘 훈련된 모델은 훈련 간격의 50% 이상에서 작동해야 합니다.

3. 새로운 데이터에 대한 균형 곡선은 급격한 상승과 하락을 보입니다(특정 기간에 작동하고 1-2개의 대규모 거래로 인해 수익성으로 이어지는 무작위 모델이지만 일반적으로 드레인).

그리고 분류에 대한 내 대답은 다음과 같습니다.

NOT STATIONARY 부드럽게 변화하는 값으로, 바가 닫히자 마자 천천히 떠다니기 시작합니다. 그리고 막대가 역사에서 더 멀어질수록 이 악명 높은 STATIONARY(시장 전체를 변화시키는 특정 혼돈의 상징 또는 일시적인 가치의 상징)는 점점 더 멀어지므로 분류 모델을 훈련하면 다음을 얻을 수 있습니다. 이 값은 모델의 품질에 직접적으로 의존합니다. 모델이 오래될수록 이 NON-STATIONARITY의 변화에 따라 품질 수준이 낮아집니다. 작업은 3핍으로 짜낼 수 있을 만큼 충분히 오래 작동할 수 있는 모델을 구축하는 것입니다 :-)

 
마이클 마르쿠카이테스 :

재훈련된 NS는 무엇을 의미합니까???

특히 Forex에서 훈련 데이터는 일반적으로 잡음이 많으며 모델을 100% 정확도로 훈련함으로써 원하는 결과와 함께 이러한 잡음을 재현하도록 가르칩니다. 그리고 NN이 이미 결과를 정확하게 예측하기 시작했지만 아직 소음과 함께 정답을 어리석게 외우기 시작하지 않은 순간에 훈련을 중지해야 합니다. 이것은 당신 자신의 말로입니다. 과학적이라면 https://ru.wikipedia.org/wiki/Retraining


https://commons.wikimedia.org/wiki/File:Overfitting.svg

여기에 좋은 예가 있습니다. 두 가지 모델,
첫 번째 것(녹색 선)은 이 데이터를 100% 정확도로 학습했습니다. 육안으로 보면 빨간색과 파란색 공간의 경계에 있는 많은 점이 약간 옆으로(노이즈) 이동하고 실제로 이 두 공간의 경계가 파선이 아니라 일종의 평균이어야 한다는 것을 알 수 있습니다.
첫 번째 모델이 재학습되었습니다.
그리고 노이즈를 무시하고 의미상 평면을 명확하게 구분하는 두 번째 모델(검은색 선)이 있습니다.

 
박사 상인 :

특히 Forex에서 훈련 데이터는 일반적으로 잡음이 많으며 모델을 100% 정확도로 훈련함으로써 원하는 결과와 함께 이러한 잡음을 재현하도록 가르칩니다. 그리고 NN이 이미 결과를 정확하게 예측하기 시작했지만 아직 소음과 함께 정답을 어리석게 외우기 시작하지 않은 순간에 훈련을 중지해야 합니다. 이것은 당신 자신의 말로입니다. 과학적이라면 https://ru.wikipedia.org/wiki/Retraining


https://commons.wikimedia.org/wiki/File:Overfitting.svg

여기에 좋은 예가 있습니다. 두 가지 모델,
첫 번째 것(녹색 선)은 이 데이터를 100% 정확도로 학습했습니다. 육안으로 보면 빨간색과 파란색 공간의 경계에 있는 많은 점이 옆으로 약간 이동(노이즈)되어 있으며 실제로 이 두 공간의 경계는 파선이 아니라 일종의 평균이어야 합니다.
첫 번째 모델이 재학습되었습니다.
그리고 노이즈를 무시하고 평면의 의미를 명확히 구분하는 두 번째 모델(검은색 선)이 있습니다.

가끔 뇌가 망가지기 시작하는데.. 외환 노이즈에 대해, 그것은 무선 신호가 아닙니다. 그렇죠? Forex에서 소음은 어디에서 옵니까? Mikhail의 모델이 한 달에 30-50회, 하루에 1-2회 거래를 했다면 그녀는 소음을 거래했습니까? 어떻게 든이 정의는 여기에 적합하지 않습니다. :)

Forex 재교육은 (임시) 패턴으로 올바르게 분류되지 않습니다. 그러나 Forex에는 다른 모델이 없으므로 어떤 모델이든 어느 정도 재훈련됩니다.

추신 따라서 상품을 분류하고 현재 가장 지속적인 BP를 선택해야 합니다(예: 증가하는 주식 또는 지수)

 

모든 것은 맞다!!!! 그러나 재교육에는 수학적 설명도 있습니다 ...

지도 훈련에서 우리는 훈련 세트의 네트워크 오류를 줄이려고 합니다. 그리고 이 오류 감소는 실수를 다룰 때 무한할 수 있습니다. 그러나 오류를 줄이면 테스트 세트에서도 모델이 저하되는 경우가 있습니다. 이것으로부터 우리는 다음과 같은 결론을 도출할 수 있습니다!

이론적으로 각 데이터 세트에 대해 절대 학습이 있습니다. 이것은 0.00000000000000000000001 모델이 재교육되지 않은 오류 척도의 특정 라인이고 0.0000000000000000000000000009의 "0.00000000000000000000000000009"의 언어가 이미 재교육되었습니다. 이 지점의 오른쪽에 있는 모든 오류 모델은 과소 훈련된 것으로 간주되고 왼쪽에 있는 오류 모델은 각각 과적합됩니다. 이것은 내 개인적인 이해의 이론 일 뿐임을 상기시켜 드리겠습니다. 나는 아무 것도 가장하지 않습니다.

특정 데이터 세트에 대한 일종의 이상적인 모델입니다.

모든 AI의 임무는 절대 학습 지점에 최대한 가까이 가는 것이지만 그것을 넘지 않는 것입니다. 임호.


이 이론에서는 이것이 어떤 특정한 지점이 아니라 완전히 훈련된 모델과 과잉 훈련된 모델이 모두 있는 특정 영역이라고 가정합니다. 충분히 크지 않은 혼합 지역. 글쎄, 그냥 ... 상상 ...... 왜 ??? 이것은 내가 관찰한 결과입니다.

어떤 식으로든 AI가 가장 먼저 해야 할 일은 전환 영역에 도달하는지 확인하는 것입니다. 하지만 지금 이 순간이...

샘플을 정지 상태로 나누면 과적합 경계의 특정 값이 될 가능성이 큽니다(대부분). 샘플이 매번 무작위로 분할되면 이것은 AREA .... 과도기 .... IMHO입니다.

AI가 이 영역에 오는 것이 보장되지 않으면 올바르게 수행되지 않습니다. 어떤 모델이 나올지 또 다른 문제!!!!

JPrediction을 사용하여 이 모든 것을 배웠습니다.

샘플의 램덤 분할을 고려하여 동일한 파일을 훈련하기 시작하면서 10개의 다른 훈련 결과를 얻었습니다. 최악은 75%, 최고는 85% 일반화였습니다(지금 옵티마이저의 지표를 사용하고 있습니다. 옳거나 그르다, 지금은 ... 예를 들어 ....) 즉, 75에서 85 사이에 무한한 수의 모델 옵션이 있는 영역인 신경망이 있다고 가정할 수 있습니다. 일반적으로 80-82 범위의 평균을 선택하면 OOS에서 약한 모델을 만날 수 있습니다. 극한 다항식의 정의는 쉬운 질문이 아니기 때문입니다.

여기 그가 그것에 대해 이야기하는 35분짜리 비디오가 있습니다.

https://www.youtube.com/watch?v=qLBkB4sMztk

001. Вводная лекция - К.В. Воронцов
001. Вводная лекция - К.В. Воронцов
  • 2014.12.22
  • www.youtube.com
Курс "Машинное обучение" является одним из основных курсов Школы, поэтому он является обязательным для всех студентов ШАД. Лектор: Константин Вячеславович Во...
 
마이클 마르쿠카이테스 :

여기 그가 그것에 대해 이야기하는 35분짜리 비디오가 있습니다.

https://www.youtube.com/watch?v=qLBkB4sMztk


그래 이 아저씨는 이미 봤어 다시 봐야지 senks)

수학적 의미는 분명하지만, 실제 의미 - Forex에 과훈련된 NN이 있다는 것은 완전히 다른 의미이며, 그러한 과잉 훈련에서 벗어날 길이 없습니다 :) 따라서 하드 정렬과 트렌드 도구 검색 또는 지속적으로 적응형 NN을 재교육하지만 어떤 기준으로 - 이미 창의적인 질문이 있습니다.

 
막심 드미트리예프스키 :

그래 이 아저씨는 이미 봤어 다시 봐야지 senks)

수학적 의미는 분명하지만, 실제 의미 - Forex에 과훈련된 NN이 있다는 것은 완전히 다른 의미를 가지며, 그러한 과잉 훈련에서 벗어날 방법이 없습니다 :) 따라서 하드 정렬과 트렌드 도구 검색 또는 지속적으로 적응형 NN을 재교육하지만 어떤 기준으로 - 이미 창의적인 질문이 있습니다.


진정한 의미는 이것이다. 제어 영역에 잘못된 분할이 있는 경우 올바른지 아닌지는 중요하지 않으며 분리의 사실 자체가 약합니다. 그리고 모델이 훈련 간격의 50% 이하로 작동했다면 그러한 모델은 과잉 훈련된 것으로 간주됩니다.... IMHO

사유: