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

 
Yury Reshetov:



Может лучше в R интегрировать?

и людей сможет больше работать и mt5 мосты с R вроде есть 

 
Dr.Trader:

Я никогда так не пробовал, но технически можно целевую переменную тоже рассматривать как предиктор, включив её в pca модель. Затем, в новых данных её значение будет неизвестно, соответсвенно pca может дополнить эти недостающие значение. 

Я пробовал предсказывать глав компоненты ничего интересного не получил..

можете тоже попробовать есть очень хороший и хорошо документированый пакет для этого "Rssa" 

 
Dr.Trader:

Нет, всё норм. Поскольку для каждой из главных компонент известны используемые предикторы, то можно смело отсеивать те предикторы которые не используются в главных компонентах.

Что значит не используются? PCA это линейное преобразование. Удаляемые размерности -- те, которые могут быть получены линейной комбинацией других. Это значит что любой предиктор можно получить линейной комбинацией главных компонент. если вы берете 95% интервал, есть хорошая вероятность потерять хороший предиктор тупо из-за масштаба, интервал меньше 100% используется только в сжатии данных с потерей, иначе всегда отсекаются только те компоненты, которые нулевые.

 
mytarmailS:
Блин, я подозревал что не случайно там эти "NA"-шки вбрасываються в дату , но прочитал мануал , там четко написано PCA с нейросетью, но тогда все равно не понятно как этот чел с сайта эту красивую картинку получил с хорошим разделением по классам

Там у картинок другая суть... Сама статья не о классификации, а о кластеризации. Имеются данные, их надо как-то поделить по группам. То есть даже неизвестно сколько групп получится - две, три, десять... Автор использует график первых двух компонент из PCA, где важность в том насколько близко расположены друг к другу точки в одной группе. Цвета - это уже сравнительный анализ, и присваиваются из уже известных целевых переменных, которые не вычислены, а просто взяты готовые из таблицы. Если группы точек правильно распределятся ещё и по цветам - то всё ок, метод вроде как рабочий, можно пробовать его на других данных. Но там в статье реально ноль предсказаний, только кластеризация и сравнение с известным классифицированием.

Похожий график можете нарисовать по статье из ссылки в моём прошлом сообщении. В результате получите график вроде этого: http://i0.wp.com/www.win-vector.com/dfiles/YAwarePCA_files/figure-html/scaledplotest-1.png Тут красивой кластеризации не вышло, другие исходные данные. Но если использовать таблицу iris как исходные данные то получится нечто похожее на графики из статьи которую вы дали. 

 
Комбинатор:
PCA изначально предназначался для уменьшения размерности исходного ряда. Это все. Использовать его для отбора предикторов, это бредовейший бред.
Вы не могли бы опровергнуть ПРЕДМЕТНО содержание статьи, на которую я дал ссылку. На данный момент Dr.Trader: предпринял попытку использовать этот материала. Использовать совершенно конкретно. Результат отрицательный. Может быть в также предметно выскажитесь? 
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
  • Nina Zumel
  • www.r-bloggers.com
In our previous note we demonstrated Y-Aware PCA and other y-aware approaches to dimensionality reduction in a predictive modeling context, specifically Principal Components Regression (PCR). For our examples, we selected the appropriate number of principal components by eye. In this note, we will look at ways to select the appropriate number...
 
mytarmailS:

Может лучше в R интегрировать?

и людей сможет больше работать и mt5 мосты с R вроде есть 

Судя по тому, что Dr.Trader уже обломался при попытке портировать старую версию libVMR в R и у него памяти не хватило для большой ядерной машины, а также полноценной производительности для маленькой (количество циклов сократил в 100 раз), то желающие наступать на те же самые грабли вряд ли найдутся?


Так что, лучше пока не заикаться о портировании под R  подобных задач - эта кляча не потянет.

 
Yury Reshetov:

Судя по тому, что Dr.Trader уже обломался при попытке портировать старую версию libVMR в R и у него памяти не хватило для большой ядерной машины, а также полноценной производительности для маленькой (количество циклов сократил в 100 раз), то желающие наступать на те же самые грабли вряд ли найдутся?


Так что, лучше пока не заикаться о портировании под R  подобных задач - эта кляча не потянет.

Я имел ввиду создать пакет для "R" .

 "R" где то на 70% состоит  из пакетов написаных на "инородных" языках (C++,C,fortran,java...) так что скорость обработки не должна пострадать, или я чего то не понял

 тот же знаменитый пакет "h2o" весь на  java написан 

 
mytarmailS:

Я имел ввиду создать пакет для "R" .

 "R" где то на 70% состоит  из пакетов написаных на "инородных" языках (C++,C,fortran,java...) так что скорость обработки не должна пострадать, или я чего то не понял

 тот же знаменитый пакет "h2o" весь на  java написан 

Не знал. Попробую поискать инструкцию по созданию пакетов на Java.
 
Yury Reshetov:


Более конкретно в файле отчёта:

/**
 * The quality of modeling in out of sample:
 *
 * TruePositives: 182
 * TrueNegatives: 181
 * FalsePositives: 1
 * FalseNegatives: 1
 * Total patterns in out of samples with statistics: 365
 * Total errors in out of sample: 2
 * Sensitivity of generalization abiliy: 99.4535519125683%
 * Specificity of generalization ability: 99.45054945054946%
 * Generalization ability: 98.90410136311776%
 * Indicator by Reshetov: 8.852456238401455
*/

Извините, не верю, слишком граально. Повторите эксперимент пожалуйста? Я приложил ещё один архив, там данные за другой период времени. Обучение модели должно быть на train.csv, тест на test_notarget.csv. Меня интересуют результаты предсказанные для файла test_notarget.csv. Файл для теста не содержит целевую переменную, дабы было честно. Но там внутри есть ещё один запароленный архив с результатами для теста test.csv, я потом в обмен на предсказанные результаты дам пароль для сравнения.

Файлы:
forex_test.zip  2699 kb
 
Комбинатор:

Что значит не используются? PCA это линейное преобразование. Удаляемые размерности -- те, которые могут быть получены линейной комбинацией других. Это значит что любой предиктор можно получить линейной комбинацией главных компонент. если вы берете 95% интервал, есть хорошая вероятность потерять хороший предиктор тупо из-за масштаба, интервал меньше 100% используется только в сжатии данных с потерей, иначе всегда отсекаются только те компоненты, которые нулевые.

Я неточно выразился, но вы правильно поняли. Суть именно в том чтобы взять компоненты достаточные для точности в 95%, а всё остальное отбросить. Пример: допустим есть 10000 предикторов, это значит что может быть создано 10000 компонент для гарантированной точности в 100%. Далее можно отбросить 9900 компонент, останется 100, но точность упадёт всего на 5%, со 100% до 95%. Останется проанализировать оставшихся 100 компонент, и убрать предикторы которые не используются в них. Потери в 5% тут не страшны, ибо важно предсказать целевую переменную, а не воссоздать исходные данные без потерь.
Причина обращения: