-4

I am trying to write a demand forecast that considers weather data (temperature, pressure, humidity) one by one (or all together). I want to use machine learning algorithms to do so. I used Linear Regression to do the demand forecast previously not considering the weather data, now that I have weather data I am not sure which machine learning algorithm should I use to do the task? I am newbie in Machine Learning and would be grateful if you help me figuring out this problem.

I am using Python for my code, so if you can direct me to use any specific module that would be great.

JAL
  • 41,701
  • 23
  • 172
  • 300
Dr.A2014
  • 9
  • 1
  • 2
  • For Py2, you can use Google's TensorFlow but there are other libraries maybe better suited like pylearn2 and pybrain. –  Nov 17 '15 at 00:39
  • Scikit is an excellent choice ps: Linear regression seems not the way to go in your case. Can you give us more details about the output you want? Maybe then I can suggest something more specific. – rpd Nov 17 '15 at 09:50

2 Answers2

-1

Ok if you are new to machine learning, I would suggest the following to create your prediction model.

  1. Understand your data: Check manually how the input variables which you have are related to the targets (outputs). If they show some sort of linear dependency then you are lucky, but most challenging ones are if you find the relation to be having non-linear relations.
  2. Variable Selection: You can never be sure if all of your inputs are necessary for the prediction of outputs. Example: If pressure and temperature are related somehow, perhaps your ML algorithm can predict your outputs with only one of these 2 inputs. On contradictory, there can be some variables that are actually disturbing your predictions of ML algorithms. So you need some correlation measure that suggests which inputs are highly related to your outputs (of historical data, Ex: from UCI repository). I would suggest Pearsons Correlation, Spearmanns Rho, if you find linear dependencies between you data. If not you can use MIC, Relieff weights etc. as the correlation measure for non-linear data.
  3. Which ML algorithm to use: This is purely data dependent perhaps just a polynomial or least squares would suffice (for linear dependencies) or worst case you have some multi layered neural nets or Gaussian processes (for non linear dependencies). Reccomendation: As you say you want linear regression, start with a least squares fit. If you are still having problems understanding any concepts, you can get back to me with some plots of how your inputs are related to the output and I can suggest you better. Good luck
-1

I'm working on the same thing. Tensorflow with a deep neural network is all that's needed. I believe convolutional LSTM neural networks can take weather data as an input and give a prediction as an output. You just need historical data to train it. Maybe an almanac combined with forecasts and measurement data at the time of forecast.

Research has shown that Convolutional Long Short Term Memory (ConvLSTM) algorithm is more accurate at predicting precicipation than FC_LSTM and current state of the art ROVER algorithms. Here's the paper: https://arxiv.org/abs/1506.04214

Research also shows that wind can be predicted using NOAA's data and the machine learning algorithms predict better than NOAA. The paper is here: http://aditya-grover.github.io/files/publications/kdd15.pdf

And finally research has shown that temperature, humidity, and wind can be accurately predicted out to 72hrs using a 15 year data period of hourly measurements. Everything needed to train an algo is spelled out in this article: Sequence to Sequence Weather Forecasting with Long Short-Term Memory Recurrent Neural Networks, International Journal of Computer Applications (0975 - 8887) Volume 143 - No.11, June 2016