I am trying to use Machine Learning to predict the load of a residence at any point in time for a whole year. I have past data pertaining to that house. So I have the training data and I need the algorithm to predict future loads of the house.

Based on my knowledge, I have found the "supervised" machine learning technique to be the one I must adapt. I figured this out since I have labelled test data, I have a prediction requirement and I can get feedback for my prediction (cross-checking with the actual value). Am I correct here?

Also, I read online that "Unsupervised" learning is to be used at places where we need to find "Hidden data structure". I assume it means pattern. If so, what is the difference between the unsupervised and supervised learning in my case. Both of them will give me a prediction about the future load pertaining to that house at any point in time.

My background

I am doing my Masters in EE (Power systems). I am new to Machine Learning as well.

  • $\begingroup$ I have edited the title appropriately. $\endgroup$ Apr 18 '18 at 6:24
  • $\begingroup$ Thank you :-) I made some small changes to make the question easier/ faster to read $\endgroup$ Apr 18 '18 at 7:21
  • $\begingroup$ What is “load of a residence”? How many people live in a building? $\endgroup$
    – kbrose
    Apr 18 '18 at 13:53

I think this is one of the time series forecasting because you want to predict the future load of residence with the past dataset of residence's load by time. By my experience I recommend using LSTM RNN for the solution. An LSTM is well-suited to classify, process and predict time series given time lags of unknown size and duration between important events. Of course, this is supervised learning.

As for difference between supervised learning and unsupervised learning on your case, you don't need to use unsupervised learning for this solution because you have already dataset with input/correct output. if you are training your machine learning task for every input with corresponding target, it is called supervised learning, which will be able to provide target for any new input after sufficient training. Contrary, if you are training your machine learning task only with a set of inputs, it is called unsupervised learning, which will be able to find the structure or relationships between different inputs. It says you should use supervised learning - RNN or CNN.

PS: as for framework, I recommend using Tensorflow or Keras.

  • $\begingroup$ Hello Keng, thanks for the response and the suggestion. My problem is, for a house, I note the date, time and temperature at the moment of recording the load. Later, when given the time, date and temperature, my algorithm needs to predict the load based on its learning. This falls under the "Regression Analysis" type of supervised learning right? $\endgroup$ Apr 11 '18 at 7:50
  • $\begingroup$ You maybe right. If you want the relation between load and other parameters(date, time, and temperature), it is failed into regression analysis. In statistical modeling, regression analysis is a set of statistical processes for estimating the relationships among variables. But if you want the future load of next time based on past load data, it can be considered into time series forecasting. $\endgroup$
    – Top Coder
    Apr 11 '18 at 8:34
  • $\begingroup$ Thanks a ton for your answer, Keng. You were of great help! $\endgroup$ Apr 12 '18 at 1:46

The differnece between supervised and unsupervised learning is that in supervised learning we have a labelled data (with the correct output) i.e there is one dependent variable, and the job of the ML task is to produce an output that is close to the actual output. In unsupervised learning we dont have any dependent variable or we dont have a labelled data or the actual output and the job of the ML task is to find hidden patterns and group the data according to the patterns.

What type of ML algorithm will you use largely depend on the type of the data, that you can find by visualizing the data. If there is a linear correlation between the inputs and the output you can use simple linear regression and that will suffice and there is there is not a linear correlation than you can use SVM'S and if you dont want to use that you can use hit and try method and apply all simple alogorithms like naive bayes , linear regression , SVM,s and pick the that gives the best result.

Regarding LSTM'S they are a type of deeplearning networks and mainly used for sequential data in time and a very complicated one like audio data or words in a sentence and this is an overcomplication of this task. If you want to go towards deepl learning than you can use a simple ANN for this task


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.