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

 
알렉세이 버나코프 :
몇 년. 여기 주제에 그 결과가 있습니다.
링크 부탁드립니다.
 
바딤 쉬쉬킨 :
링크 부탁드립니다.
전체 주제는 결과입니다.
 
유리 레셰토프 :

글쎄, 적어도 일반 샘플에서 균일한 분포를 가진 샘플의 예비 무작위 혼합 대신 날짜별로 훈련 및 테스트 샘플로 엄격하게 나눈 다음 부분으로 나눕니다. 결국 수직 추세는 대부분 샘플의 한 부분에 속하고 측면 추세는 두 번째 부분에 속한다는 것이 밝혀질 수 있습니다. 무작위 혼합을 수행하면 샘플의 다른 부분에 유사한 패턴이 밀집될 확률이 줄어듭니다.

그런데 MetaTrader에 내장된 전략 테스터 도 이러한 단점을 가지고 있습니다. 훈련 샘플과 순방향 테스트를 날짜별로 엄격하게 나눕니다. 이 때문에 경계선에 가까운 시장 동향의 변화는 의도적인 재교육으로 이어질 수 있습니다.

이것이 실험 계획의 핵심입니다. 실생활에는 엄격한 시간 구분이 있습니다. 이것이 완전한 의미에서 미래를 위해 모델이 테스트되는 방법입니다.

나는 또한 이것을 가지고 있습니다. 검증 동안 시장은 대부분 하락했고 공매도가 우세했습니다. 글쎄, 미래에는 주로 성장할 수 있습니다. 모든 것이 가능합니다.
 
바딤 쉬쉬킨 :
즉, 당신은 존경받는 상인과 마찬가지로 대답을했습니다.
당신이 원한다면 우주의 대답.
 
알렉세이 버나코프 :
이것이 실험 계획의 핵심입니다. 실생활에는 엄격한 시간 구분이 있습니다. 이것이 완전한 의미에서 미래를 위해 모델이 테스트되는 방법입니다.

나는 또한 이것을 가지고 있습니다. 검증 동안 시장은 대부분 하락했고 공매도가 우세했습니다. 글쎄, 미래에는 주로 성장할 수 있습니다. 모든 것이 가능합니다.

이것을 불균형 샘플링이라고 하며 기계 학습 문제입니다.

더 명확하게 하기 위해 예를 들어보겠습니다. 상승 추세가 우세한 훈련 샘플이 있다고 가정해 보겠습니다. 즉, 하락 추세가 상승 추세에 비해 적은 양으로 표현된다는 의미입니다. 우리는 불균형이 있습니다.

샘플에 하향 이동이 1,000개, 상승 이동이 10,000개 있다고 가정하고 상향 이동에 대한 분류 오차가 10%라고 가정합니다. 그러나 10,000개의 예에 대한 이 10%는 하향 움직임의 예측으로 분류된 1,000개의 잘못된 신호와 동일하며 하향 움직임이 있는 예는 샘플에 1,000개만 있습니다. 미래의 움직임이 잠재적으로 아래쪽으로 향할 것이라고 예측하는 분류기의 모든 대답은 오류가 최소 50%가 될 것입니다. 저것들. 한 클래스에 대한 훈련 샘플의 예가 많을수록 - 불균형, 이 클래스에 대한 잘못된 분류가 다른 클래스에 대한 분류자의 답변 품질에 미치는 영향이 커집니다.

이러한 이유로 지진, 화산 폭발, 경제 위기 등과 같은 드문 사건을 예측하는 것은 매우 어렵습니다. 결국, 현상이 샘플에서 매우 드물고 대표성이 없다면 반대 클래스의 예에 대한 오류는 희귀 현상에 대해 지나치게 커집니다.

따라서 훈련 샘플은 모든 클래스의 예제가 동일한 숫자로 표시되도록 사전에 균형을 유지해야 합니다. 그렇지 않으면 덜 대표적인 클래스가 훈련 샘플 외부의 테스트에 실패할 가능성이 더 높습니다. 또한 일반 샘플을 훈련 및 테스트 부분으로 나눌 때 한 부분에서는 유사한 예측 변수가 있고 다른 부분에서는 다른 예제가 밀집되는 것을 피하기 위해 균일한 확률 분포로 PRNG를 사용하여 예제를 혼합해야 합니다. 저것들. 종속 변수뿐만 아니라 예측 변수 간의 불균형을 피하기 위해.

 
유리 레셰토프 :

이것을 불균형 샘플링이라고 하며 기계 학습 문제입니다.

이해를 돕기 위해 예를 들어보겠습니다. 상승 추세가 우세한 훈련 샘플이 있다고 가정해 보겠습니다. 즉, 하락 추세가 상승 추세에 비해 적은 양으로 표현된다는 의미입니다. 우리는 불균형이 있습니다.

샘플에 하향 이동이 1,000개, 상승 이동이 10,000개 있다고 가정하고 상향 이동에 대한 분류 오차가 10%라고 가정합니다. 그러나 10,000개의 예에 대한 이 10%는 하향 움직임의 예측으로 분류된 1,000개의 잘못된 신호와 동일하며 하향 움직임이 있는 예는 샘플에 1,000개만 있습니다. 미래의 움직임이 잠재적으로 아래쪽으로 향할 것이라고 예측하는 분류기의 모든 대답은 오류가 최소 50%가 될 것입니다. 저것들. 한 클래스에 대한 훈련 샘플의 예가 많을수록 - 불균형, 이 클래스에 대한 잘못된 분류가 다른 클래스에 대한 분류자의 답변 품질에 미치는 영향이 커집니다.

이러한 이유로 지진, 화산 폭발, 경제 위기 등과 같은 드문 사건을 예측하는 것은 매우 어렵습니다. 결국, 현상이 샘플에서 매우 드물고 대표성이 없다면 반대 클래스의 예에 대한 오류는 희귀 현상에 대해 지나치게 커집니다.

따라서 훈련 샘플은 모든 클래스의 예제가 동일한 숫자로 표시되도록 사전에 균형을 유지해야 합니다. 그렇지 않으면 덜 대표적인 클래스가 훈련 샘플 외부의 테스트에 실패할 가능성이 더 높습니다. 또한 일반 샘플을 훈련 및 테스트 부분으로 나눌 때 한 부분에서는 유사한 예측 변수가 있고 다른 부분에서는 다른 예제가 밀집되는 것을 피하기 위해 균일한 확률 분포로 PRNG를 사용하여 예제를 혼합해야 합니다. 저것들. 종속 변수뿐만 아니라 예측 변수 간의 불균형을 피하기 위해.

유리, 아이디어를 얻었다. 샘플은 실제로 훈련과 검증 모두에서 불균형할 수 있습니다. 그러나 실생활에서는 편견이 매우 강할 수 있는 미래를 거래합니다. 그리고 이러한 상황에서 전략은 지속 가능해야 합니다.
 
유리 레셰토프 :


따라서 훈련 샘플은 모든 클래스의 예제가 동일한 숫자로 표시되도록 사전에 균형을 유지해야 합니다. 그렇지 않으면 덜 대표적인 클래스가 훈련 샘플 외부의 테스트에 실패할 가능성이 더 높습니다. 또한 일반 샘플을 훈련 및 테스트 부분으로 나눌 때 한 부분에서는 유사한 예측 변수가 있고 다른 부분에서는 다른 예제가 밀집되는 것을 피하기 위해 균일한 확률 분포로 PRNG를 사용하여 예제를 혼합해야 합니다. 저것들. 종속 변수뿐만 아니라 예측 변수 간의 불균형을 피하기 위해.

케어 패키지

몇 가지 기능: downSample/upSample - 관찰 수를 줄이거나 늘여서 완전히 균형 잡힌 클래스를 얻습니다. 클래스에서 관찰의 감소/증가는 단순 무작위 샘플링 알고리즘에 따라 수행됩니다.

추신.

레셰토프!

R을 배우기 시작하십시오. 점점 더 진부함에 빠져들게 됩니다.

 
산산이치 포멘코 :

레셰토프!

R을 배우십시오. 점점 더 자주 진부함에 빠져들고 있습니다.

이제 모든 걸 포기하고 진지한 머그컵을 얼굴에 대고 치피리를 하기 위해 R 숙달자가 된다.
 
알렉세이 버나코프 :
유리, 아이디어를 얻었다. 샘플은 실제로 훈련과 검증 모두에서 불균형할 수 있습니다. 그러나 실생활에서는 편견이 매우 강할 수 있는 미래를 거래합니다. 그리고 전략은 이 시나리오에서 지속 가능해야 합니다.
Duc 결국 잠재적인 과적합을 방지해야 하기 때문에 안정성이 달성됩니다. 그리고 불균형한 훈련 세트는 대표성이 없는 클래스에 대한 과적합의 잠재적 원인입니다. 결국, 학습 알고리즘은 일반화 능력을 높이는 데 필요하지 않은 것처럼 더 쉽게 작동하려고 합니다. 표본이 불균형한 경우 대표성이 가장 낮은 클래스에 대한 학습 오류가 최소화됩니다. 이러한 클래스에 대한 예제는 거의 없으며 일반화하는 대신 암기하는 것이 가장 쉽습니다. 이러한 벼락치기 후에는 훈련 샘플 외부에서 대표성이 없는 클래스의 알고리즘 오류가 가장 가능성이 높다는 사실에 놀랄 일이 없습니다.
 

당신은 날짜 범위에 자신을 장님; - 날짜별로 정확히 데이터 분리(전일 x - 훈련, 후 - 검증)

생각은 간단합니다. 실생활에서 아무도 실제 거래의 품질을 평가하기 위해 미래와 과거의 관찰이 포함된 혼합 샘플을 취하는 것을 허용하지 않습니다. 모든 관찰은 x일 이후에 진행됩니다.

따라서 검증 중에 혼합 샘플을 취하면(날짜별 구분 없이) 검증을 위한 품질 메트릭을 과대평가하게 됩니다. 그게 다야. 그러면 불쾌한 놀라움이 있을 것입니다.

사유: