I require to develop an machine learning algorithm to predict that if a secondary car battery should be connected to load at any given time of day based on the automobile usage profile of the user. (the output is either 1 or 0 , ON or OFF)

Some Background : My project car is equipped with a secondary battery which has to run a car Computer, LTE modem etc. So it is important that the battery is not connected to these loads all the time so as to extend the run time of the battery when the car is not in use( primary car battery charges the secondary battery when the car is running.) . These electronic parts are used for IOT operation, running alexa voice interaction etc.

So it is necessary to predict at what times user is using his car and switch the circuit ON before the driver actually gets in the car, So that it can start alexa voice interaction with user as soon as he enters the car without any delay( if it starts after user gets in , it will take some time before all the internet connections are up and running.).

Any suggestions on which existing machine learning algorithm I can use here? For the start I’m planning to predict the state based on the day, time and location only. For example if the time is 7.am, weekday, and the location is home, the car is usually ON to travel to office., if the time is 10.00am and the location is Office , the car is usually OFF.

Please help me with any ideas/ suggestions that can also improve the concept.

  • $\begingroup$ You can use hidden Markov models. $\endgroup$
    – user92178
    Mar 22, 2020 at 12:54

1 Answer 1


You need to predict 2 classes (on/off). The first question is: Based on what data (exactly) this happens?

Problem statement

You do have some training data, so this is a supervised learning task. The algorithm choice really depends on the question what data exactly to need and what kind of patterns you expect to detect:

  • is the prediction based on a single user (data will be scarce then) or on multiple users (enough to determine similar users for predictions)
  • does it really suffice to consider Daytime + Week/Weekend? What about public holidays or seasons, where the usage behavior likely changes
  • Will vacation times impact the usage behaviour beyond date/time?

Picking an algorithm

Once you now based on which data you will recognise what kind of pattern you think about algorithms that fit well. For example: If you really only need time + weekday/weekend then very simple algorithms might do. Decisions trees for example (with simple rules as if weekday + 7.a.m. then turn on).

If rules need to be a lot more complex (and I think this is the case here) you might need a more complex model. I have very little experience with time based predictions but things like recurring neural networks come to mind which are heavily used for time based predictions (e.g. web analytics in order to find anomalies in usage patterns for any given point in time).


Your problem sounds like you need a very accurate prediction (minute-wise accuracy) while the actual user behaviour will be a bit more random (some times earlier, some times later). Many algorithms try to reduce an error which often leads to in-between values if the actual time of an event fluctuates around a mean value.

When using neural networks you can influence how the error is calculated and you can train it in order to favour one kind of error (being early) over another. This makes it more complex, and requires that being "too early" is not an issue (or that the user is always very reliable).

  • $\begingroup$ Good way of answering, if possible try shortening it. I liked your answer though. $\endgroup$
    – Toros91
    Jan 16, 2018 at 9:30
  • $\begingroup$ I totally agree on considering holidays and daytime. And about the prediction , I don’t require minute wise prediction . I can manage to keep it turn ON for a 15 minute window (So its like i want to know if the car is ON between 7 - 7.15.) In my mind i want to work out something like this : To predict Thursday 7.00am status I need to consider the status at 7am on last few days (say Wednesday and Tuesday) and status on last week Thursday same time. $\endgroup$
    – George
    Jan 16, 2018 at 9:31
  • $\begingroup$ . In this way I can find out if he car is (or not) in use recently and also I can see days which he does not use at all the( For example Saturday: looking previous weekdays, car might be in use, but also checking the status of car last Saturday, I can get a better picture , like he is not driving at all on Saturdays.) .I will do some research on your algorithm suggestions and data collection. $\endgroup$
    – George
    Jan 16, 2018 at 9:32
  • $\begingroup$ @Toros91: Thanks for your feedback. I tried to make it less wordy, it really is too verbose. $\endgroup$
    – Gegenwind
    Jan 16, 2018 at 9:57
  • $\begingroup$ @George: I think a more detailed problem/behavior description would be a very good start. Using last weeks is good to avoid seasonal effects (if there are any) but it also reduces the amount of data you have. Do you already have some data? Looking at the dataset will tell you a lot about your needs for the algorithm. $\endgroup$
    – Gegenwind
    Jan 16, 2018 at 9:59

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.