## 2 Materials and Methods
### HPO Optimization Algorithm  
The Hunter-Prey Optimizer (HPO) is a new optimization algorithm based on swarm intelligence proposed by [PERSON] et al. [43] in 2022. The core concept of the HPO is as follows: hunters attack individuals far away from the prey group and constantly adjust their position to chase the prey. At the same time, the prey is also dynamically adjusting its position in an attempt to escape to a safe area to evade the hunter's attack. These two processes involve the update of the hunter's position and the prey's location, thereby completing the whole search process. The safe place is the global optimal position. When the prey reaches the safe position, the hunter gives up the current prey and chooses new prey, and the current prey survives. First, initialize the initial population randomly as \((x)=\{x_{1},x_{2},\ldots x_{m}\}\) and the objective function of all members of the population is \((O)=\{O_{1},O_{2},\ldots O_{m}\}\), where m is the population and \(x_{m}\), \(O_{m}\) are the position and fitness function of the m-th member, respectively. Using the rules and strategies of this algorithm, we can guide and control the population in the search space, constantly update the position of the hunter's prey, know whether the hunter is chasing the prey and whether the prey escapes the hunter's pursuit, and use the fitness function to dynamically evaluate whether the new position is global optimal solution. This process gradually refines the solution to the problem with each iteration. The key to the HPO algorithm is to select hunters and prey. The corresponding selection mechanism is:  
Figure 5: Pearson correlation heat map between factors. \[\left\{ \begin{array}{ll}x_{m,n}(t+1)=x_{m,n}(t)+0.5\{\left[2 CZP_{pos(n)}-x_{m,n}(t )\right]+\left[2(1-C)Z\mu_{(n)}-x_{m,n}(t)\right]\right\}&R_{5}<\alpha\\ x_{m,n}(t+1)=T_{pos(n)}+CZ_{cos}(2\pi R_{4})[T_{pos(n)}-x_{m,n}(t)]&R_{5}\geq \alpha\end{array} \right. \tag{2}\]  
where \(R_{5}\) is a random number in the range of [0, 1], \(\alpha\) is an adjustment parameter with a value of 0.1. If \(R_{5}<\alpha\), the search agent is regarded as the hunter, and the upper part of Equation (2) is used to update the next position. If \(R_{5}\geq\alpha\), the search agent is regarded as the prey, and the lower part of Equation (2) is used to update the next position. \(x_{m,n}(t)\) is the position of the hunter/prey at time \(t\). \(x_{m,n}(t+1)\) is the position of the hunter/prey at time \(t+1\). \(P_{pos(n)}\) is the nth dimensional position of the prey. \(C\) is the balance parameter and its value decreases from 1 to 0.02 during the iteration process. \(T_{pos}\) is the optimum global position. \(Z\) is the adaptive parameter. \(\mu_{(n)}\) is the average value of all positions. The calculation formulas of \(C\), \(Z\), \(\mu_{(n)}\), and \(P_{pos(n)}\) are, respectively, as follows:  
\[C=1-i(\frac{0.98}{i_{max}}) \tag{3a}\] \[\left\{ \begin{array}{ll}P=R_{1}<C\\ L=(P==0)\\ Z=R_{2}\otimes L+R_{3}\otimes(\sim L)\end{array} \right.\] (3b) \[\mu_{(n)}=\frac{1}{j}\sum_{m=1}^{j}x_{m,n}\] (3c) \[\left\{ \begin{array}{ll}D_{euc(i)}=\left(\sum_{j=1}^{d}\left(x_{i,j}-\mu_{j} \right)^{2}\right)^{\frac{1}{2}}\\ kbest=round(C\times Z)\\ P_{pos}=x_{m}|m\,\text{is sorted }D_{euc(kbest)}\end{array} \right. \tag{3d}\]  
where \(i\) is the current number of iterations. \(i_{max}\) is the maximum number of iterations. \(R_{1}\) and \(R_{3}\) are random vectors in the range [0, 1]. \(R_{2}\) is a random number. \(P\) is the index value of \(R_{1}<C\). \(L\) is the index value of vector \(R_{1}\) that satisfies the condition (\(P==0\)). In this paper, the fitness function of the HPO uses the Mean Absolute Error (MAE) predicted by relevant model training. The specific calculation formula is as follows:  
\[MAE=\frac{1}{n}\sum_{i=1}^{n}|p_{i}-\widetilde{p}_{i}| \tag{4}\]  
where \(p_{i}\) and \(\widetilde{p}_{i}\) represent the observed and simulated power at point i, respectively.