## 4 Experimental Setup and Results
### Results and Analysis  
An empirical analysis was conducted in this study to validate the temperature control algorithm, beginning with the dataset preprocessing required for constructing the LSTM model. The outdoor and indoor temperature datasets were imported and sorted chronologically by timestamp. Subsequently, hour and month information were extracted from each timestamp, and sine and cosine transformations were applied to create features capturing periodicity. All features--including indoor and outdoor temperatures, along with the sine and cosine values corresponding to hour and month--were normalized to a range between 0 and 1 using the MinMaxScaler (version 1.7.0). Next, input sequences were constructed using temperature data from the preceding 24 h (seq_length = 24) to predict the temperature for the following 24 h (forecast_horizon = 24). The entire dataset was then partitioned into training and testing sets in 80-20% ratio. The LSTM model, composed of two LSTM layers followed by a dense layer, was trained on the training set. The predicted temperatures generated from the test dataset were inverse-transformed, constrained to an upper temperature limit, and smoothed using exponential smoothing. Finally, the smoothed predictions were plotted against the actual temperatures on a 24 h prediction time axis to evaluate the performance of the LSTM model. Figure 5a presents a terminal output illustrating the LSTM model's training progress. The model was trained for a total of 25 epochs, with each epoch consisting of 435 mini-batches. Each training step took approximately 31 to 70 milliseconds, resulting in an average epoch duration of about 30 s. Both the training and validation losses gradually decreased from an initial value of approximately 0.003, eventually converging around 0.0024. The close alignment between the two loss curves throughout training indicates the absence of significant overfitting. Therefore, it can be concluded that the model successfully learned the underlying data patterns and achieved stable convergence. The graph in Figure 5b compares the 24 h indoor temperature changes predicted by the LSTM model with the actual measured temperature changes. The \(x\)-axis represents the number of hours from the current time, while the \(y\)-axis denotes temperature (\({}^{\circ}\)C). The solid line represents the  
Figure 4: (**a**). It monitors the status and control values of the sub-parts: As a panel in the sub-part, it displays real-time monitoring of system status, such as temperature, humidity, and power consumption. (**b**). It monitors the status and control values of the main-part: The main-part provides real-time system status of sensor data, power consumption, temperature, and humidity. It displays the latest sensor readings, AI predicted temperature control values and system control values. predicted temperature curve from the LSTM model, processed with exponential smoothing, illustrating a smooth variation. The dashed line corresponds to the actual measured temperature data (test set), allowing for a comparison with the model's predictions. The \(x\)-axis range of 0 to 24 signifies the elapsed time from the current moment, visualizing a 24 h prediction sample for a specific time point and demonstrating that the predicted versus actual temperatures over the 24 h following that time point are effectively forecasted. Although visual comparison (Figure 5b) shows high alignment between predicted and actual indoor temperatures, we additionally computed evaluation metrics based on the test set. The Mean Absolute Error (MAE) was approximately 0.06 \({}^{\circ}\)C, and the Root Mean Square Error (RMSE) was 0.08 \({}^{\circ}\)C, with prediction errors consistently below \(\pm\)0.1 \({}^{\circ}\)C in most time periods. The LSTM model predicts the indoor temperature at the subsequent time step based on indoor and outdoor temperature data from the preceding 24 h. This predicted temperature  
Figure 5: (**a**). LSTM learning process status terminal output screen. (**b**).