Discussion of article "Gradient Boosting (CatBoost) in the development of trading systems. A naive approach" - page 2

 
Maxim Dmitrievsky:

It's better to ask the developers

I don't like videos, because to get an answer to a specific question you have to listen to a lot of nonsense, and it's not certain that the answer will actually be found. Of course, I read the textual introductory documentation of the developers, but this very nuance on the choice of breakdown based on the histogram they elegantly "jumped", although everything else is quite thorough.

 
Good article .... certainly
 
Aleksey Vyazmikin:

Trees are constructed independently of each other, and then counting is done in leaves (enumerating over the detrended predictors) in such a way that the gradient error is reduced.

When selecting predictors for tree construction and tree splits, random coefficients are used, which makes it possible, in theory, to increase completeness (Recall) and prevent overtraining.

None of this answers the question in any way.

For example, there is a page - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus

On it is the phrase:

The search for the best split now is just a computation of histograms, shown in figure 6.

This is where the question arises: the computation of histograms is clear, but how to get to the "best split" after it? In any terms: in general words, pseudocode, formula.

CatBoost Enables Fast Gradient Boosting on Decision Trees Using GPUs
CatBoost Enables Fast Gradient Boosting on Decision Trees Using GPUs
  • catboost.ai
Machine Learning techniques are widely used today for many different tasks. Different types of data require different methods. Yandex relies on Gradient Boosting to power many of our market-leading products and services including search, music streaming, ride-hailing, self-driving cars, weather prediction, machine translation, and our...
 
I have nothing against other authors of articles on MoD, but, imho, the author of this article presents the material as in a good textbook, which you need to read and have a desire to read.... Respect and respect.
 
Stanislav Korotky:

None of this answers the question in any way.

For example, there is a page - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus

It says:

This is where the question arises: the histogram calculation is clear, but how to get to the "best split" after it? In any terms: in general words, pseudocode, formula.

By splitting the data by column, we calculate how much the block on the right and left became cleaner from impurities of another class.

Of all the splits across all columns, the one that gives the best purity is chosen. (Sometimes called as impurity reduction.)

There are different cleanliness/impurity formulas, there is one that improves cleanliness in both blocks at once, there is one that looks for 1 block as clean as possible.

The cleanest division is when only examples of one class are left on the left and the other on the right.

 
How is random sampling better than a constant?
 
Rorschach:
How is random sampling better than a constant?

You can get different number of trades, different combinations of trades over time.

I originally did it for bruteforce.

 

That's funny, I thought if the expectation is so low, it's a tester grail. I ran it on Saber, on a custom symbol, almost the same result.

Checked 17, similar uptrend, it's draining.

Is it such a lucky piece of history or can you get such a picture for the past years too? I know it's losing on the test, but it was a completely different market there.

 
Stanislav Korotky:

This is where the question arises: the histogram calculation is clear, but how to get to the "best split" after it? In any terms: in general words, pseudocode, formula.

I assume that we have a calculation for each split, and then there is a summation of ranges, and we get a matrix from which the largest value is selected - the split accuracy.

In general, their code is open, if you understand C++ well, you can tell the details to everyone interested!

 

Maxim, thanks for the article!

Does crossvalidation have an effect?

Have you tried to take different returns from a hundred different-period mashes?