Giáo trình mạng _Chương 3

11 288 1
Giáo trình mạng _Chương 3

Đ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

Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 47 - Chương 3: THIẾT KẾ CHƯƠNG TRÌNH DỰ BÁO PHỤ TẢI BẰNG MẠNG NEURAL I. LỰA CHỌN VÀ PHÂN TÍCH DỮ LIỆU ĐẦU VÀO . Như đã giới thiệu ở phần một, mạng Neural được ứng dụng vào nhiều lónh vực khác nhau, nhưng trong nội dung luận văn này chỉ ứng dụng vào việc dự báo phụ tải ngắn hạn, dài hạn theo hai phương pháp : Chuỗi thời gian và Tương quan. I.1. Phương pháp chuỗi thời gian : Trong phương pháp này dữ liệu ta chỉ cần đến số liệu đã có trong quá khứ, từ đó ta tìm một quy luật và kéo dài quy luật đó vào tương lai để dự báo. Số liệu này được chia làm hai phần: Phần để huấn luyện và phần để kiểm tra. Trong lónh vực điện năng, số liệu thường được thể hiện dưới những dạng sau đây a. Dự báo cho các giờ trong ngày : Nghiên cứu sự diễn tiến của điện năng theo các giờ ở TP HCM của những năm gần đây ta nhận thấy điện năng tiêu thụ trong các giờ không những phụ thuộc vào các giờ trong ngày mà còn phụ thuộc vào rất nhiều yếu tố khác như các ngày trong tuần ( ngày làm việc, ngày nghỉ,…), các tháng trong năm, các mùa ( quý ) trong năm, các năm,… Do đó việc xây dựng một quy luật tổng quát cho sự diễn tiến điện năng theo giờ là hết sức khó khăn và rất phức tạp. Trong trường hợp này, để ứng dụng trong dự báo ngắn hạn ta chỉ xây dựng một quy luật trong một khoảng thời gian xác đònh nào đó mà thôi. Dữ liệu được cho ở dạng bảng như ở bảng 1 - phụ lục 2 đồ thò dạng dữ liệu như hình 3.1 Hình 3.1: Đồ thò dạng dữ liệu Từ bảng số liệu và đồ thò dạng dữ liệu trên ta nhận thấy: Dữ liệu là một dạng đường điều hòa, trạng thái sẽ gần như lặp lại ở 7 ngày ( 1 tuần) sau đó, tất nhiên lúc này nó sẽ khác đi. Để nâng cao tính chính xác ta xét sự biến đổi sự biến đổi trạng thái của giờ thứ t của ngày quan sát so với các giờ thứ t của những ngày trước đó. Như vậy để dự báo giờ thứ t của ngày n ( kí hiệu X (n, t) ) ta cần các số liệu X (n-1, t), X(n-2, t), …X (n-7, t) để tính. Mặt khác để cho kết quả chính xác ta cập nhật thêm thông tin của ngày hôm đó bằng cách thêm số liệu của Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 48 - các giờ trước đó như: X(n, t-1), X(n, t-2),… Khi đó số Neural lớp đầu vào có thể là 9, 10, 11, 12, 13…, 30. b. Dự báo theo ngày trong tuần : Dữ liệu cũng được cho ở dạng bảng như ở bảng 3.2 Bảng 3.2: Dữ liệu của các ngày trong tuần Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 Chủ nhật Tuần 1 22196.8 23741.6 23118.7 23618 23172.6 22589.3 18752.7 Tuần 2 23136.6 22765.2 23775.1 24033.7 24025.5 23212.6 18762.5 Tuần 3 22889.6 22987.8 21971.9 21950.6 20401.4 19953.91 18930.7 Tuần 4 22961.7 22699.5 23108.8 23192.7 24320.3 23114.5 18147.1 Tuần 5 22692.5 23339.1 22697.8 23300.2 23801.1 22858.2 20122.7 Tuần 6 24009.4 24362.9 24400.5 24077.8 24493.9 22736.7 19924.5 Tuần 7 22578.2 22751.4 21649.2 22516.1 23271.1 22845.1 19460.6 Tuần 8 22911.7 22511.5 24906.7 24918.3 23922.6 22413.9 19495.3 Tuần 9 22255.5 22464.3 22439.9 23060.6 24341.9 22913.8 20256.4 Tuần 10 23305.5 23260.5 23442.9 23108 24449.9 22883.2 19119.2 Tuần 11 23097.4 24111.5 23926.3 24067.5 23267.5 22352.4 18850.3 Tuần 12 22545.5 23772.8 23449.8 23747.3 23587.3 22210.1 19508.1 Tuần 13 23497.5 23385.6 23166.7 23465 23671.6 22951.8 19254.3 Tuần 14 23518.3 23990.7 23336.8 23802.5 23867.2 23160.4 20227.5 Tuần 15 23583 24139 23414.2 23351.4 23061.4 22123.7 18861.7 Tuần 16 22733.7 23476.1 22663.6 23251.8 22881.4 21050.5 19813 Tuần 17 22980.7 22810.3 24428.4 24802.6 24596.7 23113.3 19784.9 Tuần 18 23810.1 24404.4 24213.9 24518.8 24626.8 23568.5 20555.2 Tuần 19 24579.1 24600.9 23579.2 23226.6 23441.8 23226.3 20427.8 Tuần 20 24236.1 24503.7 23107 25111.2 24474.7 22029 19310.8 Tuần 21 23822.2 23444.3 25169.4 25577.5 24883.6 24028 20003.3 (Số liệu tổng hợp từ tháng 8/2003 – 12/2003 điện lực TPHCM). Tương tự như số liệu của các giờ trong ngày nhưng trạng thái lặp lại là sau 4 tuần ( 1 tháng) do đó để dự báo cho 1 tuần nào đó thì ta cần số liệu của 4 tuần trước đó. Số tuần cần để học ≥ 10 và số noron trong lớp đầu vào sẽ là 5, 6, 7, 8,…, 10. c. Dự báo theo các tháng trong năm : Dữ liệu được trình bày theo mẫu ở bảng 3.3 Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 49 - Bảng 3.3: Mẫu số liệu của các tháng trong năm Tháng 1 Tháng 2 … Tháng 12 Năm 1 X11 X12 … X112 Năm … … … … … Năm n Xn1 Xn2 … Xn12 Các tháng trong năm còn phụ thuộc vào yếu tố mùa, năm. Do đó ta xét sự thay đổi của tháng t năm quan sát so với tháng t của những năm trước đó. Để dự báo cho các tháng ở năm thứ n, ta chỉ cần số liệu của 3 năm trước đó, số năm cần để học ≥ 5 ,số noron lớp đầu vào là 4, 5, 6, 7, …, 14. dDự báo theo các quý trong năm : Mẫu dữ liệu trình bày như bảng 3.4 Bảng 3.4: Mẫu dữ liệu của các quý trong một năm Quý 1 Quý 2 Quý 3 Quý 4 Năm 1 X11 X12 X13 X14 Năm … … … … … Năm n Xn1 Xn2 Xn3 Xn4 Trường hợp này tương tự như các tháng trong năm. e. Dự báo theo năm, quý : Dữ liệu được cho ở dạng cột như ở bảng 3.5 Bảng 3.5: Số liệu điện của các năm Năm Điện Năng(Mw) 1987 35813 1988 43936 1989 64065 1990 74221 1991 79663 1992 84691 1993 100218 1994 125872 1995 151037 1996 178060 1997 205151 Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 50 - 1998 239636 1999 272982 2000 309321 2001 351177 2002 411491 2003 461489 ( Trích Điện lực Tiền Giang) Để dự báo cho năm thứ t có nhiều cách, thông thường ta lấy thông số của 3 năm trước đó. Đối với các quý ta sẽ lấy thông số của 4 quý trước để dự báo cho quý thứ 5. Số mẫu cần để học ≥ 10. I.2. Phương pháp tương quan: Trong mô hình dự báo tương quan thông số được cho ở bảng 1. Đây là thông số cơ bản để dự báo phụ tải theo phương pháp dài hạn. Bảng 3.6: Số liệu tương quan Năm S GSP CPI C 1981 4900 16.2 8.7 16 1982 5000 9.5 11.1 14.5 1983 5200 15.4 10.4 14 1984 5300 7.8 7 3.8 1985 6000 16.2 3.75 3.8 1986 6400 10.5 8 12 1987 6850 13 10 5.5 1988 7500 15 7.1 0 1989 8400 14.2 7.5 7 1990 9200 10.5 8.5 8 1991 9560 8.5 5 2 1992 9700 4.7 0.8 0 1993 9950 4.5 0.2 0 1994 10500 7.8 2.1 0 1995 11000 7.2 3.5 0 1996 11600 8 4 0 1997 11700 3 1.2 3.8 1998 11750 8 0.4 0 1999 12300 2.8 1.8 0 2000 12800 8.2 2.3 0 Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 51 - Trong đó: S: Sản lượng điện năng tiêu thụ. GSP: Tốc độ tăng trưởng kinh tế. CPI: Chỉ số giá hàng tiêu dùng. C: Giá điện năng. Đây chỉ là những thông số cơ sở. Để có thể đưa vào mạng Neural ta phải qua biến đổi số liệu. Giả sử ta chọn mạng Neural 12 đầu vào X1, X2, X3,…,X12 thì thông số đầu vào có thể được tính như sau: X1= St là năng lượng tiêu thụ của năm t X2= St-1 là năng lượng tiêu thụ của năm t-1 X3= GSPt tốc độ tăng trưởng kinh tế năm t X4= (GSPt/ (GSPt-1)-1) chỉ số gia tăng tăng trưởng kinh tế năm t so với năm t-1. X5= CPIt chỉ số giá của hàng tiêu dùng năm t X6= CPIt/(CPIt-1) chỉ số gia tăng của hàng tiêu dùng năm t so với năm t-1 X7=Ct là giá điện năm t X8= Ct/(Ct-1) chỉ số gia tăng giá điện năm t so với năm t-1 X9=GSP2 * Cos(3.14*GSP) X10=GSP * C * Cos(3.14*GSP*C) X11=C2 * Cos(3.14*C) X12=(St-1)2 * Cos(3.14*(St-1)) Yt trò số điện năng năm t Sau khi tính toán ta có được bản sau: Bảng 3.7 Bảng 3.7: Số liệu dự báo tương quan ( đã biến đổi) Năm Y X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 1981 4900 0.047 0.042 0.11620 0.0162 0.10870 0.0087 0.11600 0.016 0.01348 0.01347 0.01257 0.00218 1982 5000 0.049 0.047 0.12724 0.0095 0.12077 0.0111 0.13282 0.015 0.01618 0.01688 0.01613 0.00237 1983 5200 0.05 0.049 0.14683 0.0154 0.13333 0.0104 0.15141 0.014 0.02153 0.02218 0.02038 0.00247 1984 5300 0.052 0.05 0.15829 0.0078 0.14266 0.0070 0.15717 0.004 0.02505 0.02480 0.02175 0.00267 1985 6000 0.053 0.052 0.18393 0.0162 0.14801 0.0038 0.16314 0.004 0.03379 0.02987 0.02320 0.00277 1986 6400 0.06 0.053 0.20324 0.0105 0.15985 0.0080 0.18272 0.012 0.04128 0.03688 0.02804 0.00354 1987 6850 0.064 0.06 0.22966 0.0130 0.17583 0.0100 0.19276 0.005 0.05270 0.04384 0.03055 0.00401 1988 7500 0.0685 0.064 0.26411 0.0150 0.18832 0.0071 0.19278 0.000 0.06968 0.05027 0.03056 0.00458 1989 8400 0.075 0.0685 0.30162 0.0142 0.20244 0.0075 0.20626 0.007 0.09088 0.06103 0.03393 0.00547 1990 9200 0.084 0.075 0.33329 0.0105 0.21969 0.0085 0.22276 0.008 0.11102 0.07224 0.03797 0.00681 Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 52 - 1991 9560 0.092 0.084 0.36162 0.0085 0.23063 0.0050 0.22722 0.002 0.13072 0.07945 0.03904 0.00811 1992 9700 0.0956 0.092 0.37861 0.0047 0.23248 0.0008 0.22722 0.000 0.14333 0.08291 0.03904 0.00873 1993 9950 0.097 0.0956 0.39565 0.0045 0.23294 0.0002 0.22722 0.000 0.15652 0.08634 0.03904 0.00898 1994 10500 0.0995 0.097 0.42651 0.0078 0.23783 0.0021 0.22722 0.000 0.18186 0.09246 0.03904 0.00942 1995 11000 0.105 0.0995 0.45722 0.0072 0.24616 0.0035 0.22722 0.000 0.20900 0.09841 0.03904 0.01043 1996 11600 0.11 0.105 0.49380 0.0080 0.25600 0.0040 0.22722 0.000 0.24376 0.10531 0.03904 0.01139 1997 11700 0.116 0.11 0.50861 0.0030 0.25908 0.0012 0.23585 0.004 0.25867 0.11155 0.04106 0.01257 1998 11750 0.117 0.116 0.54930 0.0080 0.26011 0.0004 0.23585 0.000 0.30163 0.11898 0.04106 0.01278 1999 12300 0.1175 0.117 0.56468 0.0028 0.26479 0.0018 0.23585 0.000 0.31885 0.12170 0.04106 0.01288 2000 12800 0.123 0.1175 0.61098 0.0082 0.27088 0.0023 0.23585 0.000 0.37318 0.12960 0.04106 0.01401 II. MẠNG NEURAL VÀ GIẢI THUẬT BACKPROPAGATION II.1 Mạng neural : Từ những số liệu trên chúng ta sẽ xây dựng mạng Neural ứng dụng dự báo phụ tải. Có nhiều mạng khác nhau nhưng ở đây chỉ sử dụng mạng Mutilayer Perceptron . Cấu trúc mạng bao gồm ba phần: Input layer (lớp đầu vào), Hidden layer (lớp ẩn) và Output layer (lớp đầu ra), hàm truyền mặc đònh trong các lớp là hàm tansig, còn lớp đầu ra là hàm Purelin. Trong quá trình huấn luyện ta có thể thay đổi sự mặc đònh này. Trong lớp ẩn ta có thể có nhiều lớp và trong mỗi lớp có nhiều phần tử như hình 3.2. Cấu trúc mạng tùy thuộc vào mục đích và số liệu dùng để huấn luyện. Trong những trường hợp khác nhau cấu trúc mạng cũng hoàn toàn khác nhau. Cấu trúc mạng đôi khi cũng phản ánh tích chính xác của mô hình. Do vậy lựa chọn đúng cấu trúc mạng là cần thiết. Hiện nay chưa có lí thuyết trong việc lựa chọn cấu trúc mạng cho phù hợp với dữ liệu đầu vào. Vì vậy việc lựa chọn chỉ mang tính kinh nghiệm. Hình 3.2 Lớp đầu vào ẩn 1 ẩn 2 ẩn 3 Lớp đầu ra Y X 1 . . . . . X n Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 53 - II.2 Giải thuật Backpropagation: Đây là giải thuật khá tổng quát trong việc huấn luyện mạng Neural nhiều lớp. Giải thuật này hoạt động dựa trên phương pháp cực tiểu hóa sai số. Sau mỗi mẫu sai số được truyền ngược về để hiệu chỉnh tập trọng số, Bias sao cho tổng bình phương sai số là cực tiểu. E(W)= ∑ − p,j p,j )N( p,j )dy( 2 2 1 (3.1) )N( p,j y đầu ra thực tế của mạng có j neuron và N lớp dj,p đầu ra mong muốn Các bước thực hiện: 1. Tính các giá trò đầu ra khi đưa các giá trò đầu vào : neti(n) = ∑ − )n( ij )n( i w.y 1 + Bi (3.7) Trong đó M – Số neuron trong lớp n-1, yi(n-1) = Xij(n) đầu vào thứ i neuron thứ j lớp thứ n. yi(n) = f(neti(n))(3.8) Trong đó f là hàm truyền 2. Tính δ (N) cho lớp cuối : δj(N) = (yj(N) - dj). j j dnet dy (3.9) Tính gia số của trọng số lớp N theo công thức, trong đó η là tốc độ dạy 0< η<1: ∆Wij(n) = -η.δj(n) .yi(n-1) (3.10) 3.Tính δ(n) , ∆W(n) cho các lớp còn lại n=N-1,…,1 δj(n) = .W. k )n( jk )n( k       δ ∑ ++ 11 j j dnet dy (3.11) ∆Wij(n) =-η.δj(n) .yi(n-1) (3.12) 4.Hiệu chỉnh giá trò trọng số ,bias Wij(n) (t) = Wij(n) (t-1) + ∆Wij(n) (t), Bi=Bi+η.δj(n) (3.13) 5. Nếu sai số lớn thì quay về bước 1. Ngược lại thì kết thúc . Thuật toán: Bước 1 :Nhập các thông số đầu vào :chọn mạng Neural, X, η, Bias, N, W đầu ra mong muốn D, chọn hàm truyền cho từng lớp. Bước 2 :Dạy mạng 1. Tính Yi 2. Tính sai số E=1/2(Di-Yi)2 3. Tính delta δi=1/2(Di-Yi)*∂f/∂y i 4. Cập nhật trọng số,bias mới Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 54 - ∆Wij=η.δi.Yi Wij=Wi + ∆Wij Bij=Bij+η.δij 5. So sánh E và e nếu E > e quay lại 1. 6. Lặp lại 1. -> 5. nếu i < N Bước 3 : Dự báo Nhập các đầu vào để dự báo Bước 4 : Dừng khi không còn dự báo Trong đó: Xi các giá trò đầu vào N Số mẫu cần cho việc huấn luyện W Bộ trong số, B bộ Bias n Tốc độ dạy D Đầu ra mong muốn e Sai số cho phép huấn luyện E Sai số tính được δ(delta) Hệ số hiệu chỉnh W, B y i Đầu ra của Neural i Tốc độ dạy n: Lựa chọn đúng tốc độ dạy là việc làm rất quan trọng. Khi tốc độ dạy lớn thì kết quả đạt được nhanh nhưng có thể xảy ra trường hợp cực trò tìm được không phải là cực trò toàn cục mà là cực trò cuc bộ và dẫn đến đi sai hướng. Mặt khác khi tốc độ dạy quá nhỏ thì dễ tìm đươc cực trò toàn cục nhưng thời gian tính toán lớn. Vì thế ta lựa chọn tốc độ dạy vừa phải trong khoảng từ (0.1->1). Trên thực tế việc lựa chọn tốc độ dạy phụ thuộc vào từng bài toán cụ thể và được lựa chọn bằng kinh nghiệm. Ngoài ra để tránh việc rơi vào cực tiểu cục bộ, khi chúng ta có được bộ giá trò trọng số, Bias ứng với một sai số nào đó thì có thể tăng tốc độ dạy để gradient bắt đầu tìm điểm mới ta lặp đi lặp lại quá trình này mà mạng đều về cùng một trạng thái thì có thể nói rằng đã tìm thấy cực tiểu toàn cục . Hàm truyền: Đây cũng là thông số rất quan trọng và việc lựa chọn hàm truyền cũng mang tính kinh nghiệm. Lựa chọn hàm truyền phù hợp với dữ liệu, cấu trúc mạng sẽ làm cho quá trình lặp nhanh đi đến kết quả mong muốn. Sai số cho phép e: Trên lý thuyết, quá trình lặp sẽ ngừng khi sai số bằng 0 khi đó số lần lặp sẽ tiến đến vô cùng. Thông số này cho phép quá trình lặp sẽ ngừng khi đạt đến một giá trò nào đó. Quá trình dự báo: Sau khi đã tính toán tìm ra ma trận trọng số với sai số đạt yêu cầu, chúng ta tiến hành quá trình dự báo. Dự báo là quá trình dựa vào các thông số tìm được (ma trận trọng số , bias) để từ đầu vào X ta tìm các giá trò đầu ra Y tương ứng. Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 55 - III. TRÌNH TỰ THIẾT KẾ: - Lựa chọn và phân tích dữ liệu đầu vào . - Lựa chọn cấu trúc mạng: bao gồm lựa chọn số lớp Neural, số Neural trong lớp, phụ thuộc vào dữ liệu đầu vào, đầu ra mong muốn, hàm truyền, Bias. - Dạy mạng Neural. - Kiểm tra xem mạng Neural đã học được chưa. - Ứng dụng kết quả thu được vào dự báo. Sơ đồ giải thuật và sơ đồ khối thiết kế. Sơ đồ giải thuật Chương 3:Thiết kế chương trình dự báo phụ tải bằng mạng Neural - 56 - ecp : sai số cho phép X: Dữ liệu đầu vào D: Đầu ra thực tế η :tốc độ dạy N: Số mẫu dữ liệu W: Trọng số B : Bias Y: Đầu ra mong muốn Ncp: Lần lặp cho phép n : Số lần đã lặp E: Sai số đạt được Sơ đồ khối: Nhập X, D, 0, e cp , N, W, B,N cp Chọn hàm truyền huấn luyện Tính đầu ra Y i =f(net i ) Tính tổng sai số: E = E + 1/2( D i – Y i ) 2 Tính δ o , δ i : δ o = (D i – Y i ).∂(y i )/∂(net i ) δ n,i = (Σδ n+1,k .W n+1,j,k ). ∂(y n,k )/ ∂(net n,k ) Cập nhật trọng số,Bias ∆W n,i,j = η. δ n,i .Y n,i W n,i,j = W n,i,j + ∆W n,i,j B n,i = B n,i + η. δ n,i End E< e cp i =N False False n > N cp False [...]...Chương 3: Thiết kế chương trình dự báo phụ tải bằng mạng Neural Lựa chọn và phân tích dữ liệu huấn luyện Lựa chọn phương pháp dự báo Nhập thông số mạng, Dữ liệu huấn luyện Lưu thông số huấn luyện Huấn luyện mạng Nhập thông số dự báo Dự báo Xuất kết quả Kết thúc - 57 - Kiểm tra mạng . 19254 .3 Tuần 14 235 18 .3 239 90.7 233 36.8 238 02.5 238 67.2 231 60.4 20227.5 Tuần 15 235 83 24 139 234 14.2 233 51.4 230 61.4 221 23. 7 18861.7 Tuần 16 22 733 .7 234 76.1. 24111.5 239 26 .3 24067.5 232 67.5 2 235 2.4 18850 .3 Tuần 12 22545.5 237 72.8 234 49.8 237 47 .3 235 87 .3 22210.1 19508.1 Tuần 13 234 97.5 233 85.6 231 66.7 234 65 236 71.6

Ngày đăng: 29/10/2013, 20:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan