Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1486
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
typedef struct
{
double dist;
double* vector;
} distvect;
int distvectcomp(distvect *v1, distvect *v2)
{
if (v1->dist == v2->dist) return 0;
double sub = v1->dist - v2->dist;
return sub / fabs(sub);
}
double* parsen(dataset inputs, dataset outputs, int k, double kernel(double), double vector[])
{
distvect* dvarr = malloc(inputs.length * sizeof(distvect));
for (int i = 0; i < inputs.length; ++i)
{
double dist = 0;
for (int j = 0; j < inputs.dimentions; ++j) dist += pow(vector[j] - inputs.data[i][j], 2);
distvect dv = { dist, outputs.data[i] };
dvarr[i] = dv;
}
qsort(dvarr, inputs.length, sizeof(distvect), distvectcomp);
double *res = calloc(outputs.dimentions, sizeof(double));
double W = 0;
for (int i = 0; i < k; ++i)
{
if (dvarr[i].dist == 0) continue;
double w = kernel(dvarr[i].dist);
W += w;
for (int d = 0; d < outputs.dimentions; ++d)
res[d] += dvarr[i].vector[d] * w;
}
for (int d = 0; d < outputs.dimentions; ++d) res[d] /= W;
free(dvarr);
return res;
}
В смысле? что это за огрызок SVM
да не, какой же это svm это "парзеновское окно", ядерное сглаживание, а "квазиоптимальный" в смысле что почти идеальный(у Митчела где то было), но только очень медленный, каждая иттерация - сортировка всего датасета к новой точке и свёртка с ядром
Я вот не пойму, почему нет алгоритмов для построения дерева, которые бы учитывали равномерность распределения сигнала по всей выборки при построении дерева?
Может как то это реализуем, ведь для трейдинга это критически актуально.
Оценку листьев я делаю с учетом этого распределения, но если бы дерево строилось с его учетом, то эффективных листьев/деревьев было бы значительно больше.Я вот не пойму, почему нет алгоритмов для построения дерева, которые бы учитывали равномерность распределения сигнала по всей выборки при построении дерева?
Может как то это реализуем, ведь для трейдинга это критически актуально.
Оценку листьев я делаю с учетом этого распределения, но если бы дерево строилось с его учетом, то эффективных листьев/деревьев было бы значительно больше.Предложите лучший алгоритм.
Не буду утверждать, но не исключаю, что зря ты деревца обрезкой мучаешь.
В юности я считал бонсай издевательством над природой, но когда стал родителем - понял, всю глубину идеи.
Там перед каждым делением, происходит сортировка данных по фиче (что перемешивает их по времени), делится (по середине или по квартилям), запоминается уменьшение ошибки, повторяется для всех фич. Самое лучшее разделение становится узлом.
Предложите лучший алгоритм.
Вот и нужно давать оценку в момент сортировки предикторов и их значений и не брать те предикторы со значениями (диапазонами), которые скучковались очень сильно, а давать предпочтение тем, что распределены по всей выборке.
Т.е. нужно оценивать частоту повторения сплита по выборке, а не только его абсолютную повторяемость.Вот и нужно давать оценку в момент сортировки предикторов и их значений и не брать те предикторы со значениями (диапазонами), которые скучковались очень сильно, а давать предпочтение тем, что распределены по всей выборке.
Полагаю вам форвард нужен равномерный? Про форвард лес ничего не знает при обучении\
Ну на бэктесте всегда все очень хорошо выглядит)
Полагаю вам форвард нужен равномерный? Про форвард лес ничего не знает при обучении\
Оценка должна быть на двух выборках, участвующих в обучении.