Обсуждение статьи "Случайные леса предсказывают тренды" - страница 12

 

Ребята, приветствую! Вашу энергию, да в правильное русло!

Поздравляю, у Вас стратегическая ошибка!

Цитирую первую строку Вашей статьи: "Изначально, целью построения торговой системы является предсказание поведения некоторого рыночного инструмента, например, валютной пары".

Дальше читать статью даже не стал. Лучше изучите ВСЕ методы прогнозирования!

Открою Вам секрет: целью построения торговой системы является "Создание модели (Вашего) поведения".

Не важно что будет делать рынок (лидер), важно что будете делать Вы: И, ИЛИ, НЕ.

Например: И - погоня за лидером (повторение действий лидера).

 

Попробовал установить rattle на линуксе (Кубунту), просто так это не вышло, очень много зависимостей для компиляции кода.

Путём анализа ошибок установки получил такой список пакетов которые нужно установить в самой операционной системе до установки rattle в R:

в консоли - 
$ sudo apt-get install libxml2-dev unixodbc-dev libssl-dev libgtk2.0-dev 

И потом уже можно запускать установку в самом R -
> install.packages("rattle", dependencies=TRUE) 

А если всё равно будет не хватать ещё каких-то *.h файлов для установки rattle - нужный пакет можно найти так
$ sudo apt-get install apt-file
$ apt-file update
$ apt-file search /someheaderfile.h

 

Может это поможет кому-то ещё :) 

 

После обновления опреационки rattle перестал работать, вызов rattle() выдаёт ошибку
Error in method(obj, ...) : Invalid root element: 'requires'

Первый способ который почти помог - запускать rattle с дополнительным параметром
rattle(useGtkBuilder = TRUE)
окно программы хоть и открылось, но кнопки не работали, способ до конца не помог.

Оказалось что версия rattle устанавливаемая с cran устарела, нужно переустановить rattle указав репозиторий разработчиков чтоб получить новую версию.
install.packages("rattle", repos="https://rattle.togaware.com", type="source")
И после этого всё заработало нормально.
 
Подскажите, пожалуйста, что там ставить под виндовс? По русски если можно, а то чтот тут замудрили https://rattle.togaware.com/rattle-install-mswindows.html
 

В статье есть таблица



01MeanDecreaseAccuracyMeanDecreaseGini
MA_eur.5.dif142.9741.8554.86 321.86
EUR.dif337.2146.3851.80177.34
RSI_eur.1437.7040.1150.75254.61
EUR.dif2 24.6631.6438.24110.83
MA_eur.10.dif122.9425.3931.48193.08
CHF.dif3  22.9123.4230.1573.36
MA_chf.5.dif1  21.8123.2429.56135.34


Но ничего не сказано, что значат цифры сами по себе, отношение их к другим цифрам вроде понятно - лучше - лучше, но сами по себе значения какими должны быть и от чего зависят? Вот в статье максимальное значение MeanDecreaseGini 321,86, а у меня 1876 - это зависит от количества предикторов или от чего? А MeanDecreaseAccuracy у меня 140.22 - это как интерпретировать? Может надо просто перевести все значения в процентный показатель от самого большого значения?

 
Aleksey Vyazmikin:

В статье есть таблица



01MeanDecreaseAccuracyMeanDecreaseGini
MA_eur.5.dif142.9741.8554.86 321.86
EUR.dif337.2146.3851.80177.34
RSI_eur.1437.7040.1150.75254.61
EUR.dif2 24.6631.6438.24110.83
MA_eur.10.dif122.9425.3931.48193.08
CHF.dif3  22.9123.4230.1573.36
MA_chf.5.dif1  21.8123.2429.56135.34


Но ничего не сказано, что значат цифры сами по себе, отношение их к другим цифрам вроде понятно - лучше - лучше, но сами по себе значения какими должны быть и от чего зависят? Вот в статье максимальное значение MeanDecreaseGini 321,86, а у меня 1876 - это зависит от количества предикторов или от чего? А MeanDecreaseAccuracy у меня 140.22 - это как интерпретировать? Может надо просто перевести все значения в процентный показатель от самого большого значения?

Это внутренняя статистика использования предикторов при построения кучи деревьев, все вместе называемых randoForest. Сравнивать разные модели вообще не имеет смысла. Мне не удалось сравнивать даже внутри одной модели. Если Вы хотите отобрать предикторы, то нужно пользоваться другими инструментами. Много раз писал на ветке машинного обучения и не я один.

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

Это внутренняя статистика использования предикторов при построения кучи деревьев, все вместе называемых randoForest. Сравнивать разные модели вообще не имеет смысла. Мне не удалось сравнивать даже внутри одной модели. Если Вы хотите отобрать предикторы, то нужно пользоваться другими инструментами. Много раз писал на ветке машинного обучения и не я один.

Понятно, т.е. это оценочный показатель внутри модели, но не абсолютный...

Может, конечно, и писали на фоуме, но тот объем осилить... - итак пол форума читаю через читалку. Если ткнете носом, то буду признателен.

 
Aleksey Vyazmikin:

Понятно, т.е. это оценочный показатель внутри модели, но не абсолютный...

Может, конечно, и писали на фоуме, но тот объем осилить... - итак пол форума читаю через читалку. Если ткнете носом, то буду признателен.

1. Краткого ответа у меня нет, так как это целая отрасль, называется datamining, которая сравнима с моделями

2. Стандартная схема для datamining моделей классификации следующая:

  • определяемся с целевой переменной
  • для ЭТОЙ целевой переменной ищем предикторы
  • определяемся с предсказательной силой предикторов, т.е. часть предиктора должна предсказывать один класс, другая часть - другой класс, чем меньше пересечение, тем лучше предикторы
  • берем пакеты определения важности предикторов. Их много, цепляю файл с обзором

3. Подгоняем модель на первой половине файла желательно с кроссвалидацией

4. Проверяем на второй половине файла. Результативность должна совпасть


Для всего этого необходимо много ГОТОВЫХ инструментов. Лучше всего caret. В нем есть все, что необходимо. Но не достаточно. 


ПС.

Это R. Вне него дальше невнятного детского лепета продвинуться не получится.

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

1. Краткого ответа у меня нет, так как это целая отрасль, называется datamining, которая сравнима с моделями

2. Стандартная схема для datamining моделей классификации следующая:

  • определяемся с целевой переменной
  • для ЭТОЙ целевой переменной ищем предикторы
  • определяемся с предсказательной силой предикторов, т.е. часть предиктора должна предсказывать один класс, другая часть - другой класс, чем меньше пересечение, тем лучше предикторы
  • берем пакеты определения важности предикторов. Их много, цепляю файл с обзором

3. Подгоняем модель на первой половине файла желательно с кроссвалидацией

4. Проверяем на второй половине файла. Результативность должна совпасть


Для всего этого необходимо много ГОТОВЫХ инструментов. Лучше всего caret. В нем есть все, что необходимо. Но не достаточно. 


ПС.

Это R. Вне него дальше невнятного детского лепета продвинуться не получится.

Спасибо, буду изучать дальше!

 
Поставил я RStudio, скачался пакет Boruta, но а как его активировать, как с ним работать?