13
UNIVERSITY OF WISCONSIN - MADISON An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010 Fall Project Report ZHENG, HONGHAO 2010/12/21 Locational Marginal Price (LMP) gives efficient signals for the production and consumption of energy, and for the construction of new generation and transmission facilities. The report indicates the Multi Layer Perceptron (MLP) training & testing method to predict the future LMP value of the load zone. It also states the drawback of this methodology and provides the improvement ideas.

An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

UNIVERSITY OF WISCONSIN - MADISON

An ANN Approach to LMP Classification & Prediction

ECE/CS/ME 539 2010 Fall Project Report

ZHENG, HONGHAO

2010/12/21

Locational Marginal Price (LMP) gives efficient signals for the production and consumption of energy, and

for the construction of new generation and transmission facilities. The report indicates the Multi Layer

Perceptron (MLP) training & testing method to predict the future LMP value of the load zone. It also states

the drawback of this methodology and provides the improvement ideas.

Page 2: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

1

Context

1. Introduction ........................................................................................................................................ 2

1.1 Background .............................................................................................................................. 2

1.2 Motivation ................................................................................................................................ 2

2. Methodology ...................................................................................................................................... 3

2.1 Manually Filtering ................................................................................................................... 3

Fig. 2-1 Sample Data File of LMP......................................................................................... 3

Table 2-1 Possession of Different Nodes in the MISO Grid .................................................. 3

2.2 Feature Vector Selection .......................................................................................................... 4

Fig. 2-2 Geographic Distribution of Load Zones ............................................................... 4

Table 2-2 Weights of the Feature Vector ............................................................................ 5

2.3 MLP Training & Prediction ..................................................................................................... 5

3. Simulation Result & Analysis ............................................................................................................ 6

Table 3-1 Different Training & Testing Sequence ............................................................. 6

Table 3-2 Part of Simulation Result (Best Performance) ................................................... 6

4. Discussion .......................................................................................................................................... 7

4.1 Disturbance .............................................................................................................................. 7

4.2 Ways to Improve ...................................................................................................................... 7

5. Summary ............................................................................................................................................ 8

References .............................................................................................................................................. 9

Appendix: MATLAB FILE .................................................................................................................. 10

Page 3: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

2

1. Introduction

1.1 Background

With the economic recovery and population boom, the power grid expanded rapidly after the Second World

War in the United States. The golden age of grid development had lasted for 30 years in twenty’s century until

the arrival of the saturation of power demand in the beginning of 1980s. Until then, the power grid was still

dominated by the government and electric power price was set to be constant. However, with the idea of

power marketing came into existence, people gradually focused on the deregulation of the power market and

put the idea into practice. Then the original government institutions that used to be in charge of the power grid

were separated into three different parts: generation, transmission delivery and power dispatch. In the market,

the different organizations and individuals are encouraged to bid for their own power price, which may exert

paramount influence on the final price of the power in the local grid.

Locational Marginal Price, as abbreviated as LMP, is the “shadow” price of the power system. Specifically, it

is assumed that one additional kilowatt-hour is demanded at the node in question, and the hypothetical

incremental cost to the system that would result from the optimized re-dispatch of available units establishes

the hypothetical production cost of the hypothetical kilowatt-hour. In fact, LMP not only gives efficient

signals for the production and consumption of energy, but for the construction of new generation and

transmission facilities as well. The LMP representation allows people to model detailed power flows on

specific lines and provides individual nodal pricing, also it could be used to define the zonal boundaries in the

power grid [1].

1.2 Motivation

The LMP could provide detailed zonal information in a certain power system such as the reliability of the

power grid [2], which it could also reveal part of the information for individual nodal pricing. Therefore, the

prediction of LMP would be quite beneficial if we estimate the future LMP price at certain location, and then

bid the price to the market so that we can get the maximum profit. Because the interested area is mainly

residential zone, we would rather choose load zone LMP as our major testing case. With the knowledge of

LMP values at the certain location and certain time, we may give out the relatively accurate prediction.

Actually, we could roughly estimate the LMP into three categories: Low, Middle & High. With the existing

LMP data, the potential bidding habit of the system may be revealed by Multi-Layer-Perceptron classification

method. The existing data could be treated as the training data, while the future feature could be generated as

the testing data.

An important point that should be taken into consideration is that this project is comparatively ideal with

certain assumptions, which make all the analysis in this report reasonable. So please be aware to the

assumptions in every section when reviewing this report.

Page 4: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

3

2. Methodology

The project will be formed in three steps: initially, download the dataset and filter the necessary data, which

could be also considered as simple classification; then choose the corresponding feature vectors of the known

class of data; finally the data could be applied to the mathematical calculation. The topic here mainly concerns

the Multi-Layer-Perceptron classification, which will be applied to predict the future LMP data at different

load zone.

2.1 Manually Filtering

The Real-Time LMP data could be downloaded from MISO (Midwest Independent System Operator) [4].

Here we refer to the sampling hourly LMP data of April, 2005. The single dataset downloaded from MISO

website includes the data from Apr 2005 to Dec 2005. The sample data file could be viewed in Fig. 2-1. Then

we choose the following 3 filters: Time = April, Value = LMP, Type = Load Zone. After using the filter in the

ACCESS, the file for Apr 2005 is exported from the original data.

Fig. 2-1 Sample Data File of LMP

The dataset contains the information of 238 different nodes, which could be clustered into different companies.

For instance, the “ALTE” stands for the Alliant Energy. The detailed possession is shown in Table 2-1 as

below.

Table 2-1 Possession of Different Nodes in the MISO Grid

ALTE ALTW AMRN CILC CIN CONS CWLD CWLP

3 11 35 3 13 21 3 3

DECO DPC EKPC FE GRE HE IP IPL

24 6 1 15 9 2 10 2

IGEE MDU MGE MP NIPS NSP OTP SIGE

4 4 1 8 4 26 15 4

SIPC TVA UPPC WEC WPS WR TOTAL

1 1 1 5 2 1 238

Page 5: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

4

2.2 Feature Vector Selection

Usually, there are at least 3 major issues that may influence the value of LMP: 1. Grid structure; 2. Weekday

or Weekend; 3. Day time (Morning/Noon/Evening). It could be stated that the grid structure determines the

basic value of the LMP, because the limit of the transmission line is one of the core cause of the existence of

LMP. The latter two issues are relatively similar, for which both relate to the human routine activity. As the

common sense, the LMP will be comparatively higher in the weekend, especially at Hour 6 ~ Hour 9 (5:00 am

~ 9:00am), Hour 11 ~ Hour 14 (10:00 am ~ 2:00 pm), Hour 18 ~ Hour 21 (5:00 pm ~ 8:00 pm), which are also

the high LMP time in weekdays. Specifically, let us focus mainly on the high/peak LMP hours: H6~H9,

H11~H14, H18~H21.

There used to be much data that was applicable on the internet, including the detailed geographic information

of each generator zone & load zone. However, after the terrorist attack 911, the public information has been

gradually restricted. Therefore, the detailed longitude and latitude of the Load Zone could not be accessed. As

an alternative, we could simply facilitate the Table 2-1 to generate the random distributed points around each

cluster (total 29 clusters, to be exact). By applying the MATLAB routine randn.m and setting the variance to

be 0.2, we obtain a distribution location as below:

Fig. 2-2 Geographic Distribution of Load Zones

As shown in the Fig. 2-2, the Load Zones are mainly distributed in [-1.5 1.5 -1.5 1.5]. Though the distribution

may cause large deviation from the real situation, it may reveal some information at certain circumstances.

Then we shall determine the feature vector of the weekdays and weekend as well as the feature vector of three

periods of time. In MATLAB, the beginning day of the week is set to be Sunday, and the Table 2-2 expresses

the detailed weigh of the 7 days, while it also displays the weight of three different periods.

Page 6: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

5

Table 2-2 Weights of the Feature Vector

Weights for Seven Days in One Week Three Periods in One Day

Sunday Monday Tuesday Wednesday Thursday Friday Saturday Morning Noon Evening

1 0.2 0.3 0.4 0.5 0.7 0.8 0.3 0.6 0.8

There may be other factors that could have impact on the LMP value such as bad weather (storm, hail storm,

abnormal temperature, etc.), grid structure modification, blackout, etc. These factors will be taken into

consideration only if the simulation result is not satisfactory.

In conclusion, we have 4 feature vectors: 2 for the position (x, y), 1 for the 7 days, and the last feature belongs

to the weight of the 3 periods (each period lasts for 4 hours).

2.3 MLP Training & Prediction

After manually filtering & selecting the feature vector, we still have the dataset in the scale of 7140*12, which

is still quite large. In order to minimize the testing dataset in a reasonable level, it would be suitable to

calculate the average value of LMP in the three different periods (morning, noon, evening). Also, we could

pick totally 4 weeks out of 30 days in April. After the two modifications listed above, we successfully shrink

the testing dataset into the size of 6664*3. Then we could add our feature vectors into the base data. Finally,

we will have a matrix that is 19992*7 (19992 = 6444*3, 3 for three different periods in a day).

Then we could use the MLP to train the set. Considering the network structure, due to we only have 4 feature

vectors, the layers of the MLP do not have to be many. To better analyze whether the MLP would work, we

could simply treat 14 days as the training set, while the other 14 days as the testing set. Actually, the 14 days

testing set could be used as the prediction successful rate for the MLP and we could go to next section to

observe the results.

For the Classification, the initial classes are three. When LMP value < 35, we classify it as the LOW LMP;

while LMP value is between 35 & 50, it will be classified into the MID LMP category; finally, if the LMP>35,

we will classify it as the HIGH LMP region.

Page 7: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

6

3. Simulation Result & Analysis

Here we tend to choose the two different network of MLP to test on the testing set. The first one is the Layer =

3, Neurons/Layer = 5; while the other one is similar, yet Layer = 4, Neurons/Layer = 6. In the simulation,

alpha = 0.01, mu = 0.8 (momentum), epoch size = 100, n0 = 4000. Concerning about the training set, the 4

weeks of the April have been separated. The format that the data used for training is listed in the Table 3-1: Ex.

Use W1 (stands for Week 1) & W2 as the training set, W3 & W4 as the testing set. After tens of times of

testing and selecting the different network structure, I put the corresponding simulation result of the two best

performance networks into Table 3-2.

Table 3-1 Different Training & Testing Sequence

Training Training Set Testing Set

T.1 W1 W2, W3, W4

T.2 W1, W2 W3, W4

T.3 W1, W2, W3 W4

Table 3-2 Part of Simulation Result (Best Performance)

Ways of Training Layer = 3, Neurons/Layer = 5 Layer = 4, Neurons/Layer = 6

Training Rate Prediction Rate Training Rate Prediction Rate

T.1 71.47% 55.12% 83.87% 50.26%

T.2 67.98% 54.89% 67.467% 53.12%

T.3 65.55% 53.20% 63.15% 61.50%

From the above two tables and the other testing results not shown, we may conclude several points as below:

1. The more training data we have, the lower training rate we will get. However, the Training Rate does not

have necessary relationship with the Prediction Rate.

2. Both of the networks would perform OK when they have enough training set, and make small prediction on

weekdays.

3. The Prediction Rate is not that high as expected. Usually, the Prediction Rate above 80% or 75% would be

enough for the prediction of the LMP price.

4. Since the locations of the load zones are generated randomly each round, we may have major problem in

the inconsistency. We may temporarily solve the problem by fixing the location of each zone, yet we could

not completely overcome this difficulty until the final longitude and latitude is obtained.

If the result is satisfactory, then we could predict the future LMP price just by determining the feature vector.

With the established MLP network in hand, we could simply type in the feature vector (Location, Date, Time)

to estimate the LMP price.

Page 8: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

7

4. Discussion

From the result listed in Section 3, we discover that the best Prediction Rating that could be achieved is

around 61.5%. Frankly, the result is not as good as expected. In section 4.1, the conclusion of potential

disturbing factor is given. In section 4.2, the report provides the possible action to improve the MLP

performance in future LMP value prediction.

4.1 Disturbance

In the established model, the major disturbing factor includes the following:

1. The major disturbance of the feature vector: Since the location feature vector is generated randomly by

using randn.m, we do not possess consistency here. The location feature vector has taken the 2 units out of 4

units of the total feature elements, which means the changing of location may comparatively influence the

final coming result.

2. The classification of the LMP: Actually the classification is not that strict. In fact, since we mainly pick the

peak LMP data at high demands, it would be better to classify the LMP into small categories.

3. The MLP program itself is not consistent with the output result: Sometimes the output may vary in a quite

broad area, such as the classification rate for testing set drops from 63% to 47%, which is unacceptable.

4. The weights difference between the features may not be large enough.

4.2 Ways to Improve

Corresponds to the Section 4.1, the improving methods may be obtained below:

1. Acquire the detailed GPS location of the corresponding load zones, or asking the MISO for help (chance is

rare). It is worth trying to contact the local government to provide the necessary data for research usage.

2. Because we mainly focus on the peak high LMP value, hence we may classify the LMP previously into 5 or

7 different classes, while each class only contains 7 units range (Ex. 35~42). With the detailed classified data,

it would be rather easy to do the classification. A rough suggestion would be: calculate the mean m of the

LMP data, then classify the sets into (-inf, m-21), (m-21, m-14), (m-14, m-7), (m-7, m), (m,

m+7)……altogether 8 sets.

3. The MLP’s variation is determined by its characteristic, hence the only way is to test more on the existing

solution and try to find the better one.

4. Make the feature difference obvious.

Page 9: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

8

5. Summary

5.1 Conclusion

The report briefly introduced the approaching methodology of MLP to LMP prediction, and discussed the

result and pointed out the pros and cons of the method as well.

Locational Marginal Price (LMP), as so-called “shadow price” of the power system, usually possesses the

information for the production and consumption of energy, also for the construction of new generation and

transmission facilities. The future LMP estimation may help people to make more reasonable decision when

they are going to bid the power price in the electric market.

In Section 2, we mainly discuss the filtering, feature vector selection and MLP mapping. Because our final

goal is to achieve the successful prediction of the future LMP value in the certain area at certain time, the

selection of position & time as our base feature vector would be necessary. After several rounds of discussion,

we finally choose (x, y) location, day and specific time as our feature vector, which has the dimension of 4. As

for MLP mapping, we simply generate the dataset by ourselves, and change the code bp.m that was

programmed by Professor Hu to run the simulation.

After experimenting nearly 40 times, we locate the comparatively “best performance” network structure --- 3

layers with 5 neurons in the hidden layer, or 4 layers with 6 neurons in the hidden layer. However, the result is

not as good as planned. The best classification rate is roughly around 63%, while the ideally it would be better

to be above 80%. The following section briefly discusses the reason why the classification rate is not so high,

and also pointed out the possible solution to the certain case.

As a conclusion, the report is only an initial approach to solve the LMP prediction. The application of

Artificial Neuron Network in the power system surely not only includes the LMP prediction. Also it was a

nice trying to use the knowledge learnt from the class and apply it into the research practice. As stated in the

previous section, more research is welcomed in this specific topic in the near future.

5.2 Acknowledgement

Thanks to the Professor Hu’s MATLAB program and course notes that are quite helpful during the studying

period. At the same time, I would like to acknowledge Midwest Independent System Operator as well, for

their real-time LMP value data.

Page 10: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

9

References

[1] Zonal Prices Analysis Supported by a Data Mining Based Methodology, J. Ferreira, S. Ramos, Z.

Vale and J. P. Soares. IEEE Conference Proceedings, 2010.

[2] Zone Clustering LMP with Location information using an Improved Fuzzy C-Mean, Se-Hwan

Jang, Jin-Ho Kim, Sang-Hyuk Lee and June-Ho Park, IEEE Conference Proceedings.

[3] Locational Marginal Price Projection using a Novel RBFNN Approach in Spot Power Market, S.

N. Pandey, S. Tapaswi, L, Srivastava.

[4] A neuron-fuzzy price forecasting approach in deregulated electricity markets, Ying-Yi Hong,

Chuan-Fang Lee, Electric Power Systems Research 73 (2005).

[5] Neural Networks and Learning Machines (Second Edition) – Haykin (1999)

Page 11: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

10

Appendix: MATLAB FILE

% The maingen2 file will accomodate all the MATLAB files that used in the

% project. Mainly responsible for the generation of the datafile.

% (C) Honghao Zheng

%

clear all; close all; clc;

%% Initialization

% Import LMP File

% Rows: 238 Places, 28 days, 238*28 = 6664

% Columns: 24 hours, from HE1 to HE24.

% HE1: 0:00am~1:00am, HE2: 1:00am~2:00am...

load 2005Apr.txt; Apr = X2005Apr;

% Here we choose the high load time to specify the LMP data

% Time section: HE6~HE9(5:00am~9:00am), HE11~HE14(10:00am~2:00pm),

HE18~HE21(5:00pm~8:00pm)

Set1 = Apr(:,6:9)';Set2 = Apr(:,11:14)';Set3 = Apr(:,18:21)';

% Simply for estimation, we could determine to get the average of the 4

% hours time:

mor = (sum(Set1)/4)'; % morning

noon = (sum(Set2)/4)'; % noon

eve = (sum(Set3)/4)'; % evening

[mm,mn] = size(mor); % mn = 1, mm = 28*238

% Generate Location File

disp('Enter:');

disp('0 - to load a previously entered configuration file cfconfig.mat (default);');

disp('1 - to re-enter all new configurations;');

restart=input('Your choice: ');

if isempty(restart)|restart==0,

load cfconfig.mat; % Loc

else genloc;

end

%% Pattern Classification

% As previously state, we could separate the LMP into 5 categories:

% Low(<35), Median(35~70,<70), High(>=70)

Page 12: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

11

classmor = zeros(mm,3);classnoon = zeros(mm,3);classeve = zeros(mm,3);

c1 = 0; c2 = 0; c3 = 0;a1 = 0; a2 = 0; a3 = 0; b1 = 0; b2 = 0; b3 = 0;

for ni = 1:mm

if mor(ni) < 35

classmor(ni,1) = 1;

a1 = a1+1;

else if mor(ni) < 50

classmor(ni,2) = 1;

a2 = a2+1;

else classmor(ni,3) = 1;

a3 = a3+1;

end

end

if noon(ni) < 35

classnoon(ni,1) = 1;

b1 = b1+1;

else if noon(ni) < 50

classnoon(ni,2) = 1;

b2 = b2+1;

else classnoon(ni,3) = 1;

b3 = b3+1;

end

end

if eve(ni) < 35

classeve(ni,1) = 1;

c1 = c1+1;

else if eve(ni) < 50

classeve(ni,2) = 1;

c2 = c2+1;

else classeve(ni,3) = 1;

c3 = c3+1;

end

end

end

%% MLP Prediction

Page 13: An ANN Approach to LMP Classification & Predictionhomepages.cae.wisc.edu/~ece539/fall10/project/Zheng_rpt.pdf · An ANN Approach to LMP Classification & Prediction ECE/CS/ME 539 2010

ZHENG, HONGHAO Campus ID: 9063081385 ECE 539 2010 Fall Project Report

12

% We could set the days and Month to be our feature vector.

% Determine the feature vector:

% #1 Weekday, Weekend: 1,2,3,4,5,6,7 (Saturday as the beginning date)

Sun = ones(238,1); Mon = .2*Sun; Tue = .3*Sun; Wed = .4*Sun;

Thu = .5*Sun; Fri = .7*Sun; Sat = .8*Sun;

Week = [Sun;Mon;Tue;Wed;Thu;Fri;Sat;];

Week_4 = [Week;Week;Week;Week];

% #2 Morning, Noon, Evening: 8, 13, 18

mormm = .3*ones(mm,1); noonmm = .6*ones(mm,1); evemm = .8*ones(mm,1);

% #3 Position, determined by Loc (x,y)

Loc7 = [Loc;Loc;Loc;Loc;Loc;Loc;Loc]; Loc28 = [Loc7;Loc7;Loc7;Loc7];

% All together 4 feature vectors

morfc = [Week_4 mormm Loc28 classmor];

noonfc = [Week_4 noonmm Loc28 classnoon];

evefc = [Week_4 evemm Loc28 classeve];

% train = [morfc(1:1666,:);noonfc(1:1666,:);evefc(1:1666,:)];

% test = [morfc(1667:6664,:);noonfc(1667:6664,:);evefc(1667:6664,:)];

train = [morfc(1:3332,:);noonfc(1:3332,:);evefc(1:3332,:)];

test = [morfc(3333:6664,:);noonfc(3333:6664,:);evefc(3333:6664,:)];

% train = [morfc(1:4998,:);noonfc(1:4998,:);evefc(1:4998,:)];

% test = [morfc(4999:6664,:);noonfc(4999:6664,:);evefc(4999:6664,:)];

save datafile train test

% Since the year, month, week, day & hour five elements will be