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

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

Проводить тесты yf исходной котировке бессмысленно, так как на глаз видно, что ряд не стационарен.

А интересны (не для меня - я этим пользуюсь всегда) графики для временного ряда log(p/p-1).

Что там? И конечно нужна шкала по оси ординат.

Шкалу я не использовал чтобы уместить по два графика в одну рамку, для сохранения места, но координаты по Y у них были изначально разные.

Результат совсем другой чем в прошлый раз, вот самые интересные графики, остальные в архиве чтоб по 10 картинок сюда не лепить. Но с графиком энтропии вышло совсем неинтересно.

В атаче скрипт, в R-Studio можно историю всех plot графиков прокручивать туда-обратно

ой, снова опечатка в коде, переатачил .тхт файлик

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


Обсуждали главные компоненты и Вы видели недостаток, что алгоритм без учителя.

Вот с учителем:

Пакет spls

Спасибо, по описанию в cran я даже и не догадался бы (Sparse Partial Least Squares (SPLS) Regression and Classification)

 
Dr. Trader:

Шкалу я не использовал чтобы уместить по два графика в одну рамку, для сохранения места, но координаты по Y у них были изначально разные.

Результат совсем другой чем в прошлый раз, вот самые интересные графики, остальные в архиве чтоб по 10 картинок сюда не лепить. Но с графиком энтропии вышло совсем неинтересно.

В атаче скрипт, в R-Studio можно историю всех plot графиков прокручивать туда-обратно

ой, снова опечатка в коде, переатачил .тхт файлик

Замечательные картинки!

По arch-тесту можно судить, что существуют участки, на которых работают модели  arima. Но проблема всегда одна: мы все очень умные на истории и узнаем мы, что можно пользоваться аримой только после того, как ее проехали! И так со всеми нашими теориями: крепки задним умом.

 
Dr. Trader:

В догонку к этому - https://www.mql5.com/ru/forum/86386/page643#comment_6472393  


Функция для отсева предикторов random.forest.importance() показала вполне достойные результаты на некоторых тестах. Неудобно что по её мнению вообще все предикторы хоть немного но важны.. , но если например посчитать среднюю важность, и взять только те предикторы что важны выше среднего - получается очень хороший результат.

какой там Importance? Gini или Permutation (MDA)

П.с. вот еще есть методы, мб попробуете тоже сравнить http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

Selecting good features – Part IV: stability selection, RFE and everything side by side
  • 2014.12.20
  • blog.datadive.net
In this post, I’ll look at two other methods: stability selection and recursive feature elimination (RFE), which can both considered wrapper methods. They both build on top of other (model based) selection methods such as regression or SVM, building models on different subsets of data and extracting the ranking from the aggregates. As a wrap-up...
 
Dr. Trader:

Нашёл ещё один интересный пакет для отсева предикторов. Называется FSelector. Предлагает около десятка методов для отсева предикторов , в том числе с помощью энтропии.

Файл с предикторами и таргетом взял отсюда - https://www.mql5.com/ru/forum/86386/page6#comment_2534058


Оценку предиктора каждым методом я в конце показал на графике - 

Синенький цвет это хорошо, красненький - плохо (для corrplot результаты были масштабированы в [-1:1], для точной оценки смотрите результаты вызова самих функций cfs(targetFormula, trainTable), chi.squared(targetFormula, trainTable), итд)
Видно что X3, X4, X5, X19, X20 хорошо оценены почти всеми методами, для начала можно взять их, потом пробовать добавить/убрать ещё.

Однако, модели в rattle не прошли тест с этими 5 предикторами на Rat_DF2, чуда опять не произошло. Т.е. даже с оставшимися предикторами нужно подбирать параметры модели, делать кроссвалидацию, самому добавлять/убирать предикторы.

FSelector пришел из WEKA, значить использует Java. Памяти жрет не меряно. Лучше использовать FSelectorRcpp.

Удачи

 

Вот ещё энтропия(цена) и archTest(log(p/p-1)) одновременно. На глаз вроде не коррелируют, я каких-то сигналов не вижу. У кого глаз намётан на индикаторы - может заметит что-нибудь.


 
Maxim Dmitrievsky:

какой там Importance? Gini или Permutation (MDA)

Есть 2 типа на выбор -
1=mean decrease in accuracy (наверное это и есть mda, сходится по первым буквам)
2=mean decrease in node impurity

 
Dr. Trader:

Есть 2 типа на выбор -
1=mean decrease in accuracy (наверное это и есть mda, сходится по первым буквам)
2=mean decrease in node impurity

ага, он, пасиб, второй mdi

 
Dr. Trader:

Вот ещё энтропия(цена) и archTest(log(p/p-1)) одновременно. На глаз вроде не коррелируют, я каких-то сигналов не вижу. У кого глаз намётан на индикаторы - может заметит что-нибудь.


да обычный индикатор волатильности получается )

а арч тест не понятно что показывает

 

Смотрю, несомненный интерес к оценки важности предикторов.

Самая разнообразная система - это в пакете CORElearn (в свое время мне его настойчиво рекомендовал Vladimir Perervenko)

Имеет несколько функций для оценки.

На первом этапе это функция:

ordEval(formula, data, file=NULL, rndFile=NULL,
variant=c("allNear","attrDist1","classDist1"), ...)

ordEval вычисляет результирующие вероятностные факторы, соответствующие эффекту увеличение/уменьшение значимости атрибута для класса.
Алгоритм оценивает строго зависимые упорядоченные атрибуты, в которых значения отдельных атрибутов зависят от других атрибутов в разной манере.

На втором этапе функция

attrEval(formula, data, estimator, costMatrix = NULL, ...)

estimator       Имя метода оценки. Ниже 37 имен.

[1]     "ReliefFequalK"      "  ReliefFexpRank" "ReliefFbestK"  "Relief"
[5]     "InfGain"            "GainRatio"        "MDL"            "Gini"
[9]     "MyopicReliefF"      "Accuracy"         "ReliefFmerit"  "ReliefFdistance"
[13]    "ReliefFsqrDistance"    "DKM"           "ReliefFexpC"   "ReliefFavgC"
[17]    "ReliefFpe"          "ReliefFpa"        "ReliefFsmp"    "GainRatioCost"
[21]    "DKMcost"            "ReliefKukar"      "MDLsmp"        "ImpurityEuclid"
[25]    "ImpurityHellinger"     "UniformDKM"    "UniformGini"   "UniformInf"
[29]    "UniformAccuracy"       "EqualDKM"      "EqualGini"     "EqualInf"
[33]    "EqualHellinger"        "DistHellinger" "DistAUC"       "DistAngle"
[37]    "DistEuclid"                     


Дополнительный параметр costMatrix может включить неоднородную матрицу стоимости для классификаций, чувствительных к стоимости мер 
(ReliefFexpC, ReliefFavgC, ReliefFpe, ReliefFpa, ReliefFsmp, GainRatioCost, DKMcost, ReliefKukar и MDLsmp). 



Как видите, море разливанное для упражнений в области определения важности предикторов.

Причина обращения: