I have a dataset of temporary streamflow monitoring data, with flows recorded every 5 minutes for a period of several months to a few years for several hundred streams across the country. I also have rain, temperature, and datetime data for each stream that I believe explain the flow data. My goal is to develop a machine learning algorithm to predict the flow for each stream. But specifically I'm interested in looking at the base (dry-weather) flow and wet-weather response of these streams and comparing them to each other, so it is more important that the model is easily interpretable than that it give good predictions. For this reason I'm leaning toward using linear regression.
My hypothesis is that there are some patterns that are consistent among all streams. For instance, base flows will change seasonally in a similar way between streams. Because I have short monitoring periods, it seems linear regression applied to each site individually may not learn these patterns that would be visible across multiple sites, to help predict flows for a stream in a different season, for example.
One simple way would be to create a categorical streamid feature, but this would require retraining the entire dataset for each new stream and my intuition tells me this would work poorly with linear regression.
I have looked a little at embeddings but I'm unsure if that's quite what I'm looking for. I am considering using some algorithm to determine some intermediate variables that describe each stream and correspond linearly to a second set of linear variables that are interpretable. For new streams, this would permit me to optimize only the first set of variables while retaining the knowledge from the entire dataset. But I don't know what key words would even describe this so my research is turning up blanks.
What are the best options to learn the behavior of one stream while using the knowledge gained from all stream datasets? I'm pretty new to machine learning and am having trouble finding a good algorithm that will work for this case, so any pointers in the right direction are much appreciated!