Patent ID: 12244266

Corresponding reference characters indicate corresponding elements among the view of the drawings. The headings used in the figures do not limit the scope of the claims.

DETAILED DESCRIPTION

Various embodiments of a system and associated method for a graph signal processing-based semi-supervised learning technique which achieves good performance in fault classification with relatively limited data are disclosed herein. More specifically, a semi-supervised graph-based classifier to identify commonly-occurring photovoltaic (PV) faults is disclosed. In some embodiments, a solar PV array is represented as a connected graph having a plurality of nodes representative of each respective panel of the PV array and associated measurable features of the PV modules. First, a classifier is optimized to classify faulty nodes on the data available from labeled nodes. The graph is then used to propagate information from labeled samples to the unlabeled samples for classification of unlabeled samples. Since graph-based methods are semi-supervised, the method requires lower computational cost than conventional supervised machine learning (ML) classifiers and artificial neural networks (ANNs). Referring to the drawings, embodiments of a graph-based semi-supervised fault classification and diagnosis system, herein referred to as “the system”, are illustrated and generally indicated as100inFIGS.1-5.

The graph-based semi-supervised fault classification and diagnosis system100disclosed herein utilizes graph signal processing (GSP) which avoids computing inverses of matrices. Since matrix inverse scales as O(N3), the disclosed system100is computationally efficient, especially when the dataset dimensions are large, which is often the case for PV arrays10.

Fault Diagnosis

The problem of fault classification in PV arrays10is discussed in this section. Five commonly occurring conditions are identified in PV arrays10, namely: standard test conditions (STC), shaded modules, degraded modules, soiled modules, and short circuit conditions. The goal of the system100is to correctly classify the PV data into classes representative of these conditions via graph signal processing. In order to achieve this, an input feature matrix X121is developed for each of the solar PV modules of the PV array10. The input feature matrix X121includes measured or estimated parameters such as open circuit voltage VOC, short circuit current ISC, maximum voltage VMPand maximum current IMPfor each of the nodes (i.e. each individual panel10A) in the photovoltaic array, as shown in the simplified circuit ofFIG.4. Additionally, in some embodiments it is necessary to include measurements for irradiance levels per hour per day and the corresponding temperature readings.

A PVWatts testing dataset was used for fault classification experiments. The PVWatts dataset is obtained for a period of one year, from January to December of 2006. The dataset includes five classification labels: Standard Test Conditions (STC) and four types of faults; namely, shading, degraded modules, soilig, and short circuit. When shading occurs, the measured power and irradiance are lower than STC, which is usually due to overcast conditions, cloud cover or building obstruction. Degraded modules are caused by wear and tear of aged PV modules. As a result, degraded modules cannot produce the standard rated power. Since PV modules10are exposed to the outdoor environment, modules are soiled by dust, snow, bird droppings, etc, resulting in significant degradation of power output. Short circuits are a result of accidental shorting of PV modules10due to faulty wires, equipment, etc. Short circuits not only result in power loss but are also a potential fire hazard. Therefore, the reliability of the PV systems10can be significantly enhanced by the automatic diagnosis of these faults.

System Overview

Referring toFIGS.2and3, a system100for fault detection in a PV array10is illustrated. In particular, the system100receives a feature matrix X at block111ofFIG.2and at block210ofFIG.3including N sets of D features from the PV array10having N panels. The features can include aspects such as a plurality of irradiance, current and voltage values that are descriptive of how each individual PV panel is functioning. Each individual PV panel of the PV array10is associated with a respective node of a graph G that includes the set of features associated with the node.

At block121ofFIG.2and at block220ofFIG.3, the feature matrix X of block111is used to generate a graph shift matrix A that is indicative of similarity between each node according to Eq. 5 below.

Each node is further associated with a respective class label, whether predetermined or undetermined, which is in some embodiments descriptive of a fault type of the associated panel. In some embodiments, the dataset X is only partially labeled, with only a portion of the panels being classified. At block112ofFIG.2and at block230ofFIG.3the system100further receives K graph signals s=[s1, s2, . . . , sN]Twhere each signal s describes which panels of N panels are classified under a respective class of K classes. To illustrate, consider graph signal associated with a class k:
sk=[0,1,0, . . . ]T

For the illustration, consider skis a vector denoting a “shorted” class of panels. A first panel associated with node1and a third panel associated with node3are given a value of “0” in graph signal sk, denoting that the first and third panels are not labeled as “shorted”. A second panel associated with node2is given a value of “1” in graph signal sk, denoting that the second panel is labeled as “shorted”. It should be noted that a value of “0” does not necessarily indicate that a particular node is completely un-labeled, as the node could be given a value of “1” in another graph signal such as graph signal sk+1that is indicative of another fault type classification. However, if a node is assigned a value of “0” for all K classifications, then the node is unlabeled. The goal of system100is to ultimately classify all unlabeled nodes within the dataset using the data from the labeled nodes within the same dataset.

At block122ofFIG.2and at block240ofFIG.3the system100further combines the K graph signals s into a node target class matrix S that includes all available classifications of fault type including K columns indicating K classifications for N nodes.

At block131ofFIG.2and at block250ofFIG.3, the system100uses the graph shift matrix A and the node target class matrix S to find the graph filter H, which classifies the nodes of the PV array10into true classes according to Eq.6below. In particular, an objective function is solved to find a set of filter coefficients h associated with graph filter H that classify the remaining unlabeled nodes into respective classes of the node target class matrix S based on their respective similarities to other nodes as indicated in graph shift matrix A. At block141ofFIG.2, optimized graph filter H with solved filter coefficients h is obtained upon solving the objective function. At block110ofFIG.2and at block260ofFIG.3, the graph signal s for each of the K classifications is processed using the optimized graph filter H to obtain an updated graph signal sclassfor each classification K that labels remaining unlabeled nodes with a correct classification for that node.

Discussion of Graph Signal Processing

Graph and Graph Signal

A graph G=(V,A) has N nodes V={1,2, . . . ,N}, and described by an N×N matrix which characterizes the relationships among all nodes is indicated inFIG.1. The graph signal is defined as s=[s1, s2, . . . , sN]Tand, based on the relationship among the nodes, GSP operators can be designed to conduct (propagate) the graph signal s, throughout the graph.

Graph Shift and Graph Filter

GSP translates the traditional digital signal processing (DSP) concepts to the graph domain. Similar to the time shift operation in DSP filters, the graph shift operator is the base of the concept to design a graph filter. Consider a graph shift matrix A, then the graph shift operation is given by:
{tilde over (s)}=As(1)

There are numerous choices for the shift matrix A, such as adjacency matrix, Laplacian matrix, normalized versions and other variations on these matrices. In DSP, the task of designing a conventional FIR filter involves finding the optimal filter taps for different time shift components. Similarly, in graph domain, an Lthorder shift-invariant graph filter is defined as:
H=h(A)=h0I+h1A1+ . . . hLAL(2)

where hiare scalar coefficients of the graph filter H. Then the graph filter operator H can be conducted on the graph signal s as:
sfil=Hs(3)

where, sfildenotes the filtered graph signal. In this disclosure, the fault classification is achieved through a graph filtering process.

Semi-Supervised Graph-Based Classification

A graph filter is designed as a classifier to identify the specific types of faults in large scale utility arrays10. An N×D matrix X is used to represent the initial dataset that has N samples and D features. Similarity among the nodes on the graph is represented by the graph shift matrix. Similarity is estimated based on the Euclidean distance ρ(·) between the nodes, given by
Ai,j=ρ(xi,xj)  (4)

where, xiand xjare ithand jthrows of X. The graph shift matrix is generated by,

Ai,j=exp⁡(-ρ⁡(xi,xj)/σ)∑i=1Nexp⁡(-ρ⁡(xi,xj)/σ),(5)

where σ is a scaling coefficient. Note that the graph shift matrix obtained by equation (5) is the Hermitian transpose of the transition matrix of the graph.

The problem of fault classification translates to the node classification problem on the graph, where each node belongs to a particular class. Consider S to be an N×K matrix that collects the labels of N samples, where each sample belongs to one of the K categories. For nodes with labels, S is one-hot encoded, i.e, if the ithnode belongs to jthcategory, then Si,j=1 while the remaining elements of that row are 0. If a node is unlabeled, then all the elements in the corresponding row will be 0.

Given feature matrix X, graph shift matrix A, and the node target class matrix S, the goal is to find the graph filter H, which classifies the nodes into true classes. The filter taps hiof the filter H is computed by solving a convex objective function, given by:
=argminh∥RΣi=0LhiAlS−S∥F,  (6)subject to h∈Θh, Σhl=1

where ∥·∥Frepresents Frobenius norm and R is an N×N diagonal matrix, wherein Ri,i=1 if ithsample is labeled, otherwise Ri,i=0. The rectangular domain of filter coefficients Θhcan be empirically decided. Since the objective functiongiven in equation (6) is a linear least square problem, it can be solved by an interior-point solver. After the filter H is well-trained, the classification result can be obtained by
sclass=Q(sfil)=Q(Hs),  (7)
where Q(·) is non-linear operator that transforms the largest value in each row to 1 and remaining elements to 0, and sclassdenotes the class to which the node belongs. As the graph shift matrix contains information from both labeled and unlabeled data, the graph filter is a semi-supervised classifier.
Simulation Set-Up and Results

During experimentation, fault classification was performed on PVWatts dataset. About 4400 measurements per class were obtained corresponding to the entire array. Therefore, this dataset has 22000 data samples, which corresponds to N=22000 nodes in the graph. Each data sample corresponds to one of the five classes. A feature matrix X is adopted with 9 features for every node. The 9 features are namely VOC, ISC, VMP, IMP, fill factor, temperature, irradiance, gamma ratio, and maximum power. The goal was to correctly classify each node to one of the 5 test conditions. It was considered that α% of the samples have labels and the system100was tasked with predicting the labels for the rest of the nodes in the graph

TABLE IComparison of various Classifiers with different labelling ratio forfault classification in PV arraysClassification ErrorαGSPKNNRFCSVMANN0.214.5215.6216.5319.5414.850.311.4515.0215.8519.4511.920.411.2314.8315.0919.6711.800.59.9414.6414.9119.3811.620.69.4214.0214.0718.3210.240.79.3213.9413.0318.189.61

First, X is used to generate the graph shift matrix A through equation (5). Next, the interior-point solver is used to solve the objective function given in (6) in order to compute the graph filter coefficients. Note that the graph filter obtained is the fault classifier, which is then used to predict labels for the unlabeled data. Since the ground truth labels for all the nodes are available, the overall error rate is computed and used as the metric to qualitatively evaluate the classifier's performance.

Besides the disclosed approach based on graph signal processing, conventional supervised machine learning classifiers are also applied including random forest classifier (RFC), K-nearest neighbor classifier (KNN) and support vector machines (SVM), and the standard ANNs to classify the PVWatts dataset. An RFC classifier was trained with 300 estimators with a depth of 50. The SVM classifier was trained with a radial basis kernel and the KNN classifier with 30 nearest neighbors. Standard ANNs were considered with 4 hidden layers each with 100 neurons. A Relu activation function was used for the hidden layer and a softmax layer for the output layer. ANN was trained using Adam optimizer with a learning rate of 0.01. These hyper-parameters were selected using brute force grid search and were found to have the best results in each case.

Additionally, the test accuracies and error rates of all classifiers was examined under different labelling ratios a from 0.2 to 0.7. The results are reported in Table I. It was found that, in all cases of α, GSP method significantly outperforms the other methods. GSP had the best error rate performance among all classifiers with 9.32% error followed by ANNS with 9.61%. ANNs performed better than the conventional ML classifiers in all cases. Although the performance ANNs can be improved by adding more data and making the network deeper, it leads to expensive data collection and extra computational resources. KNN and RFC classifiers reach a minimum error rate of 14% and 13% respectively, falling short by about 4.5% with respect to GSP. SVM had the highest error rate among all the classifiers. The superior performance of GSP method can be attributed to the structural graph data along with the measurement data to construct the classifier.

In the present disclosure, a graph signal processing based fault classification system100for the solar array10is presented. The system100constructs the classifier using the measured data as well as the structural connectivity of PV array topology. In addition, the disclosed system100requires a significantly lower percentage of labeled data for classification and achieves good performance. To illustrate this point, a comparison of the graph-based system100is with the supervised machine learning methods such as KNN, RFC, SVM, and the ANNs was shown in Table 1. Experimental results show that the graph-based method requires the lowest training cost. In contrast to the conventional graph-based classifiers, the disclosed graph filter approach can be trained without calculating the inverse of the matrix, which significantly reduces the algorithm's complexity.

FIG.5is a schematic block diagram of an example device300that may be used with one or more embodiments described herein, e.g., as a component of system100.

Device300includes one or more network interfaces310(e.g., wired, wireless, PLC, etc.), at least one processor320, and a memory340interconnected by a system bus350, as well as a power supply360(e.g., battery, plug-in, etc.).

Network interface(s)310contain the mechanical, electrical, and signaling circuitry for communicating data over the communication links coupled to communication network305. Network interfaces310are configured to transmit and/or receive data using a variety of different communication protocols. As illustrated, the box representing network interfaces310is shown for simplicity, and it is appreciated that such interfaces may represent different types of network connections such as wireless and wired (physical) connections. Network interfaces310are shown separately from power supply360, however it is appreciated that the interfaces that support PLC protocols may communicate through power supply360and/or may be an integral component coupled to power supply360.

Memory340includes a plurality of storage locations that are addressable by processor320and network interfaces310for storing software programs and data structures associated with the embodiments described herein. In some embodiments, device300may have limited memory or no memory (e.g., no memory for storage other than for programs/processes operating on the device and associated caches).

Processor320comprises hardware elements or logic adapted to execute the software programs (e.g., instructions) and manipulate data structures345. An operating system342, portions of which are typically resident in memory340and executed by the processor, functionally organizes device300by, inter alia, invoking operations in support of software processes and/or services executing on the device. These software processes and/or services may comprise fault classification process/services344, described herein with respect to system100and method200. Note that while fault classification process/services344is illustrated in centralized memory340, alternative embodiments provide for the process to be operated within the network interfaces310, such as a component of a MAC layer, and/or as part of a distributed computing network environment.

It will be apparent to those skilled in the art that other processor and memory types, including various computer-readable media, may be used to store and execute program instructions pertaining to the techniques described herein. Also, while the description illustrates various processes, it is expressly contemplated that various processes may be embodied as modules or engines configured to operate in accordance with the techniques herein (e.g., according to the functionality of a similar process). In this context, the term module and engine may be interchangeable. In general, the term module or engine refers to model or an organization of interrelated software components/functions. Further, while the fault classification process344is shown as a standalone process, those skilled in the art will appreciate that this process may be executed as a routine or module within other processes.

It should be understood from the foregoing that, while particular embodiments have been illustrated and described, various modifications can be made thereto without departing from the spirit and scope of the invention as will be apparent to those skilled in the art. Such changes and modifications are within the scope and teachings of this invention as defined in the claims appended hereto.