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

 
또한 foreca 패키지에서 입력과 출력의 종속성이 어떻게 결정되는지에도 관심이 있습니다. 어쩌면 사소한 것일 수도 있고 아닐 수도 있습니다.
 
알렉세이 버나코프 :
또한 foreca 패키지에서 입력과 출력의 종속성이 어떻게 결정되는지에도 관심이 있습니다. 어쩌면 사소한 것일 수도 있고 아닐 수도 있습니다.

방금 줄을 살펴보고 수정하거나 확인했지만 내 생각에 따르면 패키지는 내부 알고리즘을 기반으로 특정 확률 변수의 예측 능력을 평가합니다. 확률 변수의 값을 미래로 추정하는 능력. 이것이 추세 영역이라면 우리는 하나를 얻을 것이고 가격 증분이라면 우리는 0.83%를 얻게 될 것입니다. 이것은 나에게 매우 분명합니다. 그리고 요점은 방법 자체에 있으며 실제로는 모든 것이 정확히 반대입니다. 증분이 훨씬 더 잘 예측되기 때문입니다. 고정되지 않은 시계열 의 추세보다 고정성에 훨씬 가깝습니다. 도구 자체를 이해하고 이 도구가 적합한 개체에 이 도구를 적용해야 합니다.

일반적으로 시스템 분석에는 오류가 있습니다.

실수 #1.

잘못된 문제에 올바른 방법을 적용합니다.

통계에서는 매우 광범위합니다.

 
산산이치 포멘코 :

일반적으로 원래 아이디어가 손실 된 것 같습니다. 저에게 이 초기 생각은 모델과 무관하게 목표 변수를 예측하는 데 사용되는 각 예측 변수의 능력을 결정하는 방법이 필요하다는 것이었습니다.

모델 독립적 선택의 예는 vtreat 패키지입니다. 그는 어떻게든 데이터를 분석한 다음 목표 값의 준수 여부를 평가합니다.

data(iris)
iris[, 5 ] <- as.numeric(iris[, 5 ]) #пакет не умет факторы, их нужно сконвертировать в числа
iris_rand <- runif(nrow(iris)* 10 , min(iris[, 1 : 4 ]), max(iris[, 1 : 4 ])) #новых 10 предикторов со случайными значениями
dim(iris_rand) <- c(nrow(iris), 10 )
colnames(iris_rand) <- paste0( "rand_" , c( 1 : 10 ))
iris <- cbind(iris_rand, iris)
library (vtreat)
treatments <- designTreatmentsN(dframe = iris, varlist = colnames(iris)[ 1 :(ncol(iris)- 1 )], outcomename = colnames(iris)[ncol(iris)], verbose = TRUE )
treatments
format(treatments)
significance <- treatments$scoreFrame[, "sig" ]
names(significance) <- treatments$scoreFrame[, "origName" ]
barplot(significance)

iris 테이블의 경우 10개의 새로운 예측자가 무작위 값으로 생성됩니다. designTreatmentsN은 각 예측 변수에 점수를 매길수록 점수가 낮을수록 좋습니다. 이 예에서 원래 4개의 예측 변수(그래프의 마지막 예측 변수)가 명확하게 눈에 띄고 점수가 거의 0에 가까워 매우 좋습니다. 예측 변수를 선택할 때 가장 먼저 할 일은 가장 큰 값을 가진 것을 제거하는 것입니다.
목표 값이 2개뿐인 경우(0/1, TRUE/FALSE, -1/1, 수준이 2개인 요인 등) 이 특별한 경우에 대한 designTreatments C 함수가 있습니다.


이 패키지는 y-aware pca에서도 사용되었습니다. vtreat 패키지는 예측 변수를 y 인식 간격으로 확장한 다음 구성 요소가 거의 정상적인 방식으로 생성됩니다(크기 조정 및 센터링 없이). 즉, 원하는 경우 이 패키지의 도움으로 y-aware randomforest와 같은 흥미로운 작업을 수행할 수 있습니다.
여기에서 더 읽어보세요: https://cran.r-project.org/web/packages/vtreat/vignettes/vtreatScaleMode.html

 
Dr.Trader :

모델 독립적 선택의 예는 vtreat 패키지입니다. 그는 어떻게든 데이터를 분석한 다음 목표 값의 준수 여부를 평가합니다.

iris 테이블의 경우 10개의 새로운 예측자가 무작위 값으로 생성됩니다. designTreatmentsN은 각 예측 변수에 점수를 매길수록 점수가 낮을수록 좋습니다. 이 예에서 원래 4개의 예측 변수(그래프의 마지막 예측 변수)가 명확하게 눈에 띄고 점수가 거의 0에 가까워 매우 좋습니다. 예측 변수를 선택할 때 가장 먼저 할 일은 가장 큰 값을 가진 것을 제거하는 것입니다.
목표 값이 2개뿐인 경우(0/1, TRUE/FALSE, -1/1, 수준이 2개인 요인 등) 이 특별한 경우에 대한 designTreatments C 함수가 있습니다.


이 패키지는 y-aware pca에서도 사용되었습니다. vtreat 패키지는 예측 변수를 y 인식 간격으로 확장한 다음 구성 요소가 거의 정상적인 방식으로 생성됩니다(크기 조정 및 센터링 없이). 즉, 원하는 경우 이 패키지의 도움으로 y-aware randomforest와 같은 흥미로운 작업을 수행할 수 있습니다.
여기에서 더 읽어보세요: https://cran.r-project.org/web/packages/vtreat/vignettes/vtreatScaleMode.html

자, 여기 있습니다. 기본으로 돌아갑니다.

그리고 이제 더.

이러한 패키지로 처리한 후에만 모든 모델을 사용합니다. 이러한 전처리가 있는 모델이 과적합에 시달리지 않기를 바랍니다.

 
산산이치 포멘코 :

잘못된 문제에 올바른 방법을 적용합니다.

저는 CaretFA로 시계열 평가를 마스터하지 못했습니다. 설명에 많은 공식이 있습니다. 새 값과 이전 값의 상관 관계, 푸리에 변환 후 주파수 그래프 분석, 새 데이터에서 이 그래프가 어떻게 변하는지 분석에 대해 알아봤습니다. 외환보다 방사선 물리학에 대해 더 많이 이해할 필요가 있습니다. :)

DAX, SMI, CAC, FTSE 인덱스 에 적용되는 패키지 설명에 예가 있습니다. 사용되는 D1의 증분입니다. 즉, 패키지와 작업이 모두 정확합니다.
작은 뉘앙스는 예에서 가격의 시계열이 먼저 로그 함수 log()에 의해 처리되고 그 후에야 델타가 발견된다는 것입니다. diff(log(EuStockMarkets[c(100:200),])) * 100
하지만 log()를 사용하거나 사용하지 않은 경우 차이를 느끼지 못했습니다. 평가 결과는 변경되지 않았으며 이는 그래프에 데이터를 보다 편리하게 표시하기 위해 수행한 것입니다.

 
트레이더 박사 :

CaretFA로 시계열 평가를 마스터하지 못했습니다. 설명에 많은 공식이 있습니다. 새 값과 이전 값의 상관 관계, 푸리에 변환 후 주파수 그래프 분석, 새 데이터에서 이 그래프가 어떻게 변하는지 분석에 대해 알아봤습니다. 외환보다 방사선 물리학에 대해 더 많이 이해할 필요가 있습니다. :)

DAX, SMI, CAC, FTSE 인덱스 에 적용되는 패키지 설명에 예가 있습니다. 사용되는 D1의 증분입니다. 즉, 패키지와 작업이 모두 정확합니다.
작은 뉘앙스는 예에서 가격의 시계열이 먼저 로그 함수 log()에 의해 처리되고 그 후에야 델타가 발견된다는 것입니다. diff(log(EuStockMarkets[c(100:200),])) * 100
하지만 log()를 사용하거나 사용하지 않은 경우 차이를 느끼지 못했습니다. 평가 결과는 변경되지 않았으며 이는 그래프에 데이터를 보다 편리하게 표시하기 위해 수행한 것입니다.

이 패키지와 관련하여 저에게 질문은 기본입니다.

  • 그것은 개별 예측자의 예측력을 제공하며,
  • 또는 예측자를 사용하는 대상 변수의 예측력?

 
산산이치 포멘코 :

이 패키지와 관련하여 저에게 질문은 기본입니다.

  • 그것은 개별 예측자의 예측력을 제공하며,
  • 또는 예측자를 사용하는 대상 변수의 예측력?

대상 변수와 예측 변수 사이의 링크를 찾지 않습니다. 패키지 작성자는 두 가지 응용 프로그램에 대해 씁니다.

1) Omega() 함수로 시계열 이 예측 가능한지(0% = "백색 잡음"에서 100% = 사인곡선까지) 여부를 평가합니다. 결과가 0%이면 어떤 예측 변수를 사용하든 시계열의 동작을 예측하는 것이 불가능합니다.
2) 여러 예측 변수를 가져와 동일한 기능으로 평가하고 pca와 유사한 방식으로 새 예측 변수를 생성하여 새 예측 변수에 대한 Omega() 결과가 원래 예측 변수보다 훨씬 더 높도록 합니다. 이것이 목표 값을 더 잘 예측하는 데 도움이 되는지 여부는 운이 좋은 것과 마찬가지로 패키지는 이러한 예측자가 정확히 무엇을 예측해야 하는지에 관심이 없습니다. 요점은 말하자면 예측자가 노이즈가 아닌 경우 이를 사용하는 모델이 더 안정적으로 예측한다는 것입니다.

 
트레이더 박사 :

대상 변수와 예측 변수 사이의 링크를 찾지 않습니다. 패키지 작성자는 두 가지 응용 프로그램에 대해 씁니다.

1) Omega() 함수로 시계열이 예측 가능한지(0% = "백색 잡음"에서 100% = 사인곡선까지) 여부를 평가합니다. 결과가 0%이면 어떤 예측 변수를 사용하든 시계열의 동작을 예측하는 것이 불가능합니다.
2) 여러 예측자를 취하고 동일한 함수로 평가하고 pca와 유사한 방식으로 새 예측자를 생성하여 새 예측자에 대한 Omega()의 결과가 원래 예측보다 훨씬 더 높도록 합니다. 이것이 목표 값을 더 잘 예측하는 데 도움이 되는지 여부는 운이 좋은 것과 마찬가지로 패키지는 이러한 예측자가 정확히 무엇을 예측해야 하는지에 관심이 없습니다. 요점은 말하자면 예측자가 노이즈가 아닌 경우 이를 사용하는 모델이 더 안정적으로 예측한다는 것입니다.

당신은 내 의심을 실질적으로 확인했습니다.

고맙습니다.

패키지는 분류에 쓸모가 없다고 생각합니다.

그러나 외삽 유형을 예측하는 데 유용할 수 있습니다.

예를 들어 예측 패키지를 사용합니다. 그는 시리즈를 세 가지 구성 요소로 분해한 다음 앞으로 외삽하고 추가합니다. 한 단계 이상 앞서 예측을 가져옵니다.

이제 질문은 다음과 같습니다. 어떤 통화 쌍을 선택해야 할까요? CaretFA를 사용하여 여러 통화 쌍의 예측력을 계산합니다. 나는 경계 창에서 그러한 예측력이 창이 이동함에 따라 변한다고 생각합니다. 우리는 통화 쌍을 선택하고 예측(또는 다른 패키지 - 많은 패키지가 있음)을 예측하고 거래하고 모든 위치를 닫은 후 통화 쌍을 다시 선택합니다.

 
트레이더 박사 :

모델 독립적 선택의 예는 vtreat 패키지입니다. 그는 어떻게든 데이터를 분석한 다음 목표 값의 준수 여부를 평가합니다.

iris 테이블의 경우 10개의 새로운 예측자가 무작위 값으로 생성됩니다. designTreatmentsN은 각 예측 변수에 점수를 매길수록 점수가 낮을수록 좋습니다. 이 예에서 원래 4개의 예측 변수(그래프의 마지막 예측 변수)가 명확하게 눈에 띄고 점수가 거의 0에 가까워 매우 좋습니다. 예측 변수를 선택할 때 가장 먼저 할 일은 가장 큰 값을 가진 것을 제거하는 것입니다.
목표 값이 2개뿐인 경우(0/1, TRUE/FALSE, -1/1, 수준이 2개인 요인 등) 이 특별한 경우에 대한 designTreatments C 함수가 있습니다.


이 패키지는 y-aware pca에서도 사용되었습니다. vtreat 패키지는 예측 변수를 y 인식 간격으로 확장한 다음 구성 요소가 거의 정상적인 방식으로 생성됩니다(크기 조정 및 센터링 없이). 즉, 원하는 경우 이 패키지의 도움으로 y-aware randomforest와 같은 흥미로운 작업을 수행할 수 있습니다.
여기에서 더 읽어보세요: https://cran.r-project.org/web/packages/vtreat/vignettes/vtreatScaleMode.html

홍채와 무작위 예측자가 있는 코드를 보고 프로그래밍하는 방법을 전혀 모른다는 것을 이해합니다. 10줄이 3줄에 맞습니다.

vtreat에 의한 이 선택은 RF에 내장된 동일한 중요성과 어떻게 든 다른가요? 효율성 측면에서 의미합니다.

 
mytarmailS :

vtreat에 의한 이 선택은 RF에 내장된 동일한 중요성과 어떻게 든 다른가요? 효율성 측면에서 의미합니다.

Vtreat가 더 좋습니다. 특정 예측 모델에 맞추지 않고 대상 변수를 예측하는 데 예측자가 일반적으로 얼마나 좋은지 나쁜지, 모든 것을 통계적으로 평가합니다. 점수가 1/(예측 변수 수) 이하인 예측 변수를 사용하는 것이 좋습니다. 예를 들어 200개의 예측 변수가 있는 경우 점수가 1/200 미만인 예측 변수만 사용합니다. 예측 변수를 추정할 수 있으며 모든 추정치가 임계값을 초과하는 경우 모델을 성공적으로 훈련하고 새 데이터를 예측하는 대신 다른 예측 변수를 즉시 찾기 시작하는 것이 좋습니다.

몇 가지 단점이 있습니다. 패키지는 예측자와 하나씩 작동하며 상호 작용을 고려하지 않습니다. 나는 또한 완전히 동일하거나 상관관계가 높은 예측자가 있더라도 vtreat가 중복을 제거하지 않고 때로는 방해가 되는 것도 좋아하지 않습니다.

사유: