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

 
Maxim Dmitrievsky #:

You can check it out for yourself, I've developed a bit of a kozul theme so you don't get bored.

Clearly, you have a reinterpreted and overloaded (in the programming sense) concept of a tritment. Originally, it's a much simpler and unambiguous thing. Couldn't such an extended notion lead to overlearning? In the sense that more flexibility can always lead to it.

 
Aleksey Nikolayev #:

Clearly, you have a reinterpreted and overloaded (in the programming sense) notion of a tritment. Initially, it is a much simpler and unambiguous thing. Couldn't such an extended notion lead to overlearning? In the sense that more flexibility can always lead to it.

I don't know, I eat McDonald's :) Probably. I was just skimming the material offered, from all angles.
 
mytarmailS #:

packages are good, but you have to know what you're doing first.


chat response about kozuli methods


There are several methods that are used for causal inference. Some of the most common methods include:

  1. Randomised controlled experiments: This is a method that is used to identify causal relationships in complex environments. It involves complete control over the assignment mechanism and the assignment israndom1.
  2. Observational data: This method is used when experiments are not possible or practical. It involves analysing data collected from natural sources such as surveys or administrativerecords1.
  3. Instrumental variables: This method is used to identify causal relationships when there are problems with endogeneity or lack ofdata1.
  4. Propensity matching: This method is used to compare groups with similar characteristics to remove the impact ofconfounding1.
  5. Difference-in-difference estimator: This method is used to analyse changes over time and betweengroups1.

These are just a few of the many methods that are used for causal inference. Each method has its own advantages and disadvantages, and the choice of method depends on the particular situation and the data available.


tell me about point 1

Randomised controlled experiments, also known as randomised controlled trials (RCTs), are a powerful method for identifying cause and effect relationships. In an RCT, participants are randomly divided into two or more groups. One group receives an intervention (such as a medication) and the other group receives a placebo or standard treatment. Researchers then compare the results between the groups to determine if there is a difference in outcomes.

The main advantage of RCT is that randomly assigning participants to groups helps eliminate bias and confounding. This means that any differences in outcomes between groups can be attributed to exposure rather than other factors.

However, RCTs are not always possible or practical. For example, they may be expensive, require a large amount of time and resources, or be ethically unacceptable. In these cases, researchers may use other methods of causal inference.


======================================

Are you doing this? It's a phyche selecta boruta by the looks of it.


Well about meta lerners ask and orthogonal learning, it's all in the book though. And cross fitting.
 
Maxim Dmitrievsky #:
Well about meta lerners, ask about orthogonal learning, it is in the book after all

Meta-learning is an approach to machine learning that allows algorithms to quickly adapt to new tasks based on previous experience.In the context of causal inference,meta-learning can be used to reuse predictive models for causalinference1.

All predictive models such as linear regression, boosted decision trees, neural networks or Gaussian processes can be adapted for causal inference using the approaches described in this chapter. Thus ,the success of meta-learning depends on the quality of the predictive models used and how well they are adapted to the causal inferencetask1.

This is a fairly new and actively developing area of research, and there are many different approaches to meta-learning in the context of causal inference.

========================

Orthogonal learning is an approach to machine learning that is used to improve causal inference. One example of orthogonal learning is Double Machine Learning proposed by Chernozhukov et al. 1. This method uses a two-stage estimator that first orthogonalises the effect of high dimensional confounding factors using sophisticated machine learning algorithms includingLasso2.

Orthogonallearning is also used in other causal inference methods such as Orthogonal RandomForest1. This algorithm combines dual machine learning with generalised random forests to statistically estimate conditional moment models using random forests.

In general, orthogonal learning improves the accuracy and robustness of causal inference by removing the influence of confounding factors and reducing the sensitivity to errors in parameter estimation.

 
Aleksey Nikolayev #:

Clearly, you have a reinterpreted and overloaded (in the programming sense) notion of a tritment. Initially, it is a much simpler and unambiguous thing. Couldn't such an extended notion lead to overlearning? In the sense that more flexibility can always lead to it.

Maxim wrote above - it doesn't work on OOS, which is a major sign of model overtraining.

By its meaning, as I understand it, a model is taken, the results of which are tried to be refined in order to reduce the error.

But the source of error in OOS is the data itself, when the same predictor values predict different classes in different situations. This flaw in predictors cannot be fixed by any mathematical exercise, you cannot fix rubbish, but on rubbish you can get a very small training error because the algorithm will find "convenient" data and show a good result. But on new data the result is deplorable, because it has its own rubbish.

At the same time, the problem of using cajual is seen in the following way.

Suppose we have predictors, 50% of which values predict one of the classes, and the other 50% predict randomly any class.

We fit the model and get the classification error.

Now the question is: is this classification error it consistent with the partitioning of predictor values or not? If it can be improved, then it is cajual, and if it cannot, then by no means NOT cajual, as we get over fitting of the model.

 
Maxim Dmitrievsky #:
Yeah. You can drop the tritment variable from the list and make an enhancer without it. I can't do it with it. And to get an unbiased estimate, you do cross fitting.
.

I was just the same way in these definitions, so don't worry :)

It's not a question of terminology, it's a question of what it is and how to apply it...

Double Machine Learning is a technique that is used to evaluate causal relationships in data

1) What to estimate?

2) Well, I have estimated it and then what?

 
mytarmailS #:

It's not a question of terminology, it's a question of what it is and how it's applied.

Double Machine Learning is a technique that is used to evaluate cause and effect relationships in data

1) Evaluate what?

2) Well, you have estimated it and then what?

Next, you can transform the targets and get the weights, I've already written. They will be unbiased. Most of the kozuli about unbiased estimations.


 
It turns out to be like the one about the elephant and the wise men. The book has everything in it, they require on their fingers to do a retelling on the forum to realise it's an elephant.
 
Aleksey Nikolayev #:

There, in the article, on page 10, there is an implementation in the form of pseudocode. On the penultimate page, in the appendix, there are references to the implementation in R and to the data used in the article.

The pseudocode refers to formulas :)

As for the R code - thanks - missed it. I take it that there as function code, but the code itself, such as reading from a file, is commented out?

# --- Read in data --- 

# > arson = read.csv("arson.csv")
# > i = with(arson, day <= 731)
# > arson1 = arson[i,]
# > arson2 = arson[!i,]
# > arson2[,"day"] = arson2[,"day"] - 731

Haven't figured out how to make it work yet. Did you get it to work?

Aleksey Nikolayev #:

How, in general terms, do you implement decision trees in mql5? Through arrays or templates?

I have not implemented tree building in MQL5 before - Forester has more experience here.

However, I think I would use vectors and matrices in addition to arrays - the code is faster with them. Also, as I understand it, since it requires a complete enumeration, it will be possible to use OpenCL.

But I don't know what "templates" are in this context :(

Since there is code in R, it's reasonable to understand at the beginning whether it all makes sense or not.

The sample from the article uses a small number of predictors, I have an order of magnitude more of them and of course they are less informative individually.

In general, I am interested in using it not just to compare two samples, but to detect anomaly in the data - I think this is the way to go.

The idea is that we have groups of leaves, even if they are similar, and if we see anomalous behaviour of one predictor, we simply disable all leaves that use it, while checking for correlation with leaves from the group. Ideally, if detected in time, this will allow the model to continue to run, albeit with less confidence.

 
Working with perdictors is a Sisyphean labour and an attempt to understand eternal infinity. You have already extracted so many of them from one curve that it is enough for your descendants :) Alexei has already split them into atoms. There just have to be enough of them. I have always said that and my opinion has not changed.
Reason: