2
$\begingroup$

I have a model that takes mostly cumulative data, and makes a prediction. It's not baseball, but I'm using this as a pretty accurate analogy. You put in all the totals so far, and it make a prediction of where a target will be in the future.

games_played|runs|runs_against|hits|hits_against|games_won
          20| 100|         120| 200|         240|       10

Expected games won after 5 more games: 12

What I'd like to do is answer questions like "How many runs are we expected to have in N games? And if we had more runs than that, how many more wins would that get us?"

             |games_played|runs|runs_against|hits|hits_against|games_won
          now|          20| 100|         120| 200|         240|       10
    predicted|          25| 120|         150| 240|         300|       12
user_adjusted|          25| 130|         140| 260|         280|       13

The only way I can think of to do this right now is to have many models, one for each feature, and put all the predicted features into one other model. Then users can update individual features. That feels like excess work and prone to errors, but I could be totally wrong. I can't just linearly forecast the features in the future because the relationship is more complex.

What is the algorithm/method/tool that's best suited to this? I'm using scikit-learn right now.

$\endgroup$
1
$\begingroup$

Try these two approaches:

First:

Make a model, using any ML algorithm and divide your data into train and test. Now using the previous features, check the train and test accuracy.

Now add the new features to the previous ones, again divide data into train and test. Check the train and test accuracy.

If the new features help improve the test accuracy then only use them otherwise just skip them.

Second:

Add the new features to the previous dataset and set their values as null/0. So while predicting the results before wont be affected by their values. And later when these features do get values, they will help improve the predictions.

I hope this helps!

$\endgroup$
4
  • $\begingroup$ There aren't any new features added, they just have their values update to make a prediction. $\endgroup$
    – Jungroth
    Feb 13 '20 at 21:13
  • $\begingroup$ Oh! I read that features will be different in future. Can u clarify a but more. $\endgroup$
    – Nidhi Garg
    Feb 13 '20 at 21:15
  • $\begingroup$ Well the list of the features is the same, but their values are different. Instead of just straight making a prediction for the future, I'd like to also predict the features in the future as well, and allow the values of those features to be adjusted to make a new prediction. Like if it was two people talking: "Based on how things have gone so far, I bet in an hour you'll have dug 10 holes and found 6 clams." "What if I can dig 12 holes?" "Then 7 clams." $\endgroup$
    – Jungroth
    Feb 13 '20 at 21:22
  • $\begingroup$ Hmmmm okay! I think you should try neural networks or unsupervised models. $\endgroup$
    – Nidhi Garg
    Feb 13 '20 at 21:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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