1
$\begingroup$

Imagining in my train data I have 3 target variables y1, y2 and y3, all binary. My main goal though, is to predict the final variable Y = y1 * y2 * y3.

What should be the approach of a model when dealing with this kind of target variable, that I can decompose into different ones?

  • Should I try to predict y1, y2, y3, then calculate Y and pass it to a loss function

  • Should I try to predict Y standalone and ignore y1, y2 and y3?

  • Should I try to predict the 4 of them and penalize my model when Y != y1 * y2 * y3 ?

$\endgroup$
3
  • $\begingroup$ Please don't cross post: ai.stackexchange.com/questions/8601/… $\endgroup$ Commented Oct 24, 2018 at 16:14
  • $\begingroup$ Thanks a lot for your answer. Where shall I will delete the other post. I am never sure where my question will have most views $\endgroup$
    – Skinish
    Commented Oct 24, 2018 at 16:14
  • $\begingroup$ You could ask in chat or meta . . . but the best thing to do is give it some time - if you get no response after a few days then try elsewhere if you must. There is a general understanding that Cross-Validated, Data Science and AI have a lot of overlap . . . even the experts are not sure what to do about that at this stage. $\endgroup$ Commented Oct 24, 2018 at 16:16

1 Answer 1

1
$\begingroup$

It is not possible to predict outcomes of ideas like this with certainty. Too much depends on the specifics of your problem and dataset. You will have to do the experiments yourself. With a decent auto-differentiation engine like TensorFlow or PyTorch, you could try all your different ideas really quickly, with a few variations.

Here is what I think will happen from an intuitive guess:

Should I try to predict y1, y2, y3, then calculate Y and pass it to a loss function

I think this has potential to be the strongest model, as it incorporates knowledge that you have of the problem into the structure of your model, whilst not adding more hyperparameters. This may also allow you to use less parameters to achieve the same accuracy, plus may work as a form of regularisation.

Should I try to predict Y standalone and ignore y1, y2 and y3?

This should be considered the default/benchmark model, and you will want to run that anyway. If you only make one model, make this one.

If you run comparisons, you will want to compare best model of this type with best model(s) of other types. Don't just try the same network with an altered top layer to change the prediction mechanism - that will not explore your idea well enough to give you an answer.

Should I try to predict the 4 of them and penalize my model when Y != y1 * y2 * y3 ?

I expect this would be the hardest to train. Although it may still add some regularisation effect, your problem is that the "best" model in this category may rate consistency over accuracy - you will need to play with different weightings of the penalty metric to find a compromise loss function.

Remember to use cross-validation and test data in order to search parameters and get fair unbiased measures of performance of the best model from each of the approaches at the end.

$\endgroup$
2
  • $\begingroup$ Thank you for your thoughts. Do you know any scientific papers in this direction? $\endgroup$
    – Skinish
    Commented Oct 24, 2018 at 16:16
  • $\begingroup$ @Skinish: I'm not sure if there are any papers covering this topic specifically. I doubt a whole paper would be dedicated to it, although you may find papers which suggest specific models because like you, they face a problem which has some reliable sub-component that could be included. $\endgroup$ Commented Oct 24, 2018 at 16:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.