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

 
막심 드미트리예프스키 :

나는 그림과 문제의 본질을 정말로 이해하지 못했습니다

그림은 이진 분류(x축)에 대해 다른 확률을 선택할 때 모델의 재무 결과(y축)를 보여줍니다. 테스트 샘플에서 활성화 신호(트레이닝이 시장 진입 여부를 결정함)가 나타날 때 항상 시장에 진입 해야 한다는 것을 알았습니다. 역설은 훈련이 기본 활성화 신호를 악화시킬 뿐인 것으로 밝혀졌으며 확률 세그먼트의 분류 포인트 변위에서 재무 결과가 어떻게 변하는지 확인하지 않았다면 이것을 보지 못했을 것입니다.

막심 드미트리예프스키 :

나 자신이 모델의 변형을 생성했습니다. 이제 모니터링을 위해 선택할 모델을 이해하려고 합니다. D 또는 추가 개선

간단히 말해서 .. 이러한 접근 방식에서는 거래가 출구에서 올바르게 표시되지 않습니다.

슬라이딩 창의 각 차원에는 거래가 이루어지는 자체 분포가 있어야 하기 때문입니다. 그러면 모델이 더 잘 조정됩니다. 그리고 테스트 샘플 아래. (지그재그 또는 다른 출구는 그 자체로 매우 결정적이지만 피팅에 대한 자유도는 거의 없습니다) 출구 열거가 더 철저하고 실제로 더 이상 할 일이 없습니다.

입력에 대해 서로 다른 시차로 증가하는 구식 방식, 중요도를 통한 자체 선택 및 PCA를 통해 상관 관계를 제거할 수 있습니다. 이러한 옵션도 봇에 의해 만들어졌습니다. 그러나 일반적으로 PCA의 사용은 결함이 있는 아이디어입니다. 샘플을 중앙에 배치해야 할 뿐만 아니라 새 데이터에서 이러한 구성 요소가 천천히 슬래그로 변합니다.

우리는 문제에 대해 매우 다른 접근 방식을 가지고 있습니다. 실제(시각적으로 관찰 가능한 패턴) 정당화 없이 가격에 대한 순전히 수학적 설명은 나에게 생소합니다. 반대로, 나는 ZZ를 사용하고 이것의 효과를 봅니다(ZZ 페디케이터는 항상 모든 MO 패키지에서 최전선에 있습니다). 두 가지 접근 방식을 결합하면 결과가 향상될 수 있다고 생각합니다.

의미를 통한 모델 선택은 말도 안 됩니다. 이전에 동일한 모델에서 서로 다른 중요한 예측 변수를 제거하면 학습 결과를 개선하고 나무 잎에서 새롭고 더 생산적이며 안정적인 연결을 형성할 수 있음을 보여주었습니다. 이 모든 "중요함"은 나무를 구축하는 데 있어 탐욕의 원칙이며, 이는 선험적으로 사실이 아니므로 예측자를 평가하기 위한 별도의 의미 있는 방법이 필요합니다. 저는 아직 그런 방법이 없습니다.

 

막심 드미트리예프스키 :

이 모든 것이 문제 없이 다음과 같은 결과를 제공합니다. 10분만 기다리세요.

모델이 이미 기차의 100% 이상을 충족할 때 추가 개선 가능성은 일반적으로 의심스러워 보입니다.

좋은 그래픽/도구에서 더 많은 것을 짜낼 수 있습니다.

좋아 보이지만 모델의 기간이 너무 짧습니다. 1년 전의 데이터에서 어떻게 동작합니까?

 
알렉세이 비아즈미킨 :

그림은 이진 분류(x축)에 대해 다른 확률을 선택할 때 모델의 재무 결과(y축)를 보여줍니다. 테스트 샘플에서 활성화 신호(트레이닝이 시장 진입 여부를 결정함)가 나타날 때 항상 시장에 진입 해야 한다는 것을 알았습니다. 역설은 훈련이 기본 활성화 신호를 악화시킬 뿐인 것으로 밝혀졌으며 확률 세그먼트의 분류 포인트 변위에서 재무 결과가 어떻게 변하는지 확인하지 않았다면 이것을 보지 못했을 것입니다.

우리는 문제에 대해 매우 다른 접근 방식을 가지고 있습니다. 실제(시각적으로 관찰 가능한 패턴) 정당화 없이 가격에 대한 순전히 수학적 설명은 나에게 생소합니다. 반대로, 나는 ZZ를 사용하고 이것의 효과를 봅니다(ZZ 페디케이터는 항상 모든 MO 패키지에서 최전선에 있습니다). 두 가지 접근 방식을 결합하면 결과가 향상될 수 있다고 생각합니다.

의미를 통한 모델 선택은 말도 안 됩니다. 이전에 동일한 모델에서 서로 다른 중요한 예측 변수를 제거하면 학습 결과를 개선하고 나무 잎에서 새롭고 더 생산적이며 안정적인 연결을 형성할 수 있음을 보여주었습니다. 이 모든 "중요함"은 나무를 구축하는 데 있어 탐욕의 원칙이며, 이는 선험적으로 사실이 아니므로 예측자를 평가하기 위한 별도의 의미 있는 방법이 필요합니다. 저는 아직 그런 방법이 없습니다.

글쎄, 당신은 테스트 샘플의 중요성을 살펴보고 훈련 샘플에 적합해야 합니다. 고전적으로 내장된 gini 유형 가져오기는 항상 거짓말을 하므로 반드시 순열을 수행해야 합니다(각 예측자를 연속적으로 무작위화하고 모델 오류를 확인). 그런 다음 최악의 것을 버려야 합니다. 먼저 상관된 기능을 제거해야 합니다. 그렇지 않으면 순열을 통한 중요성도 거짓말을 하게 됩니다. 넌센스가 얻어지지 않고 최상의 모델이 얻어집니다. 더 나은 것이 아직 발명되지 않은 경우 왜 자전거를 발명합니까?

 
알렉세이 비아즈미킨 :

좋아 보이지만 모델의 기간이 너무 짧습니다. 1년 전의 데이터에서 어떻게 동작합니까?

15분, 대기 시간이 더 길기 때문에 더 이상 가르치지 않습니다.

다른 모델은 다르게 작동합니다. 이 특정 모델은 그다지 좋지 않습니다. .. 아마도 fxsaber만이 몇 년 안에 15분 OOS에서 균일한 일정을 만들 수 있습니다. :)

나는 비원칙적인 배움을 가지고 있다. 초기에 모델에 전략이 전혀 설정되어 있지 않습니다.
 
알렉세이 비아즈미킨 :

여기에서 모델의 나무 수에 대한 이익 의존도 그래프를 봅니다(512개 모델).

그리고 60개 이상의 트리가 많은 모델은 병합될 가능성이 적거나 샘플이 작은 것 같습니다...

다음은 다른 수의 나무가 있는 다른 그래프입니다.

모두에 대한 샘플 7400, rf 알고리즘

나무의 수 50


트리 수가 증가하면 오류가 감소합니다. 갑자기 0으로 증가해야 할 것 같습니다.

나무 수 = 150


150에서 정확도는 증가하지만 매우 완만하게 - 몇 백분의 1

나무의 수를 늘리자




결론: 최대 50그루의 나무는 여전히 나무의 수를 늘리는 것이 합리적이지만 100개 이상은 그다지 의미가 없습니다.

지금 하기에는 너무 게으르지만 샘플 크기를 변경했습니다.

최대 1000개의 관측값 샘플 크기는 모델의 정확도에 큰 영향을 미칩니다. 그러나 5000 이후에는 샘플 크기가 시뮬레이션의 정확도에 영향을 미치지 않습니다.


이것에서 나는 결론을 내립니다. 오류는 모델이나 해당 매개변수에 의해 결정되는 것이 아니라 "예측자-대상" 링크에 의해 결정됩니다.

 
산산이치 포멘코 :

나무의 수를 늘리자

이것에서 나는 결론을 내립니다. 오류는 모델이나 해당 매개변수에 의해 결정되는 것이 아니라 "예측자-대상" 링크에 의해 결정됩니다.

초기에 권장되는 50-100개의 나무, 약한 분류기를 너무 많이 생성하는 것은 더 이상 의미가 없으며 개선 사항도 관찰하지 못했습니다.

Monte Carlo와 다른 사람들이 도와주기 위해 SanSanych .. 번들을 디자인하는 것은 인간의 마음의 문제가 아니라 단지 전자 .. 두뇌입니다.
 
막심 드미트리예프스키 :

글쎄, 당신은 테스트 샘플의 중요성을 살펴보고 훈련 샘플에 적합해야 합니다. 고전적으로 내장된 gini 유형 가져오기는 항상 거짓말을 하므로 반드시 순열을 수행해야 합니다(각 예측자를 연속적으로 무작위화하고 모델 오류를 확인). 그런 다음 최악의 것을 버려야 합니다. 먼저 상관된 기능을 제거해야 합니다. 그렇지 않으면 순열을 통한 중요성도 거짓말을 하게 됩니다. 넌센스가 얻어지지 않고 최상의 모델이 얻어집니다. 더 나은 것이 아직 발명되지 않은 경우 왜 자전거를 발명합니까?

솔직히 말해서, 나는 방법을 이해하지 못했습니다. 우리는 예측 변수를 훈련에서 단계적으로 분리하고 이 예측 변수가 있거나 없는 결과를 비교하는 것에 대해 이야기하고 있습니까? 그렇다면 무작위화한다는 것은 무엇을 의미합니까? 예측자가 표본의 1%를 올바르게 분할할 수 있도록 허용하고 트리의 평균 깊이에 있는지 여부를 결정하는 방법 - 좋은지 나쁜지? 루트 예측자를 사용하여 트리를 구축하는 품질, 각 수준에서 샘플을 자르는 방법을 고려해야 할 수도 있습니다. 그라데이션의 부드러운 감소가 필요할 수도 있습니다. 자전거를 발명해야 합니다. 공개 도메인에서 존재하는 것 중 최고가 아닙니다. 예를 들어, 최대가 아니라 평균 또는 x 시그마 또는 다른 것에 따라 샘플을 나누는 것이 필요할 수 있습니다. 아마도 규칙은 다음과 같습니다. 더 복잡하지만 더 안정적입니다. 그건 그렇고, 분할에 숫자 카운터뿐만 아니라 예측 변수를 서로 비교하는 논리적 카운터도 사용하는 학습 방법이 없는 이유를 이해하지 못합니다.

막심 드미트리예프스키 :

15분, 대기 시간이 더 길기 때문에 더 이상 가르치지 마십시오.

다른 모델은 다르게 작동합니다. 이 특정 모델은 그다지 좋지 않습니다. .. 아마도 fxsaber만이 몇 년 안에 15분 OOS에서 균일한 일정을 만들 수 있습니다. :)

나는 비원칙적인 배움을 가지고 있다. 초기에 모델에 전략이 전혀 설정되지 않았습니다.

그냥 원시적인 전략을 세우고 , 시장 진입 을 승인하거나 금지하는 필터를 훈련시키려 하지 않았습니까?

 
알렉세이 비아즈미킨 :

솔직히 말해서, 나는 방법을 이해하지 못했습니다. 예측 변수를 훈련에서 단계적으로 분리하고 이 예측 변수가 있거나 없는 결과를 비교하는 것입니까? 그렇다면 무작위화한다는 것은 무엇을 의미합니까? 예측자가 표본의 1%를 올바르게 분할할 수 있도록 허용하고 트리의 평균 깊이에 있는지 여부를 결정하는 방법 - 좋은지 나쁜지? 루트 예측자를 사용하여 트리를 구축하는 품질, 각 수준에서 샘플을 자르는 방법을 고려해야 할 수도 있습니다. 그라데이션의 부드러운 감소가 필요할 수도 있습니다. 자전거를 발명해야 합니다. 공개 도메인에서 존재하는 것 중 최고가 아닙니다. 예를 들어, 최대가 아니라 평균 또는 x 시그마 또는 다른 것에 따라 샘플을 나누는 것이 필요할 수 있습니다. 아마도 규칙은 다음과 같습니다. 더 복잡하지만 더 안정적입니다. 그건 그렇고, 분할에 숫자 카운터뿐만 아니라 예측 변수를 서로 비교하는 논리적 카운터도 사용하는 학습 방법이 없는 이유를 이해하지 못합니다.

그냥 원시적인 전략을 세우고 , 시장 진입 을 승인하거나 금지하는 필터를 훈련시키려 하지 않았습니까?

먼저 모든 기능에 대해 모델을 훈련하고 오류를 저장합니다.

그런 다음 순차적으로 각 예측 변수를 무작위화(예: 정규 분포로 가정)하고 이 무작위(수정)를 포함하여 모든 기능에서 오류를 다시 확인하고 원본과 비교합니다. 모델을 다시 학습시킬 필요가 없습니다. 그리고 각 예측 변수를 확인하십시오. 예측 변수가 좋은 경우 전체 샘플(다른 모든 원래 예측 변수 포함)의 오류가 원본에 비해 크게 증가합니다. 오류 차이를 저장하고 이를 기반으로 최상의 기능을 필터링합니다. 그런 다음, 결국에는 생산 분야의 최고와 모델에게서만 배우십시오. 나쁜 예측 변수는 모델에 대한 노이즈입니다. 1%에 필요한 것이 무엇입니까? 보통 5~10개의 좋은 것이 남고 나머지의 중요성은 기하급수적으로 감소합니다(Zipf의 법칙)

필터를 가르쳐 보려고 했지만 조금, 별 의미가 없어 한 번에 하나의 모델에 모든 것을 넣는 것이 좋습니다

당신이 그것을 숙달한다면 예측 변수의 선택에 대해 매우 유능 하게 (나는 이미 그것을 던졌습니다)

Beware Default Random Forest Importances
Beware Default Random Forest Importances
  • explained.ai
0.995 worst radius 0.995 mean perimeter 0.994 mean area 0.984 worst perimeter 0.983 worst area 0.978 radius error 0.953 mean concave points 0.944 mean concavity 0.936 worst concave points 0.927 mean compactness 0.916 worst concavity 0.901 perimeter error 0.898 worst compactness 0.894 worst texture 0.889 compactness...
 
산산이치 포멘코 :

다음은 다른 수의 나무가 있는 다른 그래프입니다.

모두에 대한 샘플 7400, rf 알고리즘

나무의 수 50


트리의 수가 증가함에 따라 오류가 감소합니다. 갑자기 0으로 증가해야 할 것 같습니다.

나무 수 = 150


150에서는 정확도가 증가하지만 매우 완만하게 - 몇 백분의 1

나무의 수를 늘리자




결론: 최대 50그루의 나무는 여전히 나무의 수를 늘리는 것이 합리적이지만 100개 이상은 그다지 의미가 없습니다.

지금 하기에는 너무 게으르지만 샘플 크기를 변경했습니다.

최대 1000개의 관측값 샘플 크기는 모델의 정확도에 큰 영향을 미칩니다. 그러나 5000 이후에는 샘플 크기가 시뮬레이션의 정확도에 영향을 미치지 않습니다.


이것에서 나는 결론을 내립니다. 오류는 모델이나 해당 매개변수에 의해 결정되는 것이 아니라 "예측자-대상" 링크에 의해 결정됩니다.


랜덤 포레스트 와 다른 유형의 부스팅에 대해 다른 수의 트리가 있을 수 있으며 그 수는 예측 변수의 품질과 동일한 대상에 대해 다를 수 있는 상황에 따라 달라질 수 있다고 생각합니다(예: 목표는 100포인트 수익 어떤 점). 어떤 잎의 조합이 결정을 내리는 데 얼마나 자주 사용되는지 보는 방법이 흥미 롭습니다. 그러한 정보가 모델을 더 잘 평가할 수 있다고 생각합니다. 그리고 또 다른 문제는 테스트 및 훈련을 위해 고정 시장 모델을 제출할 수 없다는 것입니다. 즉, 훈련된 모델의 일부만 테스트에 사용하고 이 부분에 대해 모델을 평가해야 하고 다른 부분은 훨씬 더 나은 것으로 밝혀졌습니다. 그리고 분류 오류가 올바른 분류와 모듈러스가 같지 않으면(저인망을 사용하고 오류 비용을 줄임) 모델 추정이 훨씬 더 복잡해집니다.

 
막심 드미트리예프스키 :

먼저 모든 기능에 대해 모델을 훈련하고 오류를 저장합니다.

그런 다음 순차적으로 각 예측 변수를 무작위화(예: 정규 분포로 가정)하고 이 무작위(수정)를 포함하여 모든 기능에 대해 오류를 다시 확인하고 원본과 비교합니다. 모델을 다시 학습시킬 필요가 없습니다. 그리고 각 예측 변수를 확인하십시오. 예측 변수가 좋은 경우 전체 샘플(다른 모든 원래 예측 변수 포함)의 오류가 원본에 비해 크게 증가합니다. 오류 차이를 유지하고 이를 기반으로 최상의 기능을 제거합니다. 그런 다음, 결국에는 생산 분야의 최고와 모델에게서만 배우십시오. 나쁜 예측 변수는 모델에 대한 노이즈입니다. 1%에 필요한 것이 무엇입니까? 보통 5~10개의 좋은 것이 남고 나머지의 중요성은 기하급수적으로 감소합니다(Zipf의 법칙)

필터를 가르쳐 보려고 했지만 조금, 별 의미가 없어 한 번에 하나의 모델에 모든 것을 넣는 것이 좋습니다

당신이 그것을 숙달한다면 예측 변수의 선택에 대해 매우 유능 하게 (나는 이미 그것을 던졌습니다)

고맙습니다. 표본에서 예측자가 가지고 있던 것과 동일한 값으로 무작위화해야 합니다. 제대로 이해하고 있습니까?

일반적으로 접근 방식은 명확합니다. 덕분에 구현 및 테스트 방법에 대해 생각해야 합니다.

아아, 나는 그것을 압도 할 수 없으므로 때때로 당신의 입술에서 다시 이야기를들을 것입니다.

사실, 다시 말하지만 예측자가 트리에서 루트에 얼마나 가깝게 위치하는지에 따라 모든 것이 달라지기 때문에 이것이 완전히 사실이 아니라고 생각합니다 ...