I am modelling a process with 4 input parameters x1 x2 x3 x4
. The output of the process is 2 variable y1 y2
that varies with length and time.
I also have data from experiments basically recording the trends in the two output variables as I vary my input variable.
So far I have only seen neural network examples which will take input x1 x2 x3 x4 t
(t is time) and predict y1 y2
at said time t (no consideration of location). I would however like to also like to see variation with length as well at a given time t [y1a y1b... y1z; y2a y2b... y2z]
where (a, b...z) are location points at an incremental distance dh
from the start.
Any help is appreciated. TIA
-
1$\begingroup$ You need to better describe what you are modeling. What depends on time (for real, not in model): {x}, {y}? on space? Space is discrete, but is it finite? Can 'locations' be described by a number (e.g. some distance)? $\endgroup$– Mathieu BouvilleCommented Apr 15, 2019 at 6:28
-
$\begingroup$ I am basically modelling an unsteady state drying process in a chamber. The drying occurs along the length. Thus my output {y} varies with time and length. Space is thus finite. My input {x} is constant, but during training I'll be giving different inputs, so the model can learn the variation in {y} as the input {x} changes $\endgroup$– user110565Commented Apr 16, 2019 at 3:51
1 Answer
To answer the titular question first: Yes, of course you can. Whether a neural network can give you better results than a simpler model, however, depends on:
- How complex/non-linear the relationship between your input and output variables is;
- Whether the neural network you have specified is able to learn this relationship efficiently;
- How much training data you have.
With the information you have provided in the question, there's really no telling how it will perform against a simpler model, so I would advice trying both.
As for how your output varies over time and location, just include both in your model. In case of a linear regression model, accounting for spatiotemporal autocorrelation could be done with a mixed model using an appropriate covariance structure. The challenge for a neural network would be how to specify one that can learn this type of relationship (for starters, read up on RNNs for longitudinal data).
-
$\begingroup$ Thanks for your insight Frans. As I mentioned in a comment above, I am basically modelling an unsteady state drying process in a chamber. The drying occurs along the length. Thus my output {y} varies with time and length. The relationship is non-linear and each individual output {y1 y2...} are interdependent on each other. Just wondering, how should I determine on a preliminary basis if neural network would work in this problem? (I am beginner at ML, so struggling a little with my footing) $\endgroup$ Commented Apr 16, 2019 at 3:59
-
$\begingroup$ A neural network will work, because even if the problem is simple, you can just use your neural network as regression model (no hidden layers). Of course, whether this kind of model should even be considered a neural network is a matter of semantics. For your particular case, look into whether the relationship really is non-linear (see here stats.stackexchange.com/q/148638/176202). Then consider whether there might be higher order interactions between the input variables. (...) $\endgroup$ Commented Apr 16, 2019 at 12:05
-
$\begingroup$ (...) A neural network truly excels when both of these are true and you cannot come up with these relationships yourself (i.e. manually specify the interactions that should be in the model). A clear example is image recognition. There are simply too many, too high order, interactions between pixels to consider in a model to manually specify these. A neural network can learn these on its own, given proper depth and width. However, this capacity makes them also much more prone to overfitting, so for a problem as (relatively) simple as yours, I would look into (non-linear) regression first. $\endgroup$ Commented Apr 16, 2019 at 12:08