# what is the best theory/model to use for prediction in multivariate data?

I use software for pollutant propagation on rivers that takes as input a set of parameters ($p_1,p_2,\ldots,p_n$) and creates an output file which is basically a matrix where on each row the concentration of the pollutant in various places along the river at a given timestamp is given.

\begin{array} {|r|r|r|r|r...|r|} \hline \text{TIME} &500\,\text{m}&1000\,\text{m}&1500\,\text{m}&2000\,\text{m}&2500\,\text{m}&...&25000\,\text{m} \\ \hline 2015/12/07 - \text{4:50:00}&0.75&0.71&0.6&0.58&0.55&...&0.12 \\ \hline \hline 2015/12/07- \text{4:55:00}&0.71&0.70&0.58&0.56&0.51&...&0.10 \\ \hline \end{array}

My question is: what models/theories are suitable to be used to predict, based on a set of given INPUT parameters, the OUTPUT that would be closest to what the software will give as a result?

Also how many pairs INPUT/OUTPUT will I need to have in order to minimize the error?

• It's not very clear what your input parameters represent. Could you clarify this? It seems like they could be initial conditions for the pollution at various points along the river. – Tyler Olsen Oct 29 '15 at 16:06
• If I understand your question it sounds like you have some software that models the pollutants in the river over time. If this is the case, why do you want to find a separate model that approximates what your software gives you already? Are you just trying to make a simplified model? Is this an interpolation problem? If you are trying to make a simplified model then do you know the water velocities at points in the river? – James Oct 29 '15 at 19:57
• @TylerOlsen The input parameters are: startDate, endDate, Polutant Type, Pollutant Concentration, River Chainage and a set of pairs [Pollutant Quantity, DateTime] representing how much pollutant was thrown in the river and the moment when that happened. – Sorin Ciolofan Oct 31 '15 at 10:58
• @James The software we have runs on a server and we need internet connection to connect to that software and run a simulation. Beside this, the server could happen to be down at some point when we need to run a simulation. So, as a backup solution we would want to "guess" , given an input i what is the closest output o that the software would give it would have the chance to run. We can use a historical archive of past N real simulations (pairs of input/output). Maybe I can use machine learning? – Sorin Ciolofan Oct 31 '15 at 11:02
• It sounds like you're just trying to solve the transport equation for a scalar field (aka: convection-diffusion-reaction equation). This is a PDE that describes precisely your situation. If I had to guess what your software was doing, I'd say that it's solving a 1D version of this model, taking your input parameters as initial conditions and making assumptions about the river speed at every point. Check out this wiki page for more info: en.wikipedia.org/wiki/Convection%E2%80%93diffusion_equation – Tyler Olsen Oct 31 '15 at 15:10