Machine learning in trading: theory, models, practice and algo-trading - page 1323

 

About boosting - there was a newer lecture (in python with catbust as an option) with the same lecturer - I can't find it


 
Aleksey Vyazmikin:

Catbust has more settings, it is a continuation of the development of the idea of XGBoost, the main plus and at the same time minus is the fixed-dimension trees, which prevent retraining if their number is not large.

....

Purely technical question. Suppose we have 3 predictors - x1, x2, x3. We also know that x1-x2, x1-x3, x2-x3 are also predictors and generate conditions. As far as I am familiar with trees, these additional predictors must also be fed into the model.

But things are a bit worse, the predictors are some a11*x1-b2*x2, a12*x1-a3*x2, etc., generating something like systems of equations. I don't know the coefficients, of course. More complex combinations of predictors are also possible, these are given only as an example.

NS can handle such things (linear combinations of predictors, and even non-linear ones) and I don't have to get sophisticated, so we input only x1, x2 and x3 without bothering.

With trees in such cases, what to do? I haven't found anything really vivid on this subject. Or will the trees do it by themselves?

 

Master class on CatBoost - there are links to download code by video to work in python


 
Yuriy Asaulenko:

Purely technical question. Suppose we have 3 predictors - x1, x2, x3. We also know that x1-x2, x1-x3, x2-x3 are also predictors. As far as I am familiar with trees, these additional predictors should also be fed into the model.

But the case is somewhat worse, the predictors are some a11*x1-b2*x2, a12*x1-a3*x2, etc. I don't know the coefficients, of course. More complex combinations of predictors are possible, these are given only as an example.

NS copes with such things (linear combinations of predictors) and I don't need to get sophisticated, and we feed only x1, x2 and x3 to the inputs, without bothering.

What to do with trees in such cases? I haven't found anything really vivid on this subject. Or will the trees do it on their own?

Theoretically, the tree can describe a function, but it will get a plot with coefficients (x), when you change it, but keeping the function itself, the tree will not be as effective, because it remembers the event field constants. These are my thoughts, maybe I'm wrong. For such problems, it is better to use NS and give the tree some already prepared function answer, which will not change the logic of interpretation depending on changes of function arguments. That is why it is preferable to give the tree a limited set of arguments.

Just a change in these x's will lead to the need to retrain the model.

In general, if the arguments of the function are in a known range, which is represented by the training sample, then the tree should do the job. But this is a regression problem, not a classification problem.
 
Aleksey Vyazmikin:

Theoretically, the tree can describe a function, but it will get a plot with coefficients (x), when you change which, but keeping the function itself, the tree will not be so effective, because it remembers the event field with constants. These are my thoughts, maybe I'm wrong. For such problems, it is better to use NS and give the tree some already prepared function answer, which will not change the logic of interpretation depending on changes of function arguments. That is why it is preferable to give the tree a limited set of arguments.

Just a change in those x's will lead to the need to retrain the model.

I work with NS, it's understandable. The appeal of trees is that they generate logic, like if...then.... which, in general, is necessary - the output should be a yes/no decision. But it seems, that even with this kind of logic, trees can not cope, even if we give them all this as input.

Сs11=PredTraid==[] and Stoch[0][i] > Stoch[1][i]+0.3 and Stoch[0][i-1] <= Stoch[1][i-1]
 
Yuriy Asaulenko:

I work with NS, I understand them. The appeal of trees is that they generate logic, like if...then.... which, in general, is necessary - the output should be a yes/no decision. But it seems that trees can no longer cope with this kind of logic, even if we give them all this as input.

It is necessary to feed them and see - make samples and check them.

 
Aleksey Vyazmikin:

You have to file and look - take samples, and check it out.

Nah, unfortunate example. This one will do).

 
Yuriy Asaulenko:

Nah, that's not a good example. They can handle it).

Of course they will, it's just that the NS gets formulas at the expense of neurons, while trees only get interpretation of calculation results. I think if you draw a primitive, which is difficult to describe with functions, e.g. a house from a child's drawing, it would take a long time for the NS to find it, while the tree would quickly determine the coordinates of this object and just turn them into vectors. But if you change the scale, the tree will not be able to determine this house, but the NS should determine the idea.

 
Aleksey Vyazmikin:

Master class on CatBoost - there are links to download code by video to work in python


nice and well explained.

 
Maxim Dmitrievsky:

Good, it's well explained.

Yes, the basic settings are well given there, especially if you start in python right away. But this is not enough for me.

Reason: