1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp: Development of an AI-based weather forecasting system, and mobile app

76 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Development of an AI-based weather forecasting system, and mobile app
Tác giả Le Do Van Bang, Tang Tri Duc
Người hướng dẫn Assoc. Prof. Dr.techn. Quan LE-TRUNG
Trường học University of Information Technology
Chuyên ngành Information Systems
Thể loại Thesis
Năm xuất bản 2024
Thành phố HO CHI MINH CITY
Định dạng
Số trang 76
Dung lượng 45,21 MB

Cấu trúc

  • 1.2.2 Scope... Z. @8...-....<^.............À...........Ẻ (12)
  • Chapter 2 LITERATURE REVIEW..............................- ẶQ HH HH HH HH, 3 (13)
    • 2.1.1 Introduction the mobile applicafionn............................. -- - 5 3E kskeskekerreerkreree (13)
    • 2.1.2 Overview of mobile application programming on mobile devices " (13)
    • 2.1.3 Future technology trends in mobile pr0ỉramming..........................- -- 5-5 5+5 +s+sÊ+x+eze>ss+ (14)
    • 2.2 Prediction ModelL..........................--- ¿5c 5:2: 22222211111 353551321212121111212111121111111111111111111 11L. 4 (14)
  • Chapter 3 THEORETICAL FRAMEWORK...............................- - GÀ SG SH HH như. 9 (19)
    • 3.2 Programming 6i (0)
    • 3.4 Prediction Model Used (22)
      • 3.4.1 K-Nearest Neighbors Algorithm... a 12 (22)
      • 3.4.2 Long Short-term /(o 0n (0)
    • 3.6 no c0 (0)
      • 3.6.4 TensorFlow (26)
      • 3.6.5 Keras......... ... L7 (27)
      • 3.6.6 Shean (0)
    • 42.1 API Web Service (34)
      • 4.2.2 Prediction Model Service (37)
      • 4.2.3. Web view S€TVIC€.....................occcccserserrererer (0)
    • 4.3 Prediction Model and Evaluation Metrics Used (39)
      • 4.3.1 Dataset for buid Model (39)
      • 4.3.2 K-Nearest Neighbors.. /1 Rainfall /2 Wind Gust 4.3.3. Long Short-term Memory (40)
  • Chapter 5 SYSTEM IMPLEMENTATIO AND EVALUATION (54)
    • 5.1 Mobile App............................... St 1t t2 v11155151111111111 1111111111111 0101111111111 tre. 44 (54)
      • 5.1.1 API Key Sheet.. we SL NI... ⁄/ố 6£ <.....Y (61)
    • 5.4 System EValuafiOI..................... ..----5- 5-6 St S SE +E111111111112111111111211121111111111 1111k. 60 (70)
  • Chapter 6 CONCLUSION........................... --- 1 1 + 1 TT HH HH HH Họ Ho nàn 63 (73)

Nội dung

20 Figure 4-5: List of locations of weather stations installed by the Institute of Hydrometeorology and Climate Change Science Figure 4-6: The real time weather data collected from Stati

Scope Z @8 - <^ À Ẻ

+Using the K-nearest neighbors (KNN) algorithm as the rainfall and wind gust predictor mechanisms and, the Long Short-Term Memory (LSTM) neural network for the predictor for temperature and UV radiation.

+A demonstration mobile application is built to illustrate the results of the experiments and the performance of the used algorithms. tA simple web view to display weather information that is collected by a personal weather station in real-time.

LITERATURE REVIEW - ẶQ HH HH HH HH, 3

Introduction the mobile applicafionn - 5 3E kskeskekerreerkreree

Today, with the strong development of mobile phone companies, smartphones are becoming more and more popular, accounting for a large market share in the market for handheld communication devices The need to use smartphones a lot also requires the appearance of applications that serve daily life, so the mobile programming industry was born and has been growing to this day.Now I will generalize about mobile programming.

Overview of mobile application programming on mobile devices "

- Mobile device programming, or in short Mobie programming, is an application programming industry specifically for mobile devices.

- Application programmers for mobile devices must always keep in mind the principle of "maximizing the resources” of the device, using every means to optimize computational complexity as well as the amount of memory needed to.

- But over time, along with the rapid development of hardware, modern mobile devices often have very good configurations, with powerful processors and large RAM memory, making programming for mobile devices difficult Movement becomes easier than ever The development kits of today's mobile operating system manufacturers often clarify most tasks related to memory management, process management It is these characteristics that attract programmers to apply Mobile applications also have to be concerned: when an application depends on the Internet, you must pay attention to the fact that the network connection becomes unstable and difficult to control because smartphones are highly "mobile".

- Furthermore, modern mobile devices are equipped with many additional features that make interacting with users more convenient (multi-touch screen, voice interaction, gestures, etc.) Diverse connections (NFC, GPS, 3G, 4G, Bluetooth, IR, ) rich sensors for diverse experiences (light sensor, proximity sensor, compass, motion sensor, acceleration next, ) Therefore, programmers can rely on specific applications to set up and use these special features to give users the best experience on their mobile devices.

- In addition, phone companies that use operating systems from mobile operating system developers all create development kits (SDKs) and integrated development environments (IDEs) that are very convenient for writing source code , compile, debug, test as well as when preparing to launch a software.

- In today's market, there are three operating systems developed for mobile devices today: Android (Google), iOS (Apple) and Windows Phone (Microsoft). Accompanying that are application markets developed by those operating systems such as: CH Play (Google), Apple Store (Apple), Windows Phone Store (Windows) with many potential customers, helping developers Applications can be distributed for free or for a fee.

Future technology trends in mobile pr0ỉramming - 5-5 5+5 +s+sÊ+x+eze>ss+

Mobile is and will become the trend of the future There are many ways for programmers to develop mobile applications, from designing mobile-optimized websites (web apps), developing hybrid applications based on HTML (hybridapp) to writing mobile applications Native app Although there are many methods to develop a mobile application, they all have one thing in common: it runs on the native code of a certain platform.

Prediction ModelL - ¿5c 5:2: 22222211111 353551321212121111212111121111111111111111111 11L 4

Weather forecasting modeling is a broad field in which many outstanding articles have been researched Therefore, this section describes the previous work done by several researchers in the selected domain of weather prediction Following are the contributions of various researchers in this domain:

Firstly, In Jul 30, 2011 Jian Hu, Jun Liang Liu, and Chen Gao has public a paper named:

“EMD-KNN Model for Annual Average Rainfall Forecasting” [2].

This article has discusses the challenge of accurately predicting rainfall, which is crucial for water resources management and flood defense The hydrological system is complex, and rainfall time series, being nonlinear and nonstationary, makes accurate prediction difficult To address this, the paper introduces a conjunction model called EMD-KNN for forecasting annual average rainfall This model combines two methods: empirical mode decomposition (EMD) and the K-nearest neighbor bootstrap regressive model (K-NN) The model is applied to forecast annual average rainfall for Nanjing city (a water-rich area in East China) and the Dahuofang reservoir basin (a water- deficient area in Northeast China).

The results from three performance evaluation measures show that the EMD-KNN model significantly improves prediction accuracy compared to the single K-NN model. The proposed model reduces the prediction mean absolute error (MAE), mean relative error (MRA), and root-mean-square error (RMSE) by almost 50% each Therefore, the EMD-KNN model is deemed effective in enhancing the forecast accuracy of the single K-NN model for predicting annual average rainfall.

From this paper, we can learn about the challenges associated with predicting rainfall, an essential aspect of water resources management The hydrological system is described as complex, and rainfall time series are characterized as nonlinear and nonstationary, making accurate prediction a difficult task However, we will not use the EMD-KNN model in this thesis, which is considered more effective, but will only use the KNN model because the weather forecasting system we implement is being expressed as a system Single In the future if we have more than one weather station, the EMD-KNN model in this paper will be more suitable.

Secondly, in 2017 Lubna Shaikh and Kirti Sawlani made public a paper named" A Rainfall Prediction Model Using Artificial Neural Network"[3].

This article has applied artificial intelligence to forecast rain based on ANN and RNMA models The authors have applied temperature and wind speed data to forecast rainfall.

This article has applied artificial intelligence to forecast rain based on ANN and RNMA models The authors have applied temperature and wind speed data to predict rainfall, similar to our model However, they use the rain results that have occurred to compare with the model's forecast results, and use that result to compare with past data using 30% of the data to test the prediction This is a bit different from the forecast model as we use the forecast results to compare with the actual results that occur.

Next there is an article in 2018 authored by Marinoiu Cristian Assoc Prof.ph.d., Petroleum-gas University Of Ploiesti Titled: " Average Monthly Rainfall Forecast In Romania By Using K-nearest Neighbors Regression "[4] The paper specifically highlights the k-nearest neighbor (k-NN) regression as a relatively simple yet competitive machine learning method for time series forecasting The k-NN regression is positioned as a modern alternative to traditional methods The paper aims to explain how to apply this method to forecast time series, specifically focusing on predicting Monthly Average Rainfall (AMR) in Romania The use of k-NN regression is presented as a viable approach in this context, showcasing its potential as a practical and effective tool for time series forecasting This article has demonstrated to us the effectiveness of the K-NN algorithm as well as the method of operation of the algorithm from which we can inherit this method for research and model development purposes on forecasting rainfall and wind gusts Although this article predicts monthly rainfall, we will apply it to daily rainfall forecasts because of of the limited time available to produce the thesis.

Also in finding the most effective prediction model with our system In September

2015 paper titled: "A comparative study of classification algorithms for forecasting rainfall [5]" by authors: Deepti Gupta; Udayan Ghose This paper uses a dataset comprising 2245 samples collected from New Delhi during the rainfall period (June toSeptember) from 1996 to 2014 Various weather factors, such as mean temperature,dew point temperature, humidity, sea pressure, and wind speed, are employed to forecast rainfall The Classification and Regression Tree (CART) algorithm, NaiveBayes approach, K-nearest Neighbour (KNN), and a 5-10-1 Pattern Recognition

Neural Network are utilized for training a classifier on a training dataset The accuracy of each model is then tested on a separate test dataset.

The results indicate that Pattern Recognition networks achieve the highest accuracy at 82.1% KNN follows with 80.7% accuracy, Classification and Regression Tree (CART) with 80.3%, and Naive Bayes with 78.9% These findings suggest that Pattern Recognition networks perform the best among the tested models for rainfall forecasting in the given context Although this paper shows that Pattern Recognition networks achieve the highest accuracy But after careful research, we found that the KNN algorithm has the ability to run data processing faster and more efficiently than Pattern Recognition networks because this model will take a certain amount of time to deloy the network recognition.

Regrading to the paper name: “Single Layer & Multi-layer Long Short-Term Memory(LSTM) Model with Intermediate Variables for Weather Forecasting [6]” by authorAfan Galih Salman , Yaya Heryadi b, Edi Abdurahman, Wayan Suparta The study explores the impact of intermediate weather variables on prediction accuracy, utilizing both a single-layer Long Short-Term Memory (LSTM) model and a multi-layer LSTM model The proposed forecasting model extends the LSTM model by incorporating intermediate variable signals into the LSTM memory block The idea is that incorporating two highly related patterns in the input dataset can enhance the model's ability to learn and recognize patterns from the training dataset The research aims to achieve a robust model for learning and recognizing weather patterns, and it investigates various architectures, including a single-layer LSTM and a multiple-layerLSTM (specifically, a 4-layer LSTM) The dataset used in the research consists of weather variable data collected by Weather Underground at Hang Nadim Indonesia airport Visibility is the target predicted data, while temperature, pressure, humidity,and dew point serve as intermediate data The findings indicate that the best-performingLSTM model in the experiment is the multiple layers LSTM, and the most effective intermediate variable is pressure Using pressure as an intermediate variable, the model achieves a validation accuracy of 0.8060 and a Root Mean Square Error (RMSE) of

0.0775 In summary, the research focuses on enhancing weather variable forecasting by incorporating intermediate variables and exploring various LSTM architectures, with the multiple layers LSTM model using pressure as an intermediate variable showing the best performance in the experiment Although using the intermediate variable pressure significantly improves the accuracy of the model, in this thesis we will still use a single-layer LSTM to forecast UV and temperature, because we realize that UV and temperature values have a fixed variation and do not vary significantly during a day, unlike humidity or pressure, these factors are related to rain, for which we have used a different method to forecast.

From the information learned above We derive two suitable prediction models for our system: the K-nearest neighbors (KNN) algorithm as the rainfall and wind gust prediction mechanisms and, the Long Short-Term Memory (LSTM) neural network for warning UV radiation and temperature In addition, we also compare the forecast results with other models, which will be discussed detail in methodology section.

THEORETICAL FRAMEWORK .- - GÀ SG SH HH như 9

Prediction Model Used

The k-nearest neighbors algorithm, also known as KNN or k-NN, is a non-parametric, supervised learning classifier, which uses proximity to make classifications or predictions about the grouping of an individual data point While it can be used for either regression or classification problems, it is typically used as a classification algorithm, working off the assumption that similar points can be found near one another.

For classification problems, a class label is assigned on the basis of a majority vote— i.e the label that is most frequently represented around a given data point is used While this is technically considered “plurality voting”, the term, “majority vote” is more commonly used in literature The distinction between these terminologies is that

“majority voting” technically requires a majority of greater than 50%, which primarily works when there are only two categories When you have multiple classes—e.g four categories, you don’t necessarily need 50% of the vote to make a conclusion about a

12 class; you could assign a class label with a vote of greater than 25% The University of Wisconsin-Madison summarizes this well with an example [14] le) to clas Evaluation: The model performs well on unseen data with a moderate number of neighbors.

The blue line represents training accuracy Similar to testing accuracy, training accuracy starts near perfection However, as the number of neighbors increases, training accuracy experiences a sharp decline It stabilizes around an accuracy of about 0.97.

=> Evaluation: Overfitting occurs with more neighbors, as training accuracy drops significantly.

With fewer neighbors, the model tends to overfit (high training accuracy but lower testing accuracy) As the K number increases, the model generalizes better on unseen data.

Date_Time windgust(m/s) windspeed(m/s) pressureinHg) Warning

Table 4-2: Data in windgust_data_train.csv file

Regarding wind gusts (Tabble 4-2), it is easy to recognize that the main factors used for forecasting are air pressure and wind seed There may be many other special factors to predict wind gust from other studies However, in this case we only use these two main factors to build own model.

Figure 4-18: Train a wind gust forecast model

Similar to the rain forecast training model However, the wind forecast model only has four value fields is windgust, windspeed, preassure and warning Here we can see that there is a new field called warning, this field's value depends on the windgust value. For example, if the windgust value is > 10, then warning = 1, Else warning = 0 In fact, the wind gust value = 10, which is considered relatively low without significant danger, but in our opinions warning early, it's better.

&% Figure 1 — m2 X k-NN: Varying Number of Neighbors

The (Fig 4-17) illustrates the testing accuracy and training accuracy of a K-Nearest Neighbors (KNN) model.

+The x-axis is labeled “Number of Neighbors,” ranging from approximately | to 8 We also can call it “K” number.

+The y-axis is labeled “Accuracy,” with values fluctuating between approximately 0.9986 and just under 1.00.

The orange line represents testing accuracy.

Initially, for a low K number, testing accuracy is near perfection, just below 1.00 As the K number increases, testing accuracy drops to approximately 0.998 Beyond a certain point (around five neighbors), testing accuracy remains relatively stable.

=> Evaluation: The model performs well on unseen data with a moderate number of neighbors.

The blue line represents training accuracy Similar to testing accuracy, training accuracy starts near perfection However, as the number of neighbors increases, training accuracy experiences a sharp decline It stabilizes around an accuracy of about 0.98.

=> Evaluation: Overfitting occurs with more neighbors, as training accuracy drops significantly.

With fewer neighbors, the model tends to overfit (high training accuracy but lower testing accuracy) As the K number increases, the model generalizes better on unseen data.

36 k-NN: Varying Number of Neighbors

Figure 4-20: Graph comparing windgust training results with test dataset at K value from 2.5 to 17.5

In (Fig 4-18) we can see that this wind forecast model predicts well at the value K=5. However, when we increased the Number of Neighbors to 17.5, we discovered that this model actually performed better than women at K = 7 And later on, the values gradually become relative, so we cannot need to mention.

Table 4-3: Data in uv_data_train.csv file

Because the temperature factor depends only on itself, it is for this reason that we choose the LSTM model to predict this factor.

X_train = [] y_train = [] for i in range(len(train_data) - window_size):

X_train.append (train data['scaled_uv'].values[i:itwindow_size]) y_train.append (train_data ['scaled_uv'] values[itwindow_size])

# Dinh nghĩa và huan luyện mô hình

1stm model = define 1stm model là)

1stm model.fit(X train, y train, epochs=2, batch size2, validation split=0.1, verbose=l)

Figure 4-21: Command to train the UV prediction model

Layer (type) Output Shape Param # input_1 (InputLayer) [(None, 36, 1)] 0

1stm (LSTM) (None, 36, 64) 16896 dropout (Dropout) (None, 36, 64) 0

1stm 1 (LSTM) (None, 36, 64) 33024 dropout 1 (Dropout) (None, 36, 64) 0

1stm 2 (LSTM) (None, 64) 33024 dropout 2 (Dropout) (None, 64) 0 dense (Dense) (None, 32) 2080 dense 1 (Dense) (None, 1) 33

1/281 [es fait sais Fae - sae = es ae ] - BTA: 29:05 — loss: 0.062900 oO

Figure 4-22: Implement UV forecast training model

Due to hardware limitations, increasing the number of epoch attempts will lengthen the training time to a very high level of about 1 to 2 days and sometimes there will be problems during the training process We choose Epoch 4 times is the optimal and most effective number of times to train the LTSM model on UV forecasting.

Model Performance on UV Prediction

Figure 4-23: The model performance on temperature prediction

The (Fig 4-21) displays two lines: one in red representing actual test data, and the other in green representing predicted test data.

+The x-axis represents dates from ‘12-14 00h’ to ‘12-18 12h’.

+The y-axis represents UV, ranging from 0 to 10 Intensity of ultraviolet radiation.

Both the red (actual) and green (predicted) lines follow similar patterns, indicating that the model’s predictions align closely with the actual data.

Notable peaks and troughs occur in both datasets, suggesting periodic fluctuations in

UV radiation The model tends to slightly underestimate the UV at the peaks.

In summary, the model performs reasonably well in predicting UV, but there are minor discrepancies between predicted and actual data.

=> Evaluation: The UV prediction data generally does not really closely follow the experimental data However, the tolerance here is acceptable so the model still ensures accuracy.

Table 4-4: Data in temperature_data_train.csv file

We often think that temperature is affected by many factors, but after researching and consulting a number of studies on this issue, we still choose the LSTM model to predict this factor because it has stable accuracy and simpler than models that require many other factors

X_train = [] | y train = [] | for i in range(len(train data) - window size) : |

X_train.append(train_data['scaled_temperature'].values[i:itwindow_size]) y_train.append(train_data["scaled_temperature'] values[itwindow_size])

# Định nghĩa và huân luyện mô hình

1stm model = define 1stm model ()

1stm model.fit(X train, y train, epochs=2, batch size2, validation split=0.1, verbose=1)

Figure 4-24: Command to train the UV temperature prediction model

# Column Non-Null Count Dtype ũ datetime 757 non-null datetimeé4 [ns]

1 temperature 757 non-null float64 dtypes: datetime64[ns] (1), float64(1) memory usage: 12.0 KB

Layer (type) Cutput Shape Param #

“input_1 (Inputtayery) [Non 1401 7 0 7 istm (LSTM) (None, 144, 64) 16896 dropout (Dropout) (None, 144, 64) 0

1stm 1 (LSTM) (None, 144, 64) 33024 đropout 1 (Dropout) (None, 144, 64) 0

1stm 2 (LSTM) (None, 64) 33024 dropout 2 (Dropout) (None, 64) 0 dense (Dense) (None, 32) 2080 dense 1 (Dense) (None, 1) 33

Figure 4-25: The graph shows training values with testing values

Similar to UV training We choose Epoch 4 times to train the LTSM model on tempertature forecasting Training time is about 15 minutes using 4g GPU.

Model Performance on Temperature Prediction

— Actual Test Data sa —— Predicted Test Data

Figure 4-26: The model performance on temperature prediction

The (Fig 4-24) displays two lines: one in red representing actual test data, and the other in green representing predicted test data.

+The x-axis represents dates from ‘12-14 00’ to ‘12-18 12’.

+The y-axis represents temperatures, ranging from 26 to 34 degrees.

Both the red (actual) and green (predicted) lines follow similar patterns, indicating that the model’s predictions align closely with the actual data.

Notable peaks and troughs occur in both datasets, suggesting periodic fluctuations in temperature The model tends to slightly underestimate the temperature at the peaks.

In summary, the model performs reasonably well in predicting temperatures, but there are minor discrepancies between predicted and actual data.

=> Evaluation: On the temperature side, we see that the predicted data is somewhat closer to the experimental data with the number of UV epoch runs being 4 times.

SYSTEM IMPLEMENTATIO AND EVALUATION

Mobile App St 1t t2 v11155151111111111 1111111111111 0101111111111 tre 44

This chapter will introduce in detail the weather forecast application interface we developed To be able to visually represent the application, we have available a QR image (Fig 5-1) containing the apk folder, readers can scan and download the application to experience.

Figure 5-1: QR code downloads the application

Application download link: https://drive.google.com/file/d/1jGMkg16W1VegZ1-

MQPCEI2v0IbZkaSTT/view?usp=drive_ link

Good Evening fie 09Kmh S2 34Km/jh 'Ô56.0RH đồ 296Atm 3,£ 0W/m^2 14:56 re] a = i

Figure 5-2: The screen interface displays real-time weather forecast

After accessing the application ưe can see information on the display including temperature, time, wind speed, humidity, UV radiation, and pressure In addition when the time is at night the weather image will display as (Fig 5-1), otherwise the weather image will display the daytime At the top of the weather image shows where the

45 weather is happening as well as where the weather station is currently installed In addition, the application also has a language conversion feature from Vietnamese to English to support international users.

Ha Ff = i ủ ForeCast Details About

Figure 5-3: Weather history table for the day

When we want to monitor the overall weather situation during the day, we can select the detailed icon in the right corner of the screen (Fig 5-2) Displays a weather history

46 table of values include: Date, time, windspeed, wind gust, temperature, pressure, daily rain and UV.

Figure 5-4: The screen displays the rain forecast

(Fig 5-3) Shows Rain forecast within ten minutes.

Figure 5-5: The screen displays the temperature forecast

(Fig 5-6) Shows temperature forecast within one hours.

Figure 5-6: The screen displays the UV forecast

(Fig 5-7) Shows the UV forecast in the next | hour.

Figure 5-7: The screen displays the wind gust forecast

(Fig 5-7) Shows wind gust forecast within ten minutes.

In addition, we also have an introduction to the application (Fig 5-8) including the names and contributions of each team member.

This is a list of API keys used to retrieve data from the database through our phone application:

No Function URL Parameters Test

1 View a list of the 10 http://weatherf | no parameters GET latest data streams for a | orecast.achipv station n.com:3000/vi ew/?id=id

2 View the latest station | http://weatherf | no parameters GET forecast data orecast.achipv n.com:3000/for ecast/

3 Post data from IOT http://weatherf "id: string GET weather station to orecast.achipv temp: temperature server n.com:3000/sta humi: moisture tion/? winddir: wind direction number windspeed: wind speed"

4 Post data from the http://weatherf "tram= station GET forecast model to the orecast.achipv | code server n.com:3000/pr yeuto=[rain,hour,u edict/? vị giatri=predicted value"

5 View data by station http://weatherf | idtram=matram GET name (example: tram1) orecast.achipv

52 n.com:3000/vi ewtram/?id=tra m

View the weather fora | http://weatherf | nl,n2=yyyy-mm-dd = | GET period of time from the | orecast.achipv | gio:phut:giay start date to the end of | n.com:3000/vi the day (Demo function | ewstationhistor not add to the y/?idtram=tra application yet) m1 &ngaybd=2

View list of weather http://weatherf | no parameters GET stations orecast.achipv n.com:3000/pr edict/?

View today's data for http://weatherf | no parameters GET the app orecast.achipv n.com:3000/Vi ew2

View forecast data of http://weatherf | idtram=matram GET the app's temperature element orecast.achipv n.com:3000/for ecast/?idtram=t

10 View forecast data of the app's uv factor http://weatherf orecast.achipv n.com:3000/for ecast/?idtram=t ram] &yeuto=u v idtram=matram GET

11 View forecast data of the app's rainfall factor http://weatherf orecast.achipv n.com:3000/for ecast/?idtram=t ram l &yeuto=r ainfall idtram=matram GET

12 See the list of the app's

10 latest data streams http://weatherf orecast.achipv n.com:3000/for ecast/?idtram=t ram] &yeuto=r ainfall no parameters GET

Website access link: http://weatherforecast.achipvn.com/web/

Main purpose of this website is to optimally display other parameters such as comparing indoor and outdoor heat Intraday UV chart and intraday precipitation chart.

In addition, on this website we can access and view more historical weather data than on the mobile application.

Note: This website is for research and study purposes, so there will be no specific security services.

(Fig 5-4) Shows the interface of the website as well as the only display of this website. Any operations outside of this display are unrelated to this topic Here the dashboard bar displays real-time weather information Below are the display charts, which we will explain more clearly below.

HE 'ntdoor Temperature [IJ Outdoor Temperature

Figure 5-10: Graph comparing indoor and outdoor temperatures

(Fig 5-5) Describes temperature variations during the day as well as compares indoor and outdoor temperatures so that high temperature differences that affect health can be identified and prevented.

AA Aa AA A AA^A EE OLE ‘

Figure 5-11: The graph shows UV radiation during the day

(Fig 5-6) Describes UV variations during the day From there, it is possible to determine the time with the highest UV index to warn people to limit going out during the above mentioned time.

@yYesterday(mm) ‘@Today(mm) @Forecast(tomorrow)

Figure 5-12: The graph shows rainfall for the day and yesterday

This is a chart in development because predicting the possibility of a conspiracy tomorrow is difficult to do, it may change within an hour.

AI FORECASTS Search for la]

View data Tram1 —_ vÌ[Fiter

History dete API link:http:/weatherforecast.achipvn.com:3000/viewstationhistory?idtram=tram 1 &ngaybd 24-01-01 00:00:00&ngaykt 24-01-04 00:00:00

Select API test lwindspeed|windGust}pressureluy|temperature|date_time daityrain|humidity) lo o 2984 |o [27.2 2023-11-11T16/58:21.0002|0 loz lo 0 2984 |0 272 2023-11-11T16/56:20.000Z|0 l92 lo 0 29.843 |0 |27-2 [2023-11-11T16:54:19.0002|0 l92 lo lo 2984 |o [27.2 [B023-11-11T16:52:18.0o0zlo 92

112 |224 |29849 |0|273 '2023-11-11T16:50:17.0007|0 l92 lo 112 |29846 |o |273 [2023-11-11716:48:16,000Z/0 l92 1.57 224 —_ |29846 |0 [27.3 2023-11-11T16:46:16.000|0 l92 lo 1.12 |29843 o [27.3 2023-11-11T16:44:15.0002|0 92 lo 536 [29849 lo [27.3 [B023-11-11116:42:14.0002|0 l92 logo 1.12 [29.843 |o |27.4 [2023-11-11716:40:13.000Z/0 l92 o22 112 |29846 |o 274 2023-11-11T16:38:12.0002|0 l92 lo 112 |29846 |o |274 [2023-11-11716:36:11,000Z/0 l92

045 |224 |z9855 |0 |275 |2023-11-11T16/26.05.000Z|0 lor lo lo [29.882 |o ja75 |B023-11-11T16:24:04.0002|0 jot lo 112 |29858 |o [275 2023-11-11716:22:03.0007/0 jot o7 224 — (29.855 |o 275 2023-11-11716:20-02.0002/0 91

Figure 5-13: The page displays historical weather forecast information

(Fig 5-13) Show the table representation the entire weather history collected from the weather station. voc a = bier Current time 18-01-2024

Select API test[View data Tram1 _ v][Eitter |

Predict factor: rainfall[Station|Date time kết tram1 |2024-01-18 23:07:44 tram1 [2024-01-13 20:52:4410,0 tram1 |2024-01-13117.00:36 rami |2024-01-1 tram1 uw

Temperature tram1 |2024-01-13 16:29:27|0.0 kram1 |2024-01-13 16:27:12|0.0 tram1 [2024-01-05 14:23:43|0.0 tram1 [2024-01-05 14:17:02|0.0 tram1 [2024-01-05 14:14:04|0.0 tram1 |2023-12-21 21:05:33|0.0 lram1 |2023-12-21 20:35:33|0.0 tram1 |2023-12-21 20:05:33|0.0 lram1 |2023-12-21 19:35:31|0.0 tram1 |2023-12-21 19:05:33|0.0 tram1 |2023-12-21 18:35:34|0.0 tram1 |2023-12-21 18:05:34|0.0 tram1 |2023-12-21 17:35:33|0.0 tram1 |2023-12-21 17:05:320.0 tram1 [2023-12-21 16:35:37|0.0 tram1 [2023-12-21 16:05:39|0.0

Figure 5-14: The page displays forecasted rainfall

(Fig 5-14) This page displays the table of all forecast rainfall data.

AI FORECASTS Search for la]

Select API test| View data Tram1 xi|Fitter bề S9, Predict factor: uv§tationDate time [Vatue

Forecast lram1 |2024-01-14 02+ 3.734441 tram1 [2024-01-14 02 |3.7486308| tram1 [2024-01-14 02:22:00|3.7615457| tram1 [2024-01-14 02: |3.7738767| tram1 [2024-01-14 02:02:00|3.7862191|

|tram1 |2024-01-14 00:52:00|3.9696193| tram1 |2024-01-14 00:42:00|4.013096. tram1 [2024-01-14 00: Ì4.o596495| tram1 |2024-01-14 00:22:00|4.1083565] ram1 |2024-01-14 00:12:00|4.156824 tram1 |2024-01-14 00:02:00|4.200368. tram1 |2024-01-13 23:52:00|4.2392526| ltram1 |2024-01-13 23:42:00/4.2749085| tram1 [2024-01-13 23: |4.3099656| tram1 [2024-01-13 23:22:00|4.3381476| tram1 [2024-01643 23:12:00|4.3582582| tram1 |2024-01-13 23.02:00|4.370958.

Figure 5-15: The page displays forecasted UV

(Fig 5-15) This page displays the table of all forecast UV data.

Al FORECASTS Search for, WEATHER rea)

Select API test] View data Tram1 || Filter

Teeny Predict factor: windgustSttionpate time \Value| itram1 |2024-01-18 23:07:43 itram1 (2024-01-13 17:12:59]1.0 tram1 |2024-01 17:12:52|1.0 lram1 |2024-01-13 17:12:45|1.0 lram1 |2024-01-13 17:11:01/1.0 ltram1 |2024-01-13 17:04:04]1.0 [tram1 |2024-01-13 17: ltram1 |2024-01-13 17:00:59|1.0 tram1 |2024-01-05 10:56:17|12.2

Copyright Lê Đỗ Văn Bằng 2023

Figure 5-16: The page displays forecasted wind gust

(Fig 5-16) This page displays the table of all forecast wind gust data.

Select API test| View data rami] Fi

Figure 5-17: The page displays forecasted temperature

(Fig 5-17) This page displays the table of all forecast temperature data.

+Video test receive data from the weather station to the database https://youtu.be/FtuzJOKTEYA

+App introduction video: https://drive.google.com/file/d/1nr2q6RqTPLNEDT6eVnUGkS5SXua0pZGPSc/view?u sp=sharing

System EValuafiOI 5- 5-6 St S SE +E111111111112111111111211121111111111 1111k 60

This section will introduce similar weather display applications as well as compare with our application.

The first is the AccuWeather app (Fig 5-18) This application has outstanding features such as providing accurate weather forecasts for many locations around the world, minute-by-minute updates on rainfall amount, rain type, intensity and weather impact forecasts on the areas area.

@ AccuWeather = tebe Keep an Eye on the Details

Stay Updated Stay Prepared CON ti Stay.Ahead of the Storm.

It goes without saying that this is one of the most reputable weather monitoring applications today The biggest difference is that our application can measure temperature and humidity indoors (section 5.2) thanks to the Wifi gateway sensor device, which takes on the role of receiving signals from the station as well as measuring two factors: temperature and humidity in the home It can be said that this is a plus point with our weather forecast system because we can see the temperature difference between indoors and outdoors.

Second is the application (Fig 5-19) whose website link is https://thoitiet.vn/ , this application displays very detailed and specific weather information However, we noticed that this website has a delay in getting the weather information API and uploading it to the system, specifically 5 minutes It can sometimes be due to pass signals or some other factors That's why our system clearly demonstrates independence and is not dependent on third parties, specifically monitoring machines. Not only that, our system can completely control and adjust the devices monitoring and maintenance.

Overall assessment, we find that our application has fully demonstrated the elements to be called a weather information display application However, to be honest, our application still has many shortcomings that need to be improved such as the accuracy of forecast values, push notifications of important weather milestones and expanding the forecast range for many different areas as well as developing and improving the entire system towards a modern and flexible weather forecast network.

CONCLUSION - 1 1 + 1 TT HH HH HH Họ Ho nàn 63

In essence, crafting an AI-based weather forecast system and its accompanying mobile app is a major leap toward transforming how we access and comprehend weather information This thesis embarks on a journey marked by the fusion of cutting-edge technologies, inventive methodologies, and a strong focus on user experience.

As we navigated the development process, careful consideration was given to selecting machine learning algorithms like K-Nearest Neighbors, and Long Short-Term Memory These choices aimed to elevate the predictive capabilities of our weather forecast system, allowing it to adapt swiftly to the ever-changing atmospheric conditions in real time.

Our mobile app, shaped with a user-centric ethos, goes beyond offering an easy-to-use interface It integrates personalized features and delivering weather forecasts tailored to individual preferences and issuing timely alerts The incorporation of sustainable technologies, including renewable energy sources, aligns our system with environmentally conscious practices, contributing to long-term ecological sustainability.

Through the lenses of analysis and design, we gain insight into the intricate interplay between system modules, with a focus on scalability, cross-platform compatibility, and the seamless flow of data The meticulous testing of technologies establishes a robust foundation for the system's seamless functionality.

Upon completion of the project, it becomes evident that the convergence of artificial intelligence, mobile technology, and sustainability has given rise to a sophisticated weather forecasting system Beyond fulfilling the technical demand for accuracy, this system places a premium on user experience, ensuring weather information is not only accessible but also practical for individuals across diverse domains.

Looking forward, this thesis serves as a springboard for future advancements in weather prediction technology It underscores the importance of continuous learning mechanisms, scalability, and the integration of emerging technologies The journey embarked upon in this thesis is not just a successful implementation; it is a commitment to pushing the boundaries of innovation in the realm of weather forecasting.

The thesis develops a weather forecast system and mobile application based on AI, opening up many future development directions.

Update more advanced prediction models to improve the accuracy of weather forecasting Test many different models to come up with a model suitable for the climate situation of each region.

2 Expand the civil weather station model

Install more weather station systems in different areas From there, it is possible to create a communication network between stations to provide accurate weather conditions in each area

3.Optimize data access and storage methods

Weather data becomes very large if collected over a long period of time Therefore, there should be a safe and stable database to retrieve and store this volume of data.

4.Improve the forecast application interface

Although the application demonstrates the full functionality of a weather forecast application However, the interface needs further development to reach the young customer segment.

Prepare a detailed manual on the weather station's sensors, supporting station maintenance and repair when problems arise Each station owner will have certain knowledge about monitoring station equipment.

[1]: Impact of Climate Change on Precipitation Extremes over Ho Chi Minh City, Vietnam, https://doi.org/10.3390/w13020120

[2]: https://ascelibrary.org/doi/abs/10.1061/(ASCE)HE.1943-5584.0000481

[3]: International Journal of Technical Research and Applications e-ISSN: 2320-8163 [4]: https://www.utgjiu.ro/revista/ec/pdf/2018-04/01_marinoiu.pdf

[5]: https://ieeexplore.ieee.org/abstract/document/7359273

[6]: https://www.sciencedirect.com/science/article/pii/S 18770509183 1439X

[7]: https://reintech.1o/blog/how-to-use-react-native-with-the-react-native-cli

[8]: https://www.javatpoint.com/javascript-tutorial

[9]: https://reintech.io/blog/how-to-use-react-native-with-the-react-native-cli

[10]: http:/Awww.codeproject.com/Articles/1037052/Introduction-to-MongoDB

[11]: https:/Avww.one.com/en/hosting/what-is-mariadb

[12]: https://phoenixnap.com/kb/ssh-to-connect-to-remote-server-linux-or-windows

[13]: https://sebastianraschka.com/pdf/lecture-notes/stat479fs18/02_knn_notes.pdf

[14]:https://www.analyticsvidhya.com/blog/2021/03/introduction-to-long-short-term- memory-I|stm/

[15]: https:/numpy.org/doc/stable/index.html

[16]: https://topdev.vn/blog/tensorflow-la-gi/

[18]: https://startbootstrap.com/theme/sb-admin-2

[19]: http://tapchikttv.vn/data/article/1885/7.%20Proofreading.pdf

Ngày đăng: 02/10/2024, 03:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w