Hình 3.1. Sơ đồ thuật toán
3.1.2. Xây dựn phần mềm
1)Giao diện phần mềm bao gồm
- Nút nạp dữ liệu đầu vào: Data Open - Nút đào tạo mạng: Train MLP - Nút lƣu trữ mạng: Save MLP - Nút dự báo kết quả: Forecast - Bảng số liệu đầu vào
- Bảng hiển thị kết quả
- Đồ thị biểu diễn kết quả dự báo.
2)Mã lệnh cho phần mềm
Đọc dữ liệu từ file excel:
num = xlsread(filename, sheet, 'range'). Trong đó:
num là mảng lƣu giữ giá trị của bản excel đọc đƣợc. Ghi kết quả ra file
Dự báo kết quả Đọc số liệu đầu
vào
Xử lý số liệu: Chia tập số liệu, chuẩn hóa…
Tạo mạng MLP
Đƣa các thông số đào tạo
Đào tạo mạng
filename là tên file ta cần đọc.
Sheet là bảng giá trị cần đọc.
Range: Phạm vi của bảng cần đọc
Chuẩn hóa dữ liệu:
[pn,minp,maxp,tn,mint,maxt] = premnmx(p,t)
Trong đó:
pn, tn: Véc tơ đầu vào và đầu ra mạng Nơ ron đã đƣợc chuẩn hóa.
minp, maxp, mint, maxt: Giá trị lớn nhất và nhỏ nhất của các phần tử trong véc tơ đầu vào và đầu ra mạng Nơ ron.
P, t: véc tơ đầu vào và đầu ra mạng Nơ ron.
Tạo mạng:
net= newff( minmax(pn), [10 24], {„tansig‟, „tansig‟},„trainlm‟).
Trong đó:
Net: Là mạng Nơ ron ta đã tạo
[10 24]: Số Nơ ron lớp ẩn và số Nơ ron đầu ra.
{„tansig‟, „tansig‟}: Các hàm kích hoạt.
„trainlm: Thuật toán huấn luyện mạng.
Đặt các thông số huấn luyện mạng:
net.trainParam.show = 50; -sau 50 lần học kết quả sẽ hiển thị 1 lần
net.trainParam.epochs =900; - đặt số vòng cho một quá trính luyện mạng ,khi đạt đƣợc 900 vòng lặp thì vòng lặp kết thúc.
net.traimParam.goal =1e-5; - đặt sai số cho quá trình luyện mạng là 10-5 khi đạt sai số này thì quá trình luyện kết thúc.
Huấn luyện mạng:
[net,tr]=train(net,pn,tn,[],[],val,test)
Pn, tn: Các véc tơ đầu vào và đầu ta mạng đã đƣợc chuẩn hóa.
Lƣu trữ mạng: Save MLP
Dự báo kết quả: an=sim(MLP,pn)
Trong đó:
MLP: Mạng Nơ ron ta đã lƣu
Pn: Véc tơ đầu vào đã chuẩn hóa
Chuyển kết quả chuẩn hóa về kết quả thực: A= postmnmx(an, mint, maxt)
Trong đó:
an: Giá trị véc tơ dự báo đã chuẩn hóa
mint,maxt:Giá trị lớn nhất và nhỏ nhất của các phần tử trong véctơđầu ra
Ghi kết quả dự báo ra file:
[status msg]= xlswrite(filename, a(iiforecast))
Trong đó:
Filename: Tên file ghi kết quả dự báo
Hình 3.3. Hình ảnh quá trình đào tạo của mạng MPL
3.2. DỰ BÁO PHỤ TẢI NGÀY VỚI THÔNG SỐ ĐẦU VÀO LÀ PHỤ TẢI 24H CỦA NGÀY TRƢỚC ĐÓ VÀ THÔNG SỐ ĐẦU RA
LÀ PHỤ TẢI 24H CỦA NGÀY CẦN DỰ BÁO 3.2.1. Các số liệu thu thập đƣợc
Chạy phần mềm, dự báo với số liệu có đƣợc ta tiến hành thay đổi các thông số của hàm kích hoạt, thuật toán đào tạo(sử dụng mã lệnh phần mềm ở trong phần phụ lục). Từ kết quả các lần dự báo lấy sai số trung bình để tìm ra hàm kích hoạt và thuật toán đào tạo tối ƣu cho bài toán.
3.2.2. Xác định hàm kích hoạt
Các thông số của hàm kích hoạt đƣợc sử dụng chủ yếu là „tansig‟, „purelin‟, „logsig‟. Ta lần lƣợt thay đổi các thông số và dự báo kết quả cho ngày 08 tháng 06 năm 2012 ta đƣợc bảng sau:
Bảng 3.1. Bảng sai số trung bình khi thay đổi các hàm kích hoạt
TT Hàm kích hoạt Sai số trung bình
1 tansig-purelin 6,45 2 purelin-tansig 4.26 3 tansig-tansig 3.55 4 purelin-purelin 4.01 5 logsig-logsig 17.2 6 purelin-logsig 15.6 7 logsig-purelin 5.8 8 logsig-tansig 4.94 9 tansig-logsig 13.6
Từ bảng trên ta thấy chọn cặp hàm kích hoạt „tansig‟-„tansig‟ sẽ cho sai số nhỏ nhất.
3.2.3. Xác định thuật toán
Các thuật toán thƣờng đƣợc sử dụng để đào tạo mạng MLP là: „traingda‟, „trainrp‟,„traincgf‟,„traincgp‟,„traincgb‟,„traínscg‟,„trainbfg‟,„trainoss‟, „trainlm‟.
Bảng 3.2. Bảng kết quả dự báo theo thuật toán đào tạo
TT Thuật toán đào tạo Sai số trung bình(%)
1 Traingda 5,35 2 Trainrp 4,12 3 Traincgf 6,01 4 Traincgp 7,30 5 Traincgb 5,90 6 Trainscg 5,76 7 Trainbfg 5.46 8 Trainoss 5.23 9 Trainlm 3.25
3.2.4. Kết quả dự báo với các thôn số đã chọn
Ta chọn các thông số cho mạng và thông số đào tạo nhƣ sau:
Số Nơ ron lớp ẩn: 10
Hàm kích hoạt: „tansig‟- „tansig‟
SVTH: Nguyễn Quốc Thắng 89 GVHD:ThS.Đặng Thành Trung Kết quả dự báo cho ngày 08 tháng 6 năm 2012 nhƣ sau:
Bảng 3.3. Bảng kết quả dự báo 24h
TT Giá trị thực (MW) Kết quả dự báo
(MW) Sai số % P.1 5076 5182,596 2,06 P.2 4986 5097,188 2,18 P.3 4882 4950,348 1,38 P.4 4829 4894,192 1,33 P.5 5144 5237,106 1,78 P.6 5177 5241,713 1,23 P.7 5385 5501,316 2,11 P.8 5604 5699,828 1,68 P.9 6303 6354,685 0,81 P.10 6878 7229,466 4,86 P.11 6840 6871,464 0,46 P.12 5910 6131,625 3,61 P.13 5887 6194,301 4,96 P.14 5816 6057,364 3,98 P.15 5959 5971,514 0,21 P.16 6048 6080,659 0,54 P.17 6624 6859,152 3,43 P.18 6610 6925,958 4,56 P.19 6990 7489,785 6,67 P.20 6780 6923,736 2,08 P.21 6630 6656,52 0,4 P.22 6111 5894,12 3,68 P.23 5627 5215,3 7,89 P.24 5095 4715,6 8,05 Sai số trun bình 2,91
Hình 3.4. Đồ thị kết quả dự báo
Kết luận: Sau khi tiến hành xây dựng phần mềm và dự báo kết quả ta đã chọn đƣợc mạng Nơ ron tối ƣu nhất cho bài toán dự báo phụ tải điện ngắn hạn nhƣ sau:
Mạng Nơ ron với 24 đầu vào là phụ tải 24h của ngày trƣớc đó và 24 đầu ra là phụ tải 24h của ngày cần dự báo.
Số lƣợng Nơ ron lớp ẩn là 10.
Hàm kích hoạt là „tansig‟- „tansig‟
Thuật toán đào tạo là „trainlm‟
KẾT LUẬN VÀ KIẾN NGHỊ
Kết luận
Đề tài nghiên cứu ứng dụng mạng Nơ ron cho dự báo ngắn hạn phụ tải điện-Áp dụng cho Hệ thống điện Việt Nam đã giải quyết đƣợc những vấn đề nhƣ sau:
1. Xây dựng đƣợc phần mềm dự báo ngắn hạn phụ tải điện chạy trên nền phần mềm Matlab.
2. Lựa chọn đƣợc mô hình hợp lý cho bài toán dự báo ngắn hạn phụ tải điện.
3. Lựa chọn đƣợc các thông số mô hình dự báo và dự báo kết quả đạt sai số 2,91%. 4. Đề ra một số giải pháp nâng cao hiệu quả của dự báo.
Kiến nghị
1. Sử dụng mô hình dự báo có xét đến ảnh hƣởng của mùa nóng và mùa lạnh.
2. Phát triển giao diện và ứng dụng phần mềm để dự báo linh hoạt và áp dụng trong thực tế.
3. Thu thập thêm số liệu để dự báo những ngày đặc biệt nhƣ lễ, tết…
4. Xây dựng mô hình mạng Nơron kết hợp hệ chuyên gia cho bài toán dự báo ngắn hạn phụ tải điện.
SVTH: Nguyễn Quốc Thắng 91 GVHD:ThS.Đặng Thành Trung
PHỤ LỤC
1. MÃ LỆNH PHẦN MỀM SỬ DỤNG MẠNG NƠ RON MPL DỰ BÁO NGẮN HẠN PHỤ TẢI ĐIỆN
function Data_Callback(hObject, eventdata, handles) global p2
p1 = xlsread('So lieu.xls', 'So lieu', 'B2:Y961'); disp(p1);
[status msg]= xlswrite('So lieu.xls',p1,'ReadedData', 'B2'); p2=p1';
function Train_Callback(hObject, eventdata, handles) global p2 net p2n minp2 maxp2
[p2n,minp2,maxp2] = premnmx(p2); p3n=p2n; p3n(:,960)=[]; pn=p3n; t1n=p2n; t1n(:,1)=[]; tn=t1n;
net = newff(minmax(pn),[10 24],{'tansig' 'tansig'},'trainlm') net.trainParam.show = 5; net.trainParam.epochs = 900; net.trainParam.goal = 1e-5; [net,tr] = train(net,pn,tn,[],[]); an = sim(net,pn); a = postmnmx(an,minp2,maxp2);
[status msg]= xlswrite('So lieu.xls',a','SimTrain', 'B3');
function Save_Callback(hObject, eventdata, handles)
function Forecast_Callback(hObject, eventdata, handles) global net p2n minp2 maxp2
pn=p2n(:,960); an = sim(net,pn);
a = postmnmx(an,minp2,maxp2);
[status msg]= xlswrite('So lieu.xls',a','SimEnd', 'B3');
2. BẢNG SỐ LIỆU PHỤ TẢI ĐIỆN 24H CỦA MIỀN BẮC TỪ NGÀY 1/1/2010 ĐỀN NGÀY 08/06/2012
Day P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 01/01/2010 2704 2581 2546 2499 2566 3162 3492 3495 3474 3988 4273 3270 3023 3155 3285 3769 5057 6161 5227 4685 3950 3302 3102 2533 01/02/2010 2460 2375 2461 2421 2569 3420 3646 4031 4155 4857 5423 3983 3733 3823 4096 4402 5654 6726 5743 5108 4429 4050 3376 2900 01/03/2010 2727 2642 2646 2637 2881 3561 3965 4151 4366 4928 5404 4086 3735 4034 4216 4527 5581 7081 5993 5328 4724 4209 3443 3136 01/04/2010 2982 2932 2900 2817 3036 3865 3943 4197 4367 4967 5434 4050 3964 4104 4300 4551 5387 7092 6055 5457 4888 4231 3630 3036 01/05/2010 2965 2812 2831 2769 2969 3571 3830 4176 4332 4942 5283 3978 3753 3978 4127 4594 5909 6610 5729 5018 4373 3831 3438 2925 01/06/2010 2762 2700 2817 2635 2805 3505 4162 4371 4464 5036 5571 3846 3731 3961 4288 4574 5958 6735 5729 5048 4274 3794 3494 2989 01/07/2010 2921 2730 2800 2665 2815 3362 4032 4220 4277 4964 5415 4024 3877 3947 4054 4575 5813 6715 5855 5241 4547 3731 3541 3020 01/08/2010 2857 2817 2822 2708 2780 3139 3845 4059 4182 4710 5077 3868 3513 3696 4030 4352 5729 6421 5665 5100 4320 3704 3359 2890 01/09/2010 2904 2715 2700 2634 2730 3617 4262 4285 4640 5125 5534 4238 3976 4204 4317 4524 5551 7042 6219 5462 4834 4065 3687 3106 01/10/2010 2977 2907 2913 2884 3001 3706 4386 4444 4628 5098 5711 4305 4080 4224 4294 4761 5948 6988 6074 5630 4520 3920 3502 3146 01/11/2010 3125 2955 2950 2919 3062 3638 4127 4151 4423 4969 5446 3957 3843 4176 4409 4849 6110 7002 6097 5404 4829 4228 3610 3119 01/12/2010 3067 2955 2973 2970 3083 3838 4379 4562 4643 4786 5674 4304 4047 4346 4433 4882 6183 7115 6179 5457 4830 4073 3692 3302 1/13/2010 3124 2992 3032 3001 3187 3888 4385 4467 4648 5198 5578 4509 4037 4240 4477 4756 5970 7102 6192 5567 4977 4477 3862 3322 1/14/2010 3065 2873 2907 2857 3043 3636 3897 4074 4211 4760 5158 3733 3970 4131 4290 4575 5986 6780 5817 5172 4640 4193 3656 3012 1/15/2010 3027 2881 2904 2939 2961 3460 3919 4001 4204 4664 5067 3854 3564 3821 4054 4375 5481 6755 5770 5274 4697 4103 3717 3166 1/16/2010 3025 2916 2920 2831 3371 3860 4204 4369 4648 5292 5682 4408 4300 4510 4824 4865 6080 6900 6144 5465 4942 4157 3825 3313 1/17/2010 3089 2989 2977 2957 3209 3951 4230 4390 4633 5121 5662 4301 4049 4305 4595 4779 5999 7154 6164 5634 5072 4323 3794 3347 1/18/2010 3119 2955 2973 2932 3208 3983 4244 4378 4601 5098 5671 4221 4028 4392 4608 4838 5792 6683 6314 5685 4980 4442 3815 3185 1/19/2010 3214 3079 3047 3021 3507 4016 4165 4398 4587 5091 5586 4429 4281 4388 4554 4740 5553 6708 6268 5802 5162 4402 3888 3325 1/20/2010 3170 2959 3029 2938 3155 3949 4216 4436 4636 5257 5736 4437 4145 4336 4621 4836 6090 6998 6192 5524 4845 4296 3767 3368 1/21/2010 2916 3093 3025 2970 3135 3741 4181 4257 4587 5037 5561 4270 3958 4099 4294 4605 5523 6792 6049 5373 4736 4151 3671 3065 1/22/2010 2826 2765 2645 2715 2959 3390 4108 4257 4350 4964 5280 4051 3671 3857 4146 4541 5771 6588 5955 5314 4639 3884 3487 2986 1/23/2010 2772 2746 2627 2604 2938 3456 4109 4298 4432 4998 5517 4155 3831 4035 4155 4446 5436 6716 6097 5600 4957 4034 3532 3079 1/24/2010 2687 2541 2591 2547 2877 3553 4219 4293 4356 4868 5404 4088 3850 3988 4173 4396 5519 6543 6148 5407 4825 4134 3348 2819 1/25/2010 2651 2512 2495 2453 2638 3505 4059 4072 4151 4591 5037 3893 3675 3765 3880 4149 5226 6307 5932 5279 4729 3988 3023 2522 1/26/2010 2475 2406 2369 2404 2627 3389 3875 3884 3912 4501 4848 3818 3552 3529 3588 3843 4770 6214 5794 5223 4639 4045 3209 2587 1/27/2010 2334 2261 2286 2303 2325 3160 3725 3519 3529 3892 4290 3417 3162 3168 3201 3370 4192 5627 5621 5176 4818 4176 3206 2519 1/28/2010 2257 2163 2182 2199 2407 2979 3518 3359 3375 3819 3910 3287 3148 3186 3433 3933 4464 5667 6141 6014 5773 5620 5166 4859 1/29/2010 3888 2925 2606 2487 2518 2858 4217 4163 3634 3305 3083 2957 2797 2799 2851 3054 3636 4513 5203 4793 4246 3800 3141 2556 1/30/2010 2163 2095 2091 2132 2198 2736 4177 4149 3640 3410 3293 3069 2722 2635 2742 2966 3553 4707 4888 4793 4366 3941 3181 2476 1/31/2010 2296 2186 2168 2186 2309 2973 3849 3946 3537 3607 3387 3102 2886 2817 2916 3135 3804 4784 5096 4797 4351 3731 3056 2205 02/01/2010 2155 2064 2021 2056 2201 2645 3497 3587 3549 3792 3785 3414 3163 3104 3239 3515 4127 5335 5343 4979 4329 3802 3059 2588 02/02/2010 2175 2110 2242 2064 2174 2934 3698 3737 3721 4224 4554 3663 3256 3233 3314 3811 4599 5536 5372 4875 4311 3599 2947 2639
SVTH: Nguyễn Quốc Thắng 93 GVHD:ThS.Đặng Thành Trung 02/04/2010 2601 2562 2533 2603 2647 3174 3870 4066 4154 4680 5033 3902 3667 3634 3726 4139 5166 5987 5582 5122 4416 3811 3227 2786 02/05/2010 2552 2487 2495 2650 2695 2971 3660 3802 3929 4370 4701 3779 3443 3394 3623 4078 5326 5708 5453 4894 4394 3521 3212 2730 02/06/2010 2537 2457 2491 2454 2689 3501 4012 4150 4379 5007 5361 4212 3812 3970 4167 4319 5303 6114 5975 5229 4608 4022 3310 3071 02/07/2010 2792 2696 2604 2676 3038 3571 4028 4189 4477 4946 5279 4194 3860 4130 3920 4308 5308 6317 5921 5338 4712 4049 3505 2992 02/08/2010 2743 2715 2668 2696 2682 3688 3900 4308 4593 5023 5450 4280 3969 4193 4267 4421 5391 6418 6225 5507 4766 3922 3382 3384 02/09/2010 2861 2834 2793 2800 3093 3706 4054 4365 4604 5027 5760 4280 3845 4309 4316 4817 6248 5690 5164 4994 4420 3934 3444 3006 02/10/2010 2938 2954 2865 2836 3008 3738 4328 4513 4806 5229 5590 4346 4012 4190 4466 4811 5945 6453 5921 5283 4636 4014 3557 3055 02/11/2010 2920 2842 2770 2761 2867 3197 3919 4115 4340 4815 5478 4107 4003 3888 4297 4628 5912 6496 5820 5118 4759 4084 3619 3013 02/12/2010 2931 2703 2745 2697 2816 3129 3919 3993 4150 4768 5110 3918 3630 3771 4003 4300 5519 6125 5559 5118 4397 3835 3306 3325 2/13/2010 2839 2718 2657 2658 2977 3800 4234 4778 4722 5449 5824 4259 4163 4236 4413 4531 5342 6488 6268 5596 4872 4284 3800 3271 2/14/2010 3004 2904 2900 2882 2984 3741 3904 4328 4508 5144 5536 4154 3999 4215 4217 4744 5439 6363 6084 5432 4807 4170 3852 3187 2/15/2010 3066 2939 2977 2913 2970 3953 4097 4373 4532 5013 5574 4355 3983 4154 4439 4805 5351 6651 6233 5493 4972 4248 3760 3312 2/16/2010 3096 3001 2978 2915 3009 3773 4019 4336 4510 5192 5774 4290 4038 4228 4420 4658 5773 6445 6269 5403 4949 4285 3875 3243 2/17/2010 3204 3038 3075 3012 3131 3825 4046 4340 4397 5153 5620 4232 3888 4104 4319 4663 5949 6244 5678 5099 4424 3757 3580 3114 2/18/2010 3069 3013 2939 2870 2982 3537 3935 4282 4458 5157 5654 4231 3881 4031 4211 4558 5735 6325 5886 5225 4632 3976 3410 3162 2/19/2010 3087 2931 2908 2836 2847 3222 3864 4051 4243 4899 5265 4050 3649 3710 3930 4266 5304 6172 5823 5200 4560 3831 3451 3031 2/20/2010 2920 2888 2827 2774 2820 3681 4070 4369 4579 5243 5763 4419 3896 4189 4325 4533 5636 6492 6106 5526 4853 4115 3717 3181 2/21/2010 3081 3040 3000 2996 3058 3876 4235 4398 4575 5230 5689 4437 4000 4408 4290 4601 6030 6602 6191 5616 5076 4105 3816 3401 2/22/2010 3186 3100 3112 3059 3124 3934 4173 4396 4610 5257 5738 4323 3966 4188 4478 4913 6279 6529 6098 5496 4786 4108 3714 3178 2/23/2010 3109 3062 3121 3077 3082 3881 4176 4459 4548 5212 5897 4362 4005 4149 4485 4732 6089 6712 6290 5527 4837 4099 3794 3281 2/24/2010 3259 3166 3178 3127 3222 3929 4280 4744 4922 5424 5789 4529 4031 4440 4606 4991 6315 6568 6053 5351 4829 4131 3768 3259 2/25/2010 3190 3067 3120 3094 3152 3887 4153 4367 4675 5570 5886 4572 4270 4321 4612 4944 5901 6390 6025 5445 4690 4139 3699 3498 2/26/2010 3352 3295 3275 3190 3243 3667 4150 4301 4483 5188 5473 4257 4018 3806 4127 4602 5863 6309 5752 5262 4575 3865 3549 3166 2/27/2010 2965 2876 2896 2839 2934 3769 4244 4539 4690 5418 6028 4425 4096 4466 4658 5026 6375 6626 6182 5550 5002 4248 3839 3418 2/28/2010 3247 3168 3156 3001 3139 3983 4273 4614 4860 5549 5914 4383 4149 4389 4531 4856 6145 6840 6309 5709 4853 4115 3733 3314 2/29/2010 3168 3075 3062 3052 3092 3897 4212 4388 4716 5395 5804 4350 4146 4417 4479 4747 5867 6616 6291 5821 4871 3787 3876 3313