Extract the features from the load profiles of each household. These features are prepared for identifying the prosumers and regular consumers.

features.load(loadsample, x.week, mor.be, aft.be)

Arguments

loadsample

A numeric matrix that presents the load profile of a household. It should be an 'm*48' matrix, in which 'm' demonstrates the number of days of the daily load profile that can be obtained. There need to be 48 observations of one single day load profile.

x.week

A vector of characters with 'm' elements that gives the day-of-the-week information of the 'm' days' load profile. Each element should be one from c('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday').

mor.be

An integer presents the index of time stamp that PV generation has impact to the load profile. Taking the 48 half-hourly observations of both daily load and PV profiles as an example, if the PV generation has impact for the load profile at 06:00:00, then 'mor.be' should be chosen as 13 by counting the index number from 00:00:00.

aft.be

An integer presents the index of time stamp that PV generation usually vanished in a day. For example, if the PV generation vanished at 19:00:00, then 'aft.be' should be set as 39.

Value

output.features --- A numeric feature vector with 63 element extracted from the load profile of one household.

features.name --- A vector of characters that demonstrate the names of the features.

Examples

### Load the required packages. # library(matrixStats) # ### Import the load profiles. # data("loadsample") # ### Get the load profile matrix of the household X1. # loadsample.X1<-load.daily(loadsample$X1, load.date=loadsample$date, num.obs=48) # ### Compute the features. # features.X1<-features.load(loadsample.X1, unique(loadsample$week), mor.be=13, aft.be=39)