Nghiên cứu thực hiện khảo sát trên tập dữ liệu thực tế tại Công ty Điện lực Cà Mau để tìm ra mức độ khả thi của phương pháp trong việc dự báo phụ tải.. Trong nghiên cứu này, thực hiện tí
TỔNG QUAN
Dự báo
Dự báo là một môn khoa học quan trọng, nhằm nghiên cứu những phương pháp luận khoa học làm cơ sở cho việc đề xuất dự báo cụ thể, cũng nhƣ việc đánh giá mức độ tin cậy, mức độ chính xác của các phương pháp dự báo Tìm ra một mô hình toán thích hợp mô tả quan hệ, phụ thuộc của đại lƣợng cần dự báo vào các yếu tố khác, hay chính bản thân nó Nhiệm vụ chính của dự báo là việc xác định các tham số mô hình Về mặt lý luận các tính chất của mô hình dự đoán đƣợc nghiên cứu trên cơ sở giả định rằng nó đƣợc ứng dụng để dự đoán một quá trình nào đó sinh ra bằng một mô hình giải tích
Hiện nay có nhiều phương pháp luận cho hoạt động dự báo dựa trên kinh nghiệm thuần túy, vận dụng cách giải quyết theo kinh nghiệm vào dự báo là không đầy đủ vì cách làm này chỉ hoàn toàn dựa trên kinh nghiệm của các giai đoạn quá khứ và không phải lúc nào cũng có thể vận dụng vào hoàn cảnh hiện tại đã thay đổi so với trước Do đó, cần hoàn thiện về mặt lý thuyết các vấn đề dự báo Sự hoàn thiện ấy giúp chúng ta có thêm cơ sở tiếp cận với việc lựa chọn các phương pháp dự báo, đánh giá mức độ chính xác của dự báo đồng thời xác định thời gian lớn nhất có thể dùng cho dự báo [1]
Dự báo là nền tảng cho việc lập kế hoạch hiệu quả, giúp các nhà quản lý kinh tế giải quyết các vấn đề cơ bản sau: xác định các cơ hội và thách thức trong tương lai, phân bổ nguồn lực một cách có chủ đích, giảm thiểu rủi ro và không chắc chắn, tối ưu hóa hiệu suất và đạt được các mục tiêu kinh tế mong muốn.
- Xác định xu thế phát triển
- Đề xuất những yếu tố cụ thể quyết định các xu thế đó
- Xác định quy luật và đặc điểm của sự phát triển
Nếu công tác dự báo mà dựa trên lập luận khoa học thì nó sẽ trở thành cơ sở để xây dựng các kế hoạch phát triển nền kinh tế quốc dân Đặc biệt đối với ngành năng lƣợng thì tác dụng của dự báo càng có ý nghĩa quan trọng vì năng lƣợng có liên quan rất chặt chẽ với tất cả ngành kinh tế quốc dân, cũng nhƣ mọi sinh hoạt bình thường của người dân Do đó nếu dự báo không chính xác hoặc sai lệch quá nhiều về khả năng cung cấp nhu cầu năng lƣợng thì sẽ dẫn đến những hạn chế không tốt cho nền kinh tế.
Dự báo phụ tải
Tùy những yêu cầu cụ thể mà ta lựa chọn tầm dự báo, ví dụ để xây dựng kế hoạch phát triển hay chiến lƣợc ta phải dự báo dài hạn hay trung hạn Nếu để phục vụ công việc vận hành ta tiến hành dự báo ngắn hạn Tầm dự báo có thể thay đổi tùy theo định nghĩa, lĩnh vực dự báo, phương pháp dự báo áp dụng tuy nhiên có thể chia thành các loại nhƣ sau:
- Dự báo điều độ: vài giờ, phút, ngày, tuần Nhằm phục vụ công tác vận hành
- Dự báo ngắn hạn: vài tháng, năm
- Dự báo trung hạn: Thời gian dự báo tính theo năm, khoảng từ 3-10 năm
- Dự báo dài hạn từ 15-20 năm và hơn nữa Dự báo này giúp đƣa ra phương hướng phát triển nói chung, không yêu cầu chỉ tiêu cụ thể
Dự báo phụ tải phụ thuộc các yếu tố nhƣ tình hình kinh tế - xã hội, thời gian, thời điểm trong năm, nhiệt độ, khí hậu,… Những yếu tố này thường rất khó kiểm soát
Sử dụng các phương pháp tính toán, ước lượng và đánh giá xu hướng, tốc độ tăng trưởng và nhu cầu của phụ tải mà thực hiện dự báo tương lai Có nhiều phương pháp dự báo sản lượng điện năng được áp dụng, có thể chia làm 02 phương pháp chính: dự báo theo chuỗi thời gian và dự báo tương quan
Dự báo theo chuỗi thời gian là quá trình tìm ra quy luật thay đổi của một đại lượng trong tương lai dựa trên giá trị của đại lượng đó trong quá khứ Các mô hình toán học thường được sử dụng để mô tả mối quan hệ này và đưa ra dự báo.
̂( ): Giá trị đại lƣợng cần dự báo tại thời điểm t
Y(t – 1), Y(t – 2) …Y(t – n): Giá trị của đại lƣợng trong quá khứ
: Thông số mô hình dự báo cần tìm
Dự báo tương quan nghiên cứu mối tương quan giữa điện năng và các chỉ tiêu khác trong nền kinh tế, như tổng giá trị sản lượng công nghiệp và tổng giá trị sản lượng kinh tế quốc dân Mô hình toán học thể hiện mối quan hệ này được sử dụng để dự báo nhu cầu điện năng dựa trên dữ liệu kinh tế.
Ŷ: Giá trị cần dự báo
A 1 , A 2 , …, A n : Giá trị của các đại lƣợng liên quan
a 0 , a 1 , a n : Thông số mô hình dự báo cần tìm
Một số phương pháp dự báo thường được sử dụng bao gồm:
- Tính trực tiếp: dùng để dự báo ngắn hoặc trung bình, dùng đề xuất phương hướng điều chỉnh quy hoạch Nội dung của phương pháp này là xác định nhu cầu điện năng của năm dự báo, dựa trên tổng sản lƣợng kinh tế của các ngành năm đó và suất tiêu hao điện năng đối với từng loại sản phẩm
- Ngoại suy theo thời gian: phương pháp này dùng dữ liệu trong quá khứ, nghiên cứu diễn biến của nhu cầu điện năng trong một thời gian quá khứ ổn định, tìm ra quy luật sau đó tính dự báo cho tương lai Đây là phương pháp dự báo đơn giản dùng để dự báo ngắn hoặc dài tuy nhiên yêu cầu của phương pháp này là dữ liệu cần tuân theo quy luật và tương lai không có nhiễu
- Phương pháp so sánh đối chiếu: phương pháp thực hiện so sánh đối chiếu nhu cầu phát triển điện năng của các nước có hoàn cảnh tương tự nhau Phương pháp này không phải lúc nào cũng thực hiện được vì chỉ có các nước tương đồng về nhiều mặt nhƣ vị trí địa lý, cơ cấu kinh tế, dân số,… thì mới có thể áp dụng một cách hiệu quả
- Phương pháp chuyên gia: Phương pháp này dựa trên hiểu biết sâu sắc của các chuyên gia giỏi về các lĩnh vực của các ngành để dự báo các chỉ tiêu kinh tế Trong lĩnh vực điện năng, cũng có khi sử dụng phương pháp này để dự báo triển vọng điện năng, lúc ấy người ta lấy trung bình trọng số ý kiến của các chuyên gia phát biểu về năng lượng của nước mình để dự báo nhu cầu sử dụng điện Do phương pháp mang tính chủ quan nên độ chính xác và độ tin cậy không cao [1] Các phương pháp này đã được sử dụng từ rất lâu, tuy nhiên có nhiều nhược điểm nhƣ độ chính xác thấp, khả năng thích ứng kém, chi phí triển khai cao hoặc khó khăn xong việc tích hợp các nguồn năng lƣợng tái tạo [2] Để cải thiện những nhƣợc điểm trên, các nhà khoa học đã nghiên cứu các phương pháp dự báo phụ tải có tính chính xác cao hơn, ứng dụng công nghệ AI và sự phát triển của công nghệ máy tính,… một phương pháp có thể kể đến là phương pháp logic mờ
- Phương pháp Logic mờ: đây là một nhánh của trí tuệ nhân tạo, cho phép xử lý thông tin và đƣa ra quyết định dựa trên các quy tắc và dữ liệu không chính xác hoặc mơ hồ Logic mờ có khả năng mô phỏng tư duy của con người, thích hợp để giải quyết các bài toán phức tạp, đặc biệt là những bài toán có nhiều yếu tố ảnh hưởng lẫn nhau Phương pháp này đã có nhiều nghiên cứu cho thấy khả năng dự báo phụ tải chính xác và có thể ứng dụng thực tế, có thể kể đến nhƣ:
Nghiên cứu của J Blancas và J Noel Đề cập về tính hiệu quả của phương pháp logic mờ với sai số trong nhiều trường hợp output1=mf18 (1)
2 Nếu (input1 là cao) và (input2 là cao) và (input3 là cao) và (input4 là thấp)
3 Nếu (input1 là thấp) và (input2 là cao) và (input3 là thấp) và (input4 là trung bình) => output1=mf1 (1)
4 Nếu (input2 là trung bình) và (input3 là trung bình) và (input4 là trung bình) => output1=mf1 (1)
5 Nếu (input4 là thấp) => output1=mf1 (1)
6 Nếu (input3 là thấp) và (input4 là thấp) => output1=mf21 (1)
7 Nếu (input1 là thấp) và (input2 là cao) và (input3 là cao) và (input4 là thấp)
8 Nếu (input1 là trung bình) và (input2 là trung bình) và (input4 là trung bình) => output1=mf81 (1)
9 Nếu (input2 là cao) => output1=mf81 (1)
10 Nếu (input1 là trung bình) và (input3 là cao) => output1=mf30 (1)
11 Nếu (input1 là cao) và (input2 là thấp) và (input3 là cao) và (input4 là trung bình) => output1=mf51 (1)
12 Nếu (input1 là thấp) và (input2 là thấp) và (input4 là thấp) => output1=mf1 (1)
13 Nếu (input1 là thấp) và (input2 là thấp) và (input3 là cao) và (input4 là thấp) => output1=mf5 (1)
14 Nếu (input3 là thấp) => output1=mf10 (1)
15 Nếu (input1 là trung bình) và (input3 là cao) và (input4 là trung bình) => output1=mf53 (1)
16 Nếu (input1 là cao) và (input3 là trung bình) và (input4 là cao) => output1=mf11 (1)
17 Nếu (input1 là cao) và (input2 là cao) và (input3 là thấp) => output1=mf81 (1)
18 Nếu (input2 là cao) và (input4 là trung bình) => output1=mf1 (1)
19 Nếu (input1 là cao) và (input2 là cao) và (input4 là cao) => output1=mf50 (1)
20 Nếu (input1 là thấp) và (input2 là trung bình) và (input3 là thấp) và (input4 là cao) => output1=mf63 (1)
21 Nếu (input1 là cao) và (input2 là cao) và (input3 là thấp) và (input4 là thấp) => output1=mf76 (1)
22 Nếu (input1 là trung bình) và (input2 là trung bình) và (input3 là trung bình) và (input4 là cao) => output1=mf41 (1)
23 Nếu (input3 là cao) và (input4 là trung bình) => output1=mf14 (1)
24 Nếu (input2 là thấp) và (input3 là cao) và (input4 là trung bình) => output1=mf51 (1)
25 Nếu (input1 là cao) và (input4 là trung bình) => output1=mf31 (1)
26 Nếu (input1 là trung bình) và (input2 là trung bình) và (input3 là thấp) và (input4 là trung bình) => output1=mf81 (1)
27 Nếu (input1 là cao) và (input2 là cao) và (input3 là cao) => output1=mf1 (1)
28 Nếu (input1 là thấp) và (input4 là trung bình) => output1=mf4 (1)
29 Nếu (input1 là cao) và (input2 là cao) và (input3 là trung bình) và (input4 là cao) => output1=mf15 (1)
30 Nếu (input1 là cao) và (input3 là cao) và (input4 là cao) => output1=mf1 (1)
31 Nếu (input1 là thấp) và (input2 là thấp) và (input4 là trung bình) => output1=mf36 (1)
32 Nếu (input2 là trung bình) và (input3 là thấp) và (input4 là trung bình) => output1=mf81 (1)
33 Nếu (input1 là thấp) và (input2 là cao) và (input3 là trung bình) và (input4 là thấp) => output1=mf1 (1)
34 Nếu (input1 là thấp) và (input2 là trung bình) và (input3 là cao) => output1=mf47 (1)
35 Nếu (input1 là cao) và (input2 là cao) => output1=mf81 (1)
36 Nếu (input2 là trung bình) và (input3 là trung bình) và (input4 là thấp) => output1=mf60 (1)
37 Nếu (input1 là trung bình) và (input3 là trung bình) và (input4 là trung bình) => output1=mf78 (1)
38 Nếu (input1 là cao) và (input3 là cao) => output1=mf81 (1)
39 Nếu (input2 là cao) và (input3 là thấp) => output1=mf50 (1)
40 Nếu (input2 là thấp) và (input3 là cao) và (input4 là thấp) => output1=mf77 (1)
41 Nếu (input1 là thấp) và (input2 là trung bình) và (input3 là trung bình) => output1=mf81 (1)
42 Nếu (input1 là thấp) và (input2 là trung bình) và (input3 là trung bình) và (input4 là cao) => output1=mf1 (1)
43 Nếu (input1 là trung bình) và (input3 là thấp) và (input4 là thấp) => output1=mf1 (1)
44 Nếu (input1 là trung bình) và (input2 là cao) và (input3 là cao) và (input4 là cao) => output1=mf30 (1)
45 Nếu (input1 là cao) và (input2 là cao) và (input3 là thấp) và (input4 là cao)
46 Nếu (input1 là thấp) và (input2 là cao) và (input3 là cao) => output1=mf41 (1)
47 Nếu (input1 là cao) và (input4 là cao) => output1=mf18 (1)
48 Nếu (input1 là thấp) và (input2 là trung bình) => output1=mf1 (1)
49 Nếu (input2 là cao) và (input3 là cao) => output1=mf13 (1)
50 Nếu (input3 là trung bình) và (input4 là thấp) => output1=mf61 (1)
51 Nếu (input1 là trung bình) và (input2 là thấp) và (input3 là cao) => output1=mf81 (1)
52 Nếu (input1 là cao) và (input2 là cao) và (input3 là trung bình) => output1=mf66 (1)
53 Nếu (input1 là cao) và (input2 là trung bình) và (input4 là cao) => output1=mf56 (1)
54 Nếu (input2 là cao) và (input3 là cao) và (input4 là trung bình) => output1=mf33 (1)
55 Nếu (input1 là thấp) và (input2 là thấp) và (input3 là trung bình) và (input4 là trung bình) => output1=mf81 (1)
56 Nếu (input3 là trung bình) => output1=mf6 (1)
57 Nếu (input1 là cao) và (input2 là cao) và (input3 là cao) và (input4 là trung bình) => output1=mf77 (1)
58 Nếu (input1 là cao) và (input2 là thấp) và (input3 là trung bình) và (input4 là thấp) => output1=mf15 (1)
59 Nếu (input1 là trung bình) và (input2 là cao) và (input3 là trung bình) và (input4 là thấp) => output1=mf1 (1)
60 Nếu (input3 là trung bình) và (input4 là cao) => output1=mf77 (1)
61 Nếu (input1 là cao) và (input2 là trung bình) và (input3 là thấp) và (input4 là trung bình) => output1=mf71 (1)
62 Nếu (input1 là trung bình) và (input2 là thấp) và (input3 là thấp) và (input4 là cao) => output1=mf6 (1)
63 Nếu (input1 là trung bình) và (input2 là trung bình) và (input3 là cao) và (input4 là trung bình) => output1=mf42 (1)
64 Nếu (input1 là thấp) và (input2 là cao) và (input3 là trung bình) => output1=mf1 (1)
65 Nếu (input1 là trung bình) và (input2 là trung bình) và (input3 là cao) => output1=mf70 (1)
66 Nếu (input2 là cao) và (input4 là thấp) => output1=mf19 (1)
67 Nếu (input1 là cao) và (input3 là cao) và (input4 là thấp) => output1=mf81 (1)
Mô hình và tập luật mờ của các cụm còn lại đƣợc trình bày tại phụ lục 5.2
4.5.1.4 Tinh chỉnh hàm thành viên
Sau khi thực hiện tinh chỉnh hàm thành viên ta có 5 mô hình nhƣ sau:
Hình 4.21: FIS 1 Thông số hệ thống nhƣ sau:
Phương pháp giải mờ: Trung bình có trọng số
Các hàm thành viên đầu vào sau khi tinh chỉnh nhƣ sau
Hình 4.22: Hàm thành viên Input 1
Hình 4.23: Hàm thành viên Input 2
Hình 4.24: Hàm thành viên Input 3
Hình 4.25: Hàm thành viên Input 4
Mô hình và tập mờ đầu vào của các mô hình FIS còn lại đƣợc trình bày cụ thể tại phụ lục 6.2
Việc xây dựng mô hình dự báo đã hoàn tất, có thể bắt đầu thực hiện dự báo phụ tải trên mô hình đã xây dựng.
Thực hiện dự báo
Sử dụng tập Test đã đƣợc chia ra ban đầu để làm dữ liệu kiểm tra, ta thực hiện dự báo dựa trên giá trị cuối cùng của tập Train để dự báo phụ tải cho 30 ngày tiếp theo, sau đó dùng kết quả dự báo tìm đƣợc so sánh với tập Test
Chương trình dự báo thực hiện như sau:
- Chọn 1 trong 5 mô hình dự báo bằng cách tính khoảng cách Euclid giữa điểm dự báo đến các tâm cụm C tại bước phân cụm dữ liệu, đảm bảo chỉ lấy chỉ số của tâm cụm gần nhất với điểm dự báo Từ kết quả tính toán, xác định đƣợc mô hình dự báo của điểm dự báo
- Sau khi chọn đƣợc mô hình dự báo, mô hình sẽ tính toán giá trị dự báo ngày tiếp theo (t+1) thông qua giá trị các thời điểm (t-3), (t-2), (t-1), t.
Kết quả
Bảng 4.4: Giá trị dự đoán và sai số nhƣ sau:
Ngày Sản lƣợng Dự báo Chênh lệch
12/06/2023 698759.4 698243.6718 259.65 13/06/2023 886966.9 886376.009 515.73 14/06/2023 756376.8 756939.9068 590.89 15/06/2023 775675.2 773317.5229 563.11 16/06/2023 799082.9 792525.8052 2,357.68 17/06/2023 919882.2 921493.2434 6,557.09 18/06/2023 783591.9 779894.7643 1,611.04 19/06/2023 896958.6 896760.9688 3,697.14 20/06/2023 939741 940438.251 197.63 21/06/2023 791755.8 786590.8989 697.25 22/06/2023 773330 771353.2924 5,164.90 23/06/2023 778055.7 775303.9271 1,976.71 24/06/2023 769139.1 767825.2143 2,751.77 25/06/2023 765387.8 764647.6941 1,313.89 26/06/2023 752117.1 753259.5243 740.11 27/06/2023 760669.7 760625.1419 1,142.42 28/06/2023 765483.7 764729.155 44.56 29/06/2023 925362 926709.554 754.54 30/06/2023 772090.4 770312.1437 1,347.55 Sai số dự báo trung bình MAPE = 0.25 %
Hình 4.26: Kết quả dự báo phụ tải ngày trong thời gian 30 ngày
Ta nhận thấy sai số dự báo nằm trong giới hạn cho phép đối với việc dự báo phụ tải ngày với tầm dự báo là 30 ngày.
So sánh dự báo với phương pháp hồi quy tuyến tính
Theo Kros và Nadler [17], để thực hiện dự báo phụ tải theo phương pháp hồi quy tuyến tính, chúng ta có thể sử dụng phần mềm Excel Các bước thực hiện bao gồm:
Tạo bảng và nhập dữ liệu phụ tải bao gồm 546 điểm dữ liệu tại phụ lục 1 bao gồm 2 cột, cột một đếm số điểm dữ liệu và cột 2 là giá trị sản lượng của ngày tương ứng
Hình 4.27: Mô tả cách nhập dữ liệu, cấu trúc bảng Tiếp theo, ta sử dụng công cụ Regression (Hồi quy) trong hộp công cụ Data Analysis
Hình 4.28: trong hộp công cụ Data Analysis, chọn công cụ Regression
Trong hộp công cụ Regression, ta nhập các thông số nhƣ sau:
Hình 4.29: Hộp công cụ Regression
- Input Y Range: nhập dữ liệu là vùng giá trị sản lƣợng của 539 giá trị tức là giá trị sản lƣợng từ ngày thứ 1 đến ngày thứ 539
- Output X Range: nhập dữ liệu là vùng giá trị đếm số ngày từ 1 đến 539 Còn 7 dữ liệu còn lại trong tập dữ liệu sẽ đƣợc dùng để so sánh với kết quả dự báo thu đƣợc Sau khi nhập các thông tin cần thiết ta bấm OK Kết quả trả về nhƣ sau:
Từ kết quả thu được, ta có phương trình hồi quy như sau: ̂ (4.4)
Ta tính đƣợc dự báo của 7 ngày tiếp theo (ngày thứ 541 – 546) nhƣ sau:
Bảng 4.5: Kết quả dự báo
Ngày Sản lƣợng Dự báo Chênh lệch
Hình 4.31: Kết quả dự báo
Ta thấy kết quả dự báo bằng phương pháp logic mờ hiệu quả hơn phương pháp hồi quy tuyến tính