Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 91

 

пакет который умеет отбирать ВР которые можно прогнозировать а которые нет, если я правильно понял

http://www.gmge.org/2012/05/foreca-forecastable-component-analysis/ 

 http://www.gmge.org/2015/01/may-the-forec-be-with-you-r-package-foreca-v0-2-0/

ForeCA: Forecastable Component Analysis
  • 2012.05.22
  • Georg
  • www.gmge.org
Forecastable component analysis (ForeCA) is a novel dimension reduction (DR) technique to find optimally forecastable signals from multivariate time series (published at JMLR). ForeCA works similar to PCA or ICA, but instead of finding high-variance or statistically independent components, it finds forecastable linear combinations. ForeCA is...
 
Vizard_:
И все желающие. В архиве z1 два файла train и test. Для Target построить модель на train, применить на test, выложить результаты в % (удачно предсказанных
случаев) для обоих выборок(train = хх%, test = хх%). Методы и модели озвучивать не нужно, лишь цифры. Допускается использование любых манипуляции с данными
и методов добычи.

1. Все Ваши предикторы не обладают предсказательной способностью - все без исключения являются шумом

2. Построены три модели: rf, ada, SVM. Вот результаты 

rf

Call:

 randomForest(formula = TFC_Target ~ .,

              data = crs$dataset[crs$sample, c(crs$input, crs$target)],

              ntree = 500, mtry = 3, importance = TRUE, replace = FALSE, na.action = randomForest::na.roughfix)


               Type of random forest: classification

                     Number of trees: 500

No. of variables tried at each split: 3


        OOB estimate of  error rate: 49.71%

Confusion matrix:

      [0, 0] (0, 1] class.error

[0, 0]   197   163   0.4527778

(0, 1]   185   155   0.5441176 

 

ada 

 Call:

ada(TFC_Target ~ ., data = crs$dataset[crs$train, c(crs$input, 

    crs$target)], control = rpart::rpart.control(maxdepth = 30, 

    cp = 0.01, minsplit = 20, xval = 10), iter = 50)


Loss: exponential Method: discrete   Iteration: 50 


Final Confusion Matrix for Data:

          Final Prediction

True value (0,1] [0,0]

     (0,1]   303    37

     [0,0]    29   331


Train Error: 0.094 


Out-Of-Bag Error:  0.157  iteration= 50 

SVM

Summary of the SVM model (built using ksvm):


Support Vector Machine object of class "ksvm" 


SV type: C-svc  (classification) 

 parameter : cost C = 1 


Gaussian Radial Basis kernel function. 

 Hyperparameter : sigma =  0.12775132444179 


Number of Support Vectors : 662 


Objective Function Value : -584.3646 

Training error : 0.358571 

Probability model included. 


Time taken: 0.17 secs

На тестовом наборе (в смысле rattle, а не Вашем)

Error matrix for the Ada Boost model on test.csv [validate] (counts):


       Predicted

Actual  (0,1] [0,0]

  [0,0]    33    40

  (0,1]    35    42


Error matrix for the Ada Boost model on test.csv [validate] (proportions):


       Predicted

Actual  (0,1] [0,0] Error

  [0,0]  0.22  0.27  0.55

  (0,1]  0.23  0.28  0.45


Overall error: 50%, Averaged class error: 50%


Rattle timestamp: 2016-08-08 15:48:15 user

======================================================================

Error matrix for the Random Forest model on test.csv [validate] (counts):


       Predicted

Actual  [0,0] (0,1]

  [0,0]    44    29

  (0,1]    44    33


Error matrix for the Random Forest model on test.csv [validate] (proportions):


       Predicted

Actual  [0,0] (0,1] Error

  [0,0]  0.29  0.19  0.40

  (0,1]  0.29  0.22  0.57


Overall error: 49%, Averaged class error: 48%


Rattle timestamp: 2016-08-08 15:48:15 user

======================================================================

Error matrix for the SVM model on test.csv [validate] (counts):


       Predicted

Actual  [0,0] (0,1]

  [0,0]    41    32

  (0,1]    45    32


Error matrix for the SVM model on test.csv [validate] (proportions):


       Predicted

Actual  [0,0] (0,1] Error

  [0,0]  0.27  0.21  0.44

  (0,1]  0.30  0.21  0.58


Overall error: 51%, Averaged class error: 51%


Rattle timestamp: 2016-08-08 15:48:15 user 

 

ROC-анализ для randomforest

 

Подтверждает выше приведенное. 

 

Вывод.

Ваш набор предикторов безнадежен. 

 

 
Alexey Burnakov:То есть, обучаем до посинения лучшую модель на train. Может, две-три модели. Потом их однократный тест на test. 
Да, в условиях именно это и озвучено(построить модель на train, применить на test).
 
mytarmailS:

пакет который умеет отбирать ВР которые можно прогнозировать а которые нет, если я правильно понял

Почитал, судя по описанию это очень хороший пакет (ForeCA, даже есть в репозитории R, не нужно что-то с гитхаба качать). Главная возможность - выставляет оценку "прогнозируемости" данным.
И плюс к этому, что тоже важно - можно применять для уменьшения размерности данных. То есть из имеющихся предикторов этот пакет сделает два новых, с удивительно хорошей прогнозируемостью. При этом отсеет мусор, итд. Чем-то напоминает метод главных компонент, только вместо компонент он выдаст что-то своё.

Если очень просто - даём этому пакету таблицу с кучей предикторов (цены, индикаторы, дельты, всякий мусор, итд). ForeCA выдаст новую таблицу, взамен исходной. Эту новую таблицу используем для обучения предсказательной модели (gbm, rf, nnet, итд).
Если чуть сложнее, то это ещё один пакет для ядерного преобразования данных, с уклоном для биржи.

Всё звучит великолепно, прямо граально, даже слишком, нужно таки проверить.

 
mytarmailS:

пакет который умеет отбирать ВР которые можно прогнозировать а которые нет, если я правильно понял

http://www.gmge.org/2012/05/foreca-forecastable-component-analysis/ 

 http://www.gmge.org/2015/01/may-the-forec-be-with-you-r-package-foreca-v0-2-0/

Чрезвычайно любопытно.

Пакет устанавливается, документация имеется.

Может быть кто-нибудь попробует и выложит результат? 

 
Dr.Trader:

Почитал, судя по описанию это очень хороший пакет (ForeCA, даже есть в репозитории R, не нужно что-то с гитхаба качать). Главная возможность - выставляет оценку "прогнозируемости" данным.
И плюс к этому, что тоже важно - можно применять для уменьшения размерности данных. То есть из имеющихся предикторов этот пакет сделает два новых, с удивительно хорошей прогнозируемостью. При этом отсеет мусор, итд. Чем-то напоминает метод главных компонент, только вместо компонент он выдаст что-то своё.

Если очень просто - даём этому пакету таблицу с кучей предикторов (цены, индикаторы, дельты, всякий мусор, итд). ForeCA выдаст новую таблицу, взамен исходной. Эту новую таблицу используем для обучения предсказательной модели (gbm, rf, nnet, итд).
Если чуть сложнее, то это ещё один пакет для ядерного преобразования данных, с уклоном для биржи.

Всё звучит великолепно, прямо граально, даже слишком, нужно таки проверить.

Не уж-то не потребует предварительного отбора?

Мужики, возьмитесь! 

 
СанСаныч Фоменко:

Вывод.

Ваш набор предикторов безнадежен. 

 

Хорошо))) но читаем внимательно условия -
"выложить результаты в % (удачно предсказанныхслучаев) для обоих выборок(train = хх%, test = хх%). Методы и модели озвучивать не нужно, лишь цифры"
Ждем еще результаты. Интересно какие выводы получаться у Mihail Marchukajtes.
 
Vizard_:
Хорошо))) но читаем внимательно условия -
"выложить результаты в % (удачно предсказанныхслучаев) для обоих выборок(train = хх%, test = хх%). Методы и модели озвучивать не нужно, лишь цифры"
Ждем еще результаты. Интересно какие выводы получаться у Mihail Marchukajtes.

test не нужен!

Модель невозможно обучить! Нельзя тестировать пустое место. 

 
Ща попробую..... Только увидел....
 
Dr.Trader:

Почитал, судя по описанию это очень хороший пакет (ForeCA, ..............

мне не понятно каким образом вычисляется эта "прогнозированость" и есть ли в этом какой то смысл если не учитывается целевая
Причина обращения: