*2.1. Multiple Linear Regression (MLR)*

The purpose of multiple linear regression (MLR) is to investigate the relationship between the independent variables and a dependent variable. Assuming that the dependent variable *y* is a function of *n* independent variables *x*1, *x*2, *x*3, ..., *xn*, then the MLR can be expressed as follows:

$$y = a + b\_1 \mathbf{x}\_1 + \dots + b\_n \mathbf{x}\_n + e \tag{1}$$

where *a* indicates the intercept; *b*1, . . . , *b<sup>n</sup>* are the slope coefficients of the corresponding independent variables; *e* is the random error; and *y* represents the independent variable. For more details, please refer to Yan and Su [34]. In this study, a generalized linear regression model is used to fit the relationship between the response variable *y* (monthly streamflow data) and the explanatory variables *x* (other hydrometeorological factors), and then, the model is used to predict the streamflow (*y*) with the new observations (*x*).

*Sustainability* **2021**, *13*, x FOR PEER REVIEW 4 of 24

**Figure 1.** Framework of this study. **Figure 1.** Framework of this study.

#### *2.1. Multiple Linear Regression (MLR) 2.2. Artificial Neural Networks (ANNs)*

The purpose of multiple linear regression (MLR) is to investigate the relationship between the independent variables and a dependent variable. Assuming that the dependent variable y is a function of *n* independent variables *x*1, *x*2, *x*3, ..., *xn*, then the MLR can be expressed as follows: 1 1 ... *n n y a bx b x e* =+ ++ + (1) An artificial neural network is an information processing system inspired by biological neural networks (such as the brain). Artificial neural networks can model the complex relationships between the input and output by simulating human learning [35]. Neural networks can be described as simple processing nodes or neurons, which generally include inputs, weights, a sum function, an activation function, and outputs and perform the

corresponding numerical operations in a specific order [36]. An ANN model is usually made up of three parts: the input layer, the hidden layer, and the output layer, each of which do not have a unique number of layers. Multilayer feedforward ANNs, also known as multilayer perceptron, are commonly used in drought and water resource management and contain one input layer, one or more hidden compute node layers, and one output layer [37]. The three-layered ANNs can be expressed as follows:

$$\underbrace{\begin{aligned} \underbrace{\mathbf{x}\_{j}}\_{\text{the input layer } I} \Rightarrow\\ \underbrace{\mathbf{H}\_{i}^{in} = \sum\_{j=1}^{m} w\_{ji}\mathbf{x}\_{j} + b\_{hi}}\_{\text{input } ith \text{ node for the hidden layer } H} \Rightarrow \underbrace{\mathbf{H}\_{i}^{out} = \boldsymbol{\varphi} \left(\sum\_{j=1}^{m} w\_{ij}\mathbf{x}\_{j} + b\_{hi}\right)}\_{\text{output } ith \text{ node for the hidden layer } H} \end{aligned}} \Rightarrow$$
 
$$\underbrace{\mathbf{O}\_{k}^{in} = \sum\_{i=1}^{p} w\_{ki} \left(\mathbf{H}\_{i}^{out}\right) + b\_{ok}}\_{\text{input } kth \text{ node for the output layer } O} = \underbrace{\boldsymbol{\Psi} \left(\sum\_{i=1}^{p} w\_{ki} \left(\boldsymbol{\varphi} \left(\sum\_{j=1}^{m} w\_{ij}\mathbf{x}\_{j} + b\_{hi}\right)\right) + b\_{ok}\right)}\_{\text{output } kth \text{ node for the output layer } O} \Rightarrow$$

where *wij* is the weight between node *i* of the hidden layer and node *j* of the input layer; *wki* is the weight between the *i*th hidden layer node and the *k*th output layer node; *bhi* and *bok* are the bias weights of *i*th node for the hidden layer and of the *k*th node for the output layer; and *ϕ*() and *ψ*() indicate the activation functions of the hidden and output layers, respectively. In this study, the multilayer feedforward ANNs with the back-propagation algorithm are used for monthly streamflow forecasting, and the number of hidden nodes is determined as five by the trial and error method. For more details, refer to Tan et al. [38].
