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

 

RF가 예측 변수 중요도 척도를 구축하는 원칙에 대해 매우 간단하지만 상당히 정확한 언어로 누군가 나에게 설명할 수 있습니까?

이제 대상 클래스에 두 개의 클래스가 있는 세트가 있습니다. 한 클래스의 관찰 횟수는 두 번째 클래스보다 수백 배 더 많습니다. RF 프로젝터의 중요성에 대한 기준 중 하나가 발생 빈도라는 것을 어딘가에서 기억합니다. 일종의 관찰이다.

그래서 RF가 예측변수의 중요성을 계산할 때 관찰이 거의 없는 클래스를 억제하는지 궁금합니다.

 
흥미로운 기사, 또는 오히려 기사가 거의 없습니다. 비선형 "pca"에 대한 흥미로운 그림) https://imdevsoftware.wordpress.com/tag/non-linear-pca/
Discriminating Between Iris Species
Discriminating Between Iris Species
  • imdevsoftware.wordpress.com
The Iris data set is a famous for its use to compare unsupervised classifiers. The goal is to use information about flower characteristics to accurately classify the 3 species of Iris. We can look at scatter plots of the 4 variables in the data set and see that no single variable nor bivariate combination can achieve this. One approach to...
 
mytarmailS :

나는 당신이 forex에 있다고 의심하고 forex에는 중개인이없고 거래하지 않습니다. 이것은 마권업자의 문서에 따라 작동하는 책상입니다

추신 내 기능 선택 제안에 대해 어떻게 생각하세요?

네, 중개인이 아닌 거래 센터입니다. 그러나 아무도 은행 간 시장에 대한 접근을 취소하지 않았습니다.

당신의 선택은 논리적인 것 같습니다. 그러나 내 개념에 따라 지표를 선택하지 않기로 결정했습니다. 왜냐하면 이것이 모델의 개선을 가져오지 않았기 때문입니다. 그리고 선택 알고리즘에 많은 지표를 제공하고 무엇이 좋고 무엇이 그렇지 않은지를 결정하게 하는 것이 좋습니다. 때때로 내 이동 평균 은 예측 변수의 최종 집합에 속하기도 합니다. 저는 그것들이 단독으로가 아니라 다른 지표와 함께 일부 정보를 제공할 수 있다고 생각합니다. 그러나 내 결과는 여전히 불안정합니다. 아직 유용성을 보장할 수 없습니다.
나는 또한 역전을 정확히 예측하려고 시도하지 않을 것입니다. 훈련 데이터에서 "모든 것이 동일합니다" 클래스는 "반전"보다 수십 배 더 많은 경우를 가지며 훈련을 위한 클래스의 비율이 더 낫다고 말합니다 50/50 비율로.

 
산산이치 포멘코 :

특정 대상 변수에 대한 예측자의 예측력을 결정하는 알고리즘이 있습니다. 요컨대, 이들은 오실레이터와 다양한 증분입니다. 특정 예측 변수에 특정 목표 변수에 대한 예측력이 있다고 해서 다른 목표 변수에 대한 예측력을 갖게 되는 것은 아닙니다. 더욱이 예측자는 한 창에서 예측력을 가질 수 있고 다른 창에서는 그렇지 않을 수 있습니다.

알고리즘이 잘 작동합니다. 그가 선택한 예측 변수는 모델의 재훈련으로 이어지지 않습니다.

추신

내 알고리즘에 따르면 모든 유형의 이동 평균은 아무리 우스꽝스럽게 들리더라도 예측 능력이 없습니다.

모든 모델은 모든 데이터 세트로 재학습됩니다.

또 다른 질문은 올바른 선택으로 재교육할 확률, 예측 변수의 변환이 크게 감소한다는 것입니다.

과적합 확률은 데이터 세트와 모델 유형에 따라 동일하게 좌우됩니다.

환상은 필요하지 않습니다.

pbo 패키지를 보면 이 문제가 흥미로운 것으로 간주됩니다.

행운을 빕니다

 
블라디미르 페레르벤코 :

모든 모델은 모든 데이터 세트로 재학습됩니다.

또 다른 질문은 올바른 선택으로 재교육할 확률, 예측 변수의 변환이 크게 감소한다는 것입니다.

과적합 확률은 데이터 세트 및 모델 유형에 따라 동일하게 다릅니다.

환상은 필요하지 않습니다.

pbo 패키지를 보면 이 문제가 흥미로운 것으로 간주됩니다.

행운을 빕니다

보았다. 원래 전제는 완전히 이해할 수 없습니다. 특히 "관측 수가 증가하면 과적합이 발생한다"???

나는 완전히 이해할 수 있고 가장 중요하게는 실질적으로 가치 있는 기준을 사용합니다.

요점은 여러 번 제기되었습니다. 반복합니다.

나는 다음과 같은 과적합 기준을 사용합니다 . 훈련 오류가 훈련 샘플 외부의 다른 데이터의 오류와 같지 않은 경우, 즉 다른 시간 간격에서는 모델이 다시 학습됩니다. 저것들. 훈련하는 동안 모델은 후속 시간 간격에서 충족하지 못한 몇 가지 세부 사항을 잡아냈습니다.

실제로 구현되는 방법입니다.

예를 들어 10,000바의 견적을 받습니다.

우리는 프릴이없는 막대의 수로 기계적으로 나눕니다. 실제로는 정확히 이와 같을 것이고 그렇지 않을 것이기 때문에 저에게 중요합니다.

그래서 저는 1에서 7000까지의 첫 번째 막대를 사용합니다. 이 막대를 훈련 테스트 및 검증에 사용합니다. 세 세트로 나누기 위해 예를 들어 샘플 또는 모델 자체에 내장된 것을 사용합니다.

나는 모델의 성능의 세 자리를 얻습니다. 모델이 과대적합되지 않은 경우 이 수치는 거의 같습니다.

다음이 가장 중요합니다.

막대가 7001에서 10,000인 파일을 가져오고 이전 막대에서 훈련된 모델을 사용합니다. 오류가 발생합니다. 오류가 이전 세 가지와 크게 다르지 않으면 모델이 과대적합 되지 않은 것입니다. 일반적으로 불일치가 15-20%이면 재교육되지 않는다고 생각합니다. 숫자 중 하나가 다른 숫자와 50% 이상 다르면 모델이 과대적합된 것입니다.

그래서 내 방법으로 특정 예측 변수 집합에서 하위 집합을 선택합니다. 그것들이 발견되면 전혀 필요하지 않습니다. 그러면 앞으로 randomforest, SVM, ada 및 그 품종과 같은 모델이 재교육 되지 않습니다 ! 다른 모델은 잘 모르겠습니다. 사용하지 않습니다.

이것은 환상이 아닙니다. 그것은 사실이다.

 
mytarmailS :

RF가 예측자 중요도 척도를 구축하는 원칙에 대해 매우 간단하지만 상당히 정확한 언어로 설명할 수 있는 사람이 있습니까?

나는 이제 대상 하나에 두 개의 클래스가 있는 세트를 가지고 있습니다. 한 클래스의 관찰 횟수는 두 번째 클래스보다 수백 배 더 많습니다. RF 프로젝터의 중요성에 대한 기준 중 하나는 발생 빈도라는 것을 어떻게든 기억합니다. 일종의 관찰.

그래서 RF가 예측변수의 중요성을 계산할 때 관찰이 거의 없는 클래스를 억제하는지 궁금합니다.

당신은 과격한 NOT 균형을 가지고 있으며 이것은 좋지 않습니다. 클래스 밸런싱 알고리즘이 있지만 귀하의 경우에는 아무 것도 해결되지 않았습니다. ZZ 반전을 한 마디가 아닌 반전 전후에 여러 개로 지정하려고 했다. 이렇게 하면 불균형이 줄어들었지만 문제가 해결되지는 않았습니다.

나는 균형이 맞지 않는 클래스에서 작동하도록 보장된 모델을 찾지 못했습니다.

 
산산이치 포멘코 :

당신은 과격한 NOT 균형을 가지고 있으며 이것은 좋지 않습니다. 클래스 밸런싱 알고리즘이 있지만 귀하의 경우에는 성공하지 못했습니다. ZZ 반전을 한 마디가 아닌 반전 전후에 여러 개로 지정하려고 했다. 이렇게 하면 불균형이 줄어들었지만 문제가 해결되지는 않았습니다.

나는 균형이 맞지 않는 클래스에서 작동하도록 보장된 모델을 찾지 못했습니다.

기능 선택에 관심이 있습니다.
 
mytarmailS :
기능 선택에 관심이 있습니다.

내가 필요하다고 생각하는 모든 것을 대답했습니다.

대상 변수가 있는 기능 세트가 있는 경우 저에게 보내주세요. 선택을 한 다음 선택한 모델을 기반으로 빌드하고 결과를 확인합니다.

 
아무도 실수로 비선형 PCA를 적용하려고 하지 않았나요?? 위에 남겨둔 링크가 무슨 이유에서인지 새 데이터를 인식할 수 없어 오류가 발생합니다
 
mytarmailS :
아무도 실수로 비선형 PCA를 적용하려고 하지 않았나요?? 위에 남겨둔 링크가 무슨 이유에서인지 새 데이터를 인식할 수 없어 오류가 발생합니다

이 패키지는 대상 변수를 예측할 수 있는 모델을 만들기에 충분하지 않은 것 같습니다. 도움말에서 찾은 것은 예측 변수를 기반으로 PCA 모델을 구축하는 것뿐이며 거기에는 대상 변수가 전혀 없습니다.

 #установка пакета, нужно выполнить один раз и перезапустить R
source( "https://bioconductor.org/biocLite.R" )
biocLite( "pcaMethods" )        

#создание pca объекта
library (pcaMethods)
browseVignettes( "pcaMethods" ) #хелп файлы
data(metaboliteDataComplete)
mdC <- prep(metaboliteDataComplete, scale= "none" , center= TRUE )
resNipals <- pca(md, method= "nipals" , center= FALSE , nPcs= 5 )

이것은 metaboliteDataComplete 테이블을 구문 분석하기 위해 5개의 주요 구성 요소가 있는 resNipals(반복 부분 최소 제곱에 의한 비선형 추정) 개체를 생성합니다. metaboliteDataComplete 대신 자체 테이블을 예측 변수로 대체할 수 있습니다. 여기에 대상 변수를 제공하지 않는 것이 중요합니다. 나중에 사용됩니다.

그러나 이것은 다른 차트를 검토하여 변수 간의 관계를 분석하기에 충분합니다. 예측 모델을 생성하기 위해 주성분 PC1, PC2, PC3, PC4, PC5를 입력 변수(x1,x2,x3,...)로 사용하는 선형 회귀 모델이 구축됩니다. 그리고 목표 변수 Y는 이미 필요한 결과로 선형 모델에 공급됩니다. 문제는 resNipals가 pcaMethods 패키지의 일종의 "pcaRes" 클래스 개체라는 것입니다. 그와 함께이 모든 것을 수행하는 방법은 도움말에서 찾지 못했습니다.

캐럿 패키지의 PCA 모델이라면 다음과 같을 것입니다.

#http: //www.win-vector.com/blog/2016/05/pcr_part2_yaware/ (раздел Is this the same as caret::preProcess?)
newVars <- colnames(resNipals)
resNipals$y <- dTrain$y   #"y" в данном случае это название колонки с целевой переменной, dTrain - исходная таблица с данными
modelB <- lm(paste( 'y' ,paste(newVars,collapse= ' + ' ),sep= ' ~ ' ),data=resNipals)
print(summary(modelB)$r.squared)
#дальше нужно использовать функцию predict(modelB, newdata = <таблица с валидационной выборкой>) для прогноза на новых данных

그러나 이것은 resNipal에서는 작동하지 않습니다. 이론적으로 pcaMethods 패키지에는 이 개체를 사용하기 위한 자체 기능이 있어야 하지만 아무 것도 찾지 못했습니다.

사유: