Tải bản đầy đủ (.pdf) (25 trang)

báo cáo phân tích và dự báo thời tiết hà nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.78 MB, 25 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> BỘ KẾ HOẠCH VÀ ĐẦU TƯ HỌC VIỆN CHÍNH SÁCH VÀ PHÁT TRIỂN</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>---MỤC LỤC</b>

<b><small>MỞ ĐẦU...3</small></b>

<b><small>1. Lý do hình thành đề tài...3</small></b>

<b><small>2. Mục tiêu nghiên cứu đề tài...4</small></b>

<b><small>3. Đối tượng và phạm vi nghiên cứu...4</small></b>

<b><small>4. Phương pháp nghiên cứu...4</small></b>

<b><small>5. Kết cấu của đề tài...4</small></b>

<b><small>CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ R...5</small></b>

<b><small>1.1. Giới thiệu về ngôn ngữ R...5</small></b>

<b><small>1.2 Lịch sử ra đời và sự phát triển ngôn ngữ R...6</small></b>

<b><small>1.3. Những ưu điểm và hạn chế của ngôn ngữ R...6</small></b>

<i><b><small>2.1.1. Giới thiệu mô hình...11</small></b></i>

<i><b><small>2.1.2. Quy trình dự báo bằng mơ hình Arima:...11</small></b></i>

<b><small>2.2. Mơ hình HOLT – WINTER...13</small></b>

<i><b><small>2.2.1. Giới thiệu mơ hình...13</small></b></i>

<i><b><small>2.2.2. Quy trình dự báo theo Phương pháp Holt-Winter...14</small></b></i>

<b><small>2.3. Phương pháp san mũ Holt – Winter...14</small></b>

<i><b><small>2.3.1. Phương pháp san mũ Holt – Winter (Mơ hình cộng)...14</small></b></i>

<i><b><small>2.3.2 Phương pháp san mũ Holt – Winter (Mơ hình nhân)...15</small></b></i>

<i><b><small>2.3.3 Phương pháp san mũ Holt – Winter khơng mùa vụ...15</small></b></i>

<b><small>CHƯƠNG 3: ỨNG DỤNG NGƠN NGỮ R VÀO DỰ BÁO THỜI TIẾT HÀ NỘI...17</small></b>

<b><small>3.1 Mô tả dữ liệu...17</small></b>

<b><small>3.2. Các thư viện được sử dụng...17</small></b>

<b><small>3.3. Trực quan hóa dữ liệu...18</small></b>

<b><small>3.4. Phân tách chuỗi thời gian...19</small></b>

<b><small>3.5. Các mơ hình...21</small></b>

<i><b><small>3.5.1. Phương pháp san mũ Holt-Winter mơ hình cộng...21</small></b></i>

<i><b><small>3.5.2. Mơ hình Arima...23</small></b></i>

<i><b><small>3.5.3. Độ chính xác của mơ hình...26</small></b></i>

<b><small>3.6. Các kết luận và khuyến nghị đưa ra...27</small></b>

<b><small>TÀI LIỆU THAM KHẢO...29</small></b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>MỞ ĐẦU</b>

1. Lý do hình thành đề tài

Ngơn ngữ lập trình R là một trong những cơng cụ tiên tiến mới nhấttrong thống kê và phân tích dữ liệu. Ngày nay, hàng triệu nhà phân tích, nhànghiên cứu và thương hiệu lớn nhưu Facebook, Google, Bing, Accdvisor, Wiprođang sử dụng R để giải quyết các vấn đề phức tạp trong kinh doanh. Các ứngdụng của ngơn ngữ lập trình R không chỉ giới hạn trong một lĩnh vực, mà chúngta có thể thấy được việc sử dụng ngơn ngữ R trong ngân hàng, thương mại điệntử, tài chính và nhiều lĩnh vực khác.

Trên Trái Đất, các hiện tượng thời tiết thường gặp gồm có gió, mây,mưa, tuyết, sương giá và bão bụi. Các sự kiện ít phổ biến khác gồm các thảmhọa tự nhiên như lốc, bão, bão tuyết. Từ những hiện tượng thời tiết này, dự báothời tiết là một ngành ứng dụng của khoa học công nghệ để tiên đốn các trạngthái và vị trí của bầu khí quyển trong tương lai gần sắp tới. Các công tác dự báothời tiết được thực hiện bằng cách thu thập số liệu về các trạng thái hiện tại củabầu khí quyển và áp dụng những hiểu biết khoa học về các q trình của khíquyển để tiên đốn sự tiến triển của khí quyển. Tuy nhiên, nỗ lực dự báo của.con người chúng ta chủ yếu dựa trên cơ sở về sự thay đổi của áp suất khí quyển,điều kiện hiện tại của thời tiết, và điều kiện bầu trời, các mơ hình dự báo đượcsử dụng để dự báo trong tương lai. Những dữ liệu đầu vào của chúng ta vẫn đòihỏi phải thực hiện việc lựa chọn mơ hình dự báo tốt nhất có thể để làm căn cứcho việc dự báo, bao gồm kĩ năng nhận định các phần tham gia, teleconnection(liên hệ từ xa), kiến thức về hoạt động của mơ hình và kiến thức về khuynhhướng của trái đất. Do bản chất hỗn loạn của khí quyển nên cần phải có nhữngchiếc máy tính để giải các phương trình mơ tả bầu khí quyển. Những sai sốtrong việc đo đạc các số liệu đầu vào và sự hiểu biết chưa hoàn thiện về các hoạtđộng của khí quyển đã làm cho cơng tác dự báo trở lên ít chính xác hơn trênnhiều địa điểm trong cùng một khoảng thời gian và khi thời gian dự báo tănglên. Việc sử dụng kết hợp và liên ứng các mô giúp giảm thiểu sai số và chọn rađược kết quả chính xác khả quan nhất.

Vì để đưa ra các kết quả khả quan nhất về dự báo thời tiết, chúng emđã chọn đề tài nghiên cứu “ Ứng dụng ngôn ngữ R vào dự báo thời tiết Hà Nội”để đưa ra các cảnh báo thời tiết trong một khoảng thời gian nhất định.

<small>3</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2. Mục tiêu nghiên cứu đề tài

- Mục tiêu của đề tài là nghiên cứu, dự báo thời tiết Hà Nội. Từ đó, cungcấp các thơng tin nhằm bảo vệ cuộc sống con người Việt Nam cũng như tài sảnvà các hoạt động ngoài trời như: gặt lúa, trồng hoa màu, đường giao thông và dựbáo về nhiệt độ và lượng mưa trong tất cả các hoạt động sản xuất, kinh doanh.3. Đối tượng và phạm vi nghiên cứu

- Đối tượng: Dự báo thời tiết Hà Nội- Phạm vi nghiên cứu: Nhiệt độ- Thời gian: 01/01/2021 – 31/08/2023 4. Phương pháp nghiên cứu

Để phục vụ cho đề tài nghiên cứu “ Ứng dụng ngôn ngữ R vào dự báo thờitiết Hà Nội” cần một số phương pháp sau:

− Quan sát thực tế, tập hợp số liệu kết hợp phương pháp đánh giá. − Phương pháp nghiên cứu thống kê.

− Phương pháp so sánh. − Phương pháp tổng hợp. 5. Kết cấu của đề tài

Ngoài phần mở đầu và kết luận, danh mục các tài liệu tham khảo thì đề tàigồm những phần sau:

Chương 1: Tổng quan về ngôn ngữ RChương 2: Cơ sở lý thuyết về ngôn ngữ R

Chương 3: Ứng dụng ngôn ngữ R vào dự báo thời tiết Hà Nội giai đoạn

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ R1.1. Giới thiệu về ngôn ngữ R </b>

R là một ngôn ngữ lập trình (programming language) được thiết kế chomục đích phân tích dữ liệu. Khác với các phần mềm thương mại được liệt kê ởtrên, R là một chương trình có mã nguồn mở (open source) do đó, R hồn tồnmiễn phí và được phát triển bởi đội ngũ các nhà phân tích dữ liệu trên tồn thếgiới. Với mục đích thiết kế giành riêng cho phân tích dữ liệu nên R có hiệu năngmạnh mẽ trong việc tổ chức, khái phá, phân tích và trực quan dữ liệu. Tác giảcủa ngơn ngữ R là Ross Ihaka và Robert Gentleman tại Đại học Auckland (NewZealand). Với nhu cầu muốn có một chương trình phân tích dữ liệu hiệu quả vàchính xác hơn các phần mềm thương mại, dựa trên ngôn ngữ S và chương trìnhS-PLUS vốn đã khả phổ biến vào thời điểm ấy hai nhà khoa học của Đại họcAuckland đã tạo nên R. Tuy nhiên, người nhìn ra tiềm năng của ngôn ngữ nàyvà muốn chúng được chia sẻ công khai cho tồn thế giới lại chính là MartinMächler. Ơng đã thuyết phục Ross Ihaka và Robert Gentleman là miễn phí vàchia sẻ mã nguồn của ngơn ngữ R để cho cộng đồng thống kê toàn thế giới cùngphát triển nó từ năm 1995

Hình 1.1: Giao diện của RstudioNguồn: <small>RPubs - Introduction about R and RStudio</small>

<small>5</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Ngồi vị thế của một chương trình miễn phí, R sở hữu một số tính năngquan trọng có thể thay thế các phần mềm thương mại khác trong lĩnh vực phântích dữ liệu.

<b>1.2 Lịch sử ra đời và sự phát triển ngơn ngữ R</b>

Lịch sử của ngơn ngữ lập trình và mơi trường tính tốn R xuất phát từ cuốinhững năm 1980 và phát triển mạnh mẽ qua các giai đoạn sau đây:

<b>* Xuất phát và Phát triển sơ khai (1980s – Đầu 1990s): R xuất phát từ S,</b>

một ngôn ngữ lập trình và mơi trường tính tốn được phát triển tại BellLaboratories vào những năm 1970. Cuối những năm 1980, Ross Ihaka và RobertGentleman, hai giáo sư tại Đại học Auckland ở New Zealand, bắt đầu phát triểnR dựa trên ngôn ngữ S. Phiên bản đầu tiên của R đã xuất hiện vào năm 1993. Rđược phát triển dưới giấy phép mã nguồn mở, cho phép người dùng tự do sửdụng, chỉnh sửa và phân phối nó.

<b>* Sự phát triển và Sự phổ biến (1990s – 2000s): R nhanh chóng trở nên</b>

phổ biến trong cộng đồng thống kê và phân tích dữ liệu. Cộng đồng người dùngvà phát triển ngày càng lớn mạnh, và nhiều gói mở rộng được phát triển để mởrộng khả năng của R. Trong giai đoạn này, R đã trở thành một trong những cơngcụ chính cho thống kê và phân tích dữ liệu trong nhiều lĩnh vực.

* <b>Thương mại hóa và Sự ra đời của RStudio (2010s):</b> Do sự phát triểnmạnh mẽ của R, nhiều công ty và tổ chức đã bắt đầu sử dụng R cho các ứngdụng thương mại. Để hỗ trợ người dùng R, RStudio Inc. đã thành lập và pháttriển RStudio, một mơi trường tính tốn tích hợp cho R. RStudio đã đóng gópđáng kể vào việc tạo điều kiện thuận lợi cho việc phát triển và sử dụng R.

<b>* Sự phát triển liên tục (Hiện tại): R vẫn tiếp tục phát triển liên tục với sự</b>

đóng góp của cộng đồng người dùng và nhà phát triển. Các phiên bản mới liêntục ra mắt với cải tiến và tính năng mới. R đã trở thành một phần quan trọngtrong lĩnh vực Data Science và khoa học dữ liệu, và nó được sử dụng rộng rãitrong nghiên cứu, công nghiệp và học tập.

<b>1.3. Những ưu điểm và hạn chế của ngôn ngữ R</b>

<i><b>1.3.1. Ưu điểm</b></i>

- Đa số các doanh nghiệp hiện nay đều cần dựa vào phân tích dữ liệu đểphát triển kinh doanh. Trong khi đó, R là ngơn ngữ lập trình có tính ứng dụngcao với phân tích dữ liệu. Nó được ứng dụng vào thống kê, sinh trắc học và cả di

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

truyền học. Vì thế, nhân viên có khả năng dùng ngơn ngữ R để tối ưu chi phí sẽđược chú trọng hơn ở doanh nghiệp.

Dễ dàng thu thập và phân tích dữ liệu

Với R, bạn dễ dàng thực hiện quá trình thu thập dữ liệu và phân tích chúng.Các ngơn ngữ khác đều được hỗ trợ tác vụ này nhưng R giúp tối ưu và nhanhgọn hơn khá nhiều.

Về phân tích dữ liệu, R có các tính năng:

- Chạy code khơng cần trình biên dịch: R là Interpreted Language (ngơnngữ thơng dịch). Nó khơng cần đến trình biên dịch (compiler) vẫn có thểchạy code. Bên cạnh đó, R giúp thơng dịch mã lệnh và hỗ trợ cho việc lậptrình diễn ra thuận lợi hơn.

- Thực hiện phép tính trên vectors: R cịn là vector-language nên khơng cầnđến vịng lặp vẫn có thể sử dụng bất kỳ hàm số nào.

- Tiết kiệm chi phí tối đa cho doanh nghiệp.

Ngơn ngữ R có mã nguồn mở nên giúp doanh nghiệp tiết kiệm nhiều chiphí. Bên cạnh đó, ngơn ngữ này cịn vơ cùng phù hợp để mơ phỏng thơng quabảng biểu.

Ngồi ra, với hơn 15.000 package trong tất cả các lĩnh vực nghiên cứu khácnhau, khó có một cơng cụ nào phù hợp với kinh doanh được như ngơn ngữ R.

Hình 1.2: Một số ưu điểm của ngôn ngữ R

Nguồn: class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

 Một số ưu điểm khác của ngôn ngữ R

- Đa số ý tưởng mới đều được ứng dụng với R trước tiên.- Cho phép lập trình viên sử dụng miễn phí.

- Dễ tìm hiểu cách vận hành của R thông qua phân tích source code.Developers được phép thêm tính năng, sửa lỗi và tích hợp với các ngônngữ khác (C, C++). Hỗ trợ tương tác với nhiều nguồn dữ liệu và gói thốngkê như SPSS, SAS.

- Có thể chạy trên nhiều hệ điều hành phổ biến. - Cộng đồng lớn mạnh với cơ sở dữ liệu phong phú.

<b>1.4. Một số thư viện thông dụng trong R</b>

* Thư viện ggplot2: là một package hỗ trợ visualization (trực quan hóa) rấtmạnh trong R Thư viện này cung cấp cung cấp các công cụ mạnh mẽ để tạo ra.đồ thị và biểu đồ chất lượng cao. Nó cho phép bạn tạo ra các biểu đồ phân tán,biểu đồ đường, biểu đồ cột và nhiều loại biểu đồ khác để trực quan hóa dữ liệu.Ngồi ra ggplot2 còn cho phép người dùng tùy chỉnh màu sắc, kích cỡ, theme,title, … để đồ thị được đẹp hơn.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hình 1.3: Thư viện ggplot2Nguồn: <small>RPubs - Introduction about R and RStudio</small>

* Thư viện dplyr: Thư viện này cung cấp các công cụ linh hoạt để xử lý, truyvấn và biến đổi dữ liệu. Nó cho phép bạn thực hiện các hoạt động như lọc, sắpxếp, tóm tắt và nối các bảng dữ liệu.

* Thư viện tidyr: Thư viện này giúp bạn làm việc với dữ liệu không đồng nhấtvà chuyển đổi giữa các công cụ để làm phẳng dữ liệu ( hoặc “pivot” ) và chuyểnđổi giữa dạng rộng và dạng dài.

* Thư viện Psych và thư viện Hmic: Thư viện khá hữu ích trong việc tính tốnvà summary các chỉ số thống kê. Khi sử dụng hai thư viện nà, chúng ta có thểkhái quát tất cả các đặc trưng của bộ dữ liệu. Dữ liệu được tóm tắt theo các kiểudạng biến, biến liên tục và biến ngẫu nhiên

Hình 1.4: Thư viện PsychNguồn: <small>RPubs - Introduction about R and RStudio</small>

<small>9</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

* Thư viện lubridate: Thư viện này giúp bạn làm việc với dữ liệu thời gian vàngày tháng. Nó cung cấp các cơng cụ để phân tích, trích xuất và biến đổi dữ liệuthời gian một cách dễ dàng.

* Thư viện stringr: Thư viện này cung cấp các công cụ mạnh mẽ để xử lý vàbiến đổi chuỗi ký tự. Nó cho phép bạn thực hiện các hoạt động như tìm kiếm,thay thế, tách chuỗi và rất nhiều công việc khác liên quan đến chuỗi ký tự.* Thư viện caret: Thư viện này cung cấp các công cụ để xây dựng và đánh giámơ hình dự đốn. Nó cung cấp các thuật tốn học máy phổ biến và cơng cụ đểchọn mơ hình tốt nhất và tinh chỉnh siêu tham số.

<b>1.5. Một số ứng dụng thực tế của R</b>

- Data Science: Trong thời đại IoT, các thiết bị tạo ra hàng terabyte dữ liệucó thể sử dụng để hỗ trợ ra quyết định, khoa học dữ liệu khơng có cách nào kháclà phải tiến lên. Ngôn ngữ R cho các nhà khoa học dữ liệu một công cụ mạnh mẽđể thu thập dữ liệu thời gian thực, đồng thời thực hiện phân tích thống kê và dựbáo, tạo ra các kết quả trực quan dễ hiểu.

- Tính tốn thống kê: R là ngôn ngữ phổ biến nhất trong cộng đồng các nhàthống kê, với một kho package khổng lồ chứa gần 10000 package đáp ứng mọiphép tính thống kê bạn có thể nghĩ ra. Cú pháp đặc biệt của R cho phép các nhàthống kê, kể cả những người khơng có nền tảng khoa học máy tính, cũng có thểnhanh chóng import, làm sạch và phân tích dữ liệu từ nhiều nguồn khác nhau, vẽbiểu đồ từ bất cứ dataset nào.

- Học máy (Machine Learning): R cũng có nhiều package thực hiện các thaotác machine learning như hồi quy tuyến tính, phi tuyến tính, cây quyết định, … Rcịn được sử dụng để cài đặt các thuật toán trong lĩnh vực tài chính, nghiên cứu ditruyền, marketing hay chăm sóc sức khỏe.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT2.1. Mơ hình ARIMA</b>

<i><b>2.1.1. Giới thiệu mơ hình</b></i>

Mơ hình Arima là một loại mơ hình được sử dụng phổ biến trong kinh tếlượng. Có thể hiểu, Arima là mơ hình được sử dụng để dự đoán và khai phá cácdữ liệu trong ngành tài chính và chứng khốn. Đây là một phương pháp nghiêncứu độc lập thơng qua việc dự đốn theo các chuỗi thời gian. Sau đó, các nhànghiên cứu sẽ sử dụng các thuật toán dự báo độ trễ để đưa ra mơ hình phù hợp.

Mơ hình Arima được nghiên cứu và phát hiện bởi hai nhà nghiên cứu làGeorge Box và Gwilym Jenkins. Vì thế, loại mơ hình này còn được biết đến vớitên gọi là phương pháp Box – Jenkins.

Dựa trên giả thuyết chuỗi dừng và phương sai sai số khơng đổi. Mơ hình sửdụng đầu vào chính là những tín hiệu quá khứ của chuỗi được dự báo để dự báonó. Các tín hiệu đó bao gồm: chuỗi tự hồi qui AR (auto regression) và chuỗitrung bình trượt MA (moving average). Hầu hết các chuỗi thời gian sẽ có xuhướng tăng hoặc giảm theo thời gian, do đó yếu tố chuỗi dừng thường khơng đạtđược. Trong trường hợp chuỗi khơng dừng thì ta sẽ cần biến đổi sang chuỗidừng bằng sai phân. Khi đó tham số đặc trưng của mơ hình sẽ có thêm thànhphần bậc của sai phân d và mơ hình được đặc tả bởi 3 tham số ARIMA(p, d, q).

Mơ hình Arima được chia thành 2 loại, đó là mơ hình ARMA (p,q) và mơhình Arima (p,d,q). Trong đó, mơ hình ARMA (p,q) là mơ hình được tạo thànhbởi 2 hàm hỗn hợp AR và MA. Hàm số tuyến tính của chúng sẽ bao gồm nhữngquan sát dừng quá khứ cũng như những sai số được dự báo ở quá khứ và hiệntại.

Mô hình ARIMA (p,d,q) chỉ mơ tả chuỗi dừng hoặc những chuỗi đã saiphân hóa. Do vậy, mơ hình ARIMA(p,d,q) sẽ thể hiện những chuỗi dữ liệukhơng dừng có sai phân là d.

<i><b>2.1.2. Quy trình dự báo bằng mơ hình Arima:</b></i>

1) Xác nhận mơ hình thử nghiệm

Trước tiên, chúng ta cần nhận dạng mơ hình thử nghiệm. Trong đó: d là bậctích hợp và p,q sẽ được xác định bằng một hàm số chuyên dụng, gọi làCorrelogram.

<small>11</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Mơ hình Arima có thể trình bày theo các dạng khác nhau. Phương pháp xácđịnh mơ hình thường được các nhà nghiên cứu thực hiện qua nghiên cứu chiềuhướng biến đổi của hàm tương quan toàn phần hay một phần.

2) Ước lượng tham số

Mơ hình Arima có 2 dạng là ARMA(p,q) và Arima (p,d,q). Với dạngARMA(p,q) sẽ có d = 0, vì thế ta có thể biến đổi về dạng Arima (p,0,q).

Trong quá trình ước lượng tham số, ta cần lưu ý đến cách xác định p qtrong mơ hình Arima. Để xác định hai số liệu này, người ta sẽ sử dụng đồ thịCorrelogram.

Cụ thể, p sẽ là bậc của đồ thị AR. Xét từ độ trễ đầu tiên, thanh nào nằmngoài đường giới hạn và sau độ giảm một cách đáng kể sau một độ trễ thì hệ sốtự tương quan riêng phần đó là p. Tương tự, q sẽ là bậc của MA.

Để ước lượng tham số, ta cần ước lượng khởi đầu cho các tham số a0, a1,…, ap, b1, …, bq của mơ hình dự định ban đầu. Sau đó dựa trên những tham sốđã ước lượng, xây dựng những ước lượng sau cùng thông q một q trình lặp.

3) Kiểm định bằng chuẩn đốn

Sau khi các tham số của mơ hình tổng qt đã được xây dựng, người ta sẽkiểm tra mức độ chính xác và sự phù hợp của mơ hình với dữ liệu đã lập. Hãyxem xét phần sai số có phải ngẫu nhiên thuần túy khơng? Nếu có thì mơ hình đóthỏa mãn, nếu khơng thì ta sẽ phải thực hiện lại các bước trên.

4) Dự báo

Ở bước cuối cùng này, khi mơ hình phù hợp với dữ liệu đã tìm được, ta sẽthực hiện dự báo tại thời điểm tiếp theo.

</div>

×