In der Mess- und Prüftechnik
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik / AG 0
Universität Siegen - FB Maschinenbau / LMW
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion ::
Häufig sind die rohen sensorischen Daten(variablen) zu hochdimensional und abhängig voneinander
Reduktion auf wesentliche Merkmale kann ML Qualität deutlich verbessern
Häufig besitzen einzelne Sensorvariablen keine oder nur geringe Aussagekraft (geringe Entscheidbarkeitsqualität)
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Datenqualität
Rauschen. Rauschen ist die Verzerrung der Daten. Diese Verzerrung muss entfernt oder Ihre nachteiligen Auswirkungen vermindert werden, bevor ML Algorithmen ausgeführt werden, da die Leistung und Qualität der Algorithmen beeinträchtigen kwerden ann.
Es gibt eine Vielzahl von Filteralgorithmen um den Einfluß von Rauschen auf das eigentliche Sensorsignal zu vermindern.
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Datenqualität
Ausreißer. Ausreißer sind Instanzen, die sich erheblich von anderen Instanzen im Datensatz unterscheiden.
Aber: Ausreißer können in besonderen Fällen nützliche Muster darstellen und die Entscheidung, sie zu entfernen, hängt vom Kontext und Fragestellung ab.
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Datenqualität
Bias. Systematische Verschiebung von Messdaten (Offset).
Systematische Verschiebung kann nur durch zusätzliche Modellfunktionen oder Sensorfusion kompensiert werden!
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Datenqualität
Fehlende Werte. Fehlende Werte sind Funktionswerte, die in Instanzen fehlen.
Zum Beispiel, Einzelpersonen können es vermeiden, Profilinformationen auf social-media-Websites zu melden, wie Ihr Alter, Standort, oder Hobbys.
Um dieses Problem zu lösen, können wir
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Datenqualität
Duplikate. Doppelte Daten treten auf, wenn mehrere Instanzen mit genau denselben Funktionswerten vorhanden sind.
Doppelte blog-posts, doppelte tweets oder Profile auf Social-media-Websites mit doppelten Informationen sind Beispiele für dieses Phänomen.
Je nach Kontext können diese Instanzen entweder entfernt oder beibehalten werden. Wenn Instanzen beispielsweise eindeutig sein müssen, sollten doppelte Instanzen entfernt werden.
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Statistische Analyse
Statistische Analysen von Mess- und Sensordaten können neue Datenvariablen erzeugen und Informationen über die Daten liefern:
Statistische Analyse liefert eine Reihe von Kennzahlen über Datenvariablen, das können Eigenschaften für die Weiterverarbeitung sein:
stat(→x):→x→→p,→p={mean,σ,..}
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Statistische Analyse
Welche statistische Größen gibt es? Was können statistische Größen über Daten aussagen?
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Statistische Funktionen
2:173
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Statistische Funktionen
2:173
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Statistische Funktionen
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Statistische Funktionen in R
Anwendung i.A. auf Vektoren, Matrizen, oder Arrays.
R | Beschreibung |
---|---|
fivenum(x) |
Liefert min, q1, median, mean, q3, max |
mean(x) |
Arithmetischer Mittelwert |
min(x) , max(x) |
Extremwerte |
moment(x,order) |
Statistisches Moment einer Datenserie |
rnorm(n,a,b) |
Normalverteilte Zufallszahlen [a,b] |
runif(n,a,b) |
Uniform verteilte Zufallszahlen [a,b] |
sd(x) |
Standardabweichung |
sum(x) |
Arithmetische Summation |
var(x) |
Varianz (Achtung hier: sd2) |
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Korrelation von Datenvariablen
Abhängige Variablen sollten identifiziert und in unabhängige "transformiert" werden!
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Korrelation von Datenvariablen
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Korrelation von Datenvariablen
D bestand aus 61 Experimenten mit unterschiedlichen Fertigungsserien
Mit einer Principle Component Analysis (PCA) konnte die ganze Tabelle auf die Variablen PC1 und Y1reduziert werden!
Die Genauigkeit der mit ML synthetisierten Funktion M(X): X → Dichte konnte ohne signifikanten Genauigkeitsverlust nur aus PC1 abgeleitet werden, d.h. M(PC1): PC1 → Dichte
Aber: Für die Inferenz (Applikation) von M muss die PCA für die Eingabedaten X wiederholt werden bzw. die Datentransformation durchgeführt werden!
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Analyse Kategorischer Variablen
5 Beispiel von rein kategorischen Attributen einer Datentabelle D
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Analyse Kategorischer Variablen
5:53 Beispiel einer rein kategorischen Datentabelle D. Die Zielvariable Klasse mit den Werten {N,P} ist ebenfalls kategorisch, z.B. Klasse=P ⇒ Sportliche Aktivität
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Analyse Kategorischer Variablen
7:47 Einige Datenvariablen wurden mit numerischen/metrischen Werten ersetzt (Klasse → Play-time)
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Analyse Kategorischer Variablen
Kann aus der vorherigen Datentabelle mit numerischen Variablen noch ein Zusammenhang aus X zu Y hergestellt werden?
Reicht die Anzahl der Experimente im Vergleich zu der rein kategorischen Datentabelle?
Wo liegen die Probleme?
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Analyse Kategorischer Variablen
7:7
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Kodierung
Kategorische Variablen (sowohl Attribute als auch Zielvariablen) können von einer Vielzahl von numerisch basierten ML Verfahren nicht verarbeitet werden (wie neuronale Netze)
Eine Lösung ist die Abbildung von kategorischen Werten (also Mengen von Symbolen) auf numerische Werte → Kodierung
Kodierte Werte sind aber i.A. weder intervall- noch verhältnisskalierbar!
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Kodierung
Linear und nicht akkummulativ (skalar), d.h.
{α,β,γ,..} → {δ,2δ,3δ,..}
Exponentiell (z.B. zur Basis B=2) und akkummulativ (skalar), d.h.
{α,β,γ,..} → {20,21,22,..}
One-hot und evtl. akkummulativ (vektoriell), d.h.
{α,β,γ,..} → {[1,0,0,...],[0,1,0,..],[0,0,1,..],..}
Expontentielle Kodierungen können multiple verschiedene kategorische Werte in einem numerischen Wert darstellen! Z.B. mehrfache kategorische Antworten bei einer Frage einer Umfrage.
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Kodierung
{sonnig,bewölkt,regnerisch} → {3,2,1}{ja,nein} → {1,0}{Schaden A, Schaden B, Schaden C} → { 1,2,3 }{rot,grün,blau,braun,weiß} → {1,2,4,8,16}{Sport, Kino, Theater, Musik} → {1,2,4,8}{heiß,kalt} → {[1,0],[0,1]}
cat(x):x→{α1,α2,..,αn},x∈R/Nαi↔x=[x0+iδ,x0+(i+1)δ]
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Kodierung
Z.B. die Kategorisierung von Schadenspositionen in einer mechanischen Struktur durch räumliche Bereiche (Segmente) {S1,S2,S3,..,S9}
Z.B. Temperaturen durch "gefühlte" Attribute {heiß, warm, moderat, kalt, eiskalt}
Z.B. Zeitangaben durch Epochen {Steinzeit, Bronzezeit, Kohlezeit, .. }
Die Kodierung ist umkehrbar mit einer Dekodierungsfunktion (unter Kenntnis der Kodierungsvorschrift)
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Datenanalyse und Eigenschaftsselektion :: Kodierung
switch
und factor
FunktionenPD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Dekodierung :: Kodierung
use math# Kodierungc1 = switch('A',A=1,B=2,C=3)c12 = switch(['A','N'],A=1,B=2,C=3)c2 = factor(['A','B'],['A','B','C'],[1,2,4])c3 = switch('heute',heute=0,gestern=-1,morgen=1)logg(c1,sum(c12),c2,sum(c2))# Dekodierungd2 = factor(c2,[1,2,3],['A','B','C'])logg(d2)
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Dekodierung :: Entropie und Informationsgehalt
Sensorvariablen können unterschiedlichen Informationsgehalt besitzen
Der Informationsgehalt einer Menge X aus Elementen der Menge C wird durch die Entropie E(X) gegeben:
E(X)=−∑i=1,kpilog2(pi),pi=count(ci,X)N,X={c|c∈C}
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Dekodierung :: Entropie und Informationsgehalt
Dabei ist k die Anzahl der unterscheidbaren Elemente/Klassen Val(X) ⊆ C in der Datenmenge X (z.B. die Spalte einer Tabelle) und pi die Häufigkeit des Auftretens eines Elements ci ∈ C in X.
Beispiele:
X1={A, C, B, C, B, C} → Val(X1)=C={A, B, C},N=6E(X1)=-(1/6)log(1/6)-(2/6)log(2/6)-(3/6)log(3/6)=1.46X2={A, B, C} → Val(X2)=C={A, B, C},N=3E(X2)=-(1/3)log(1/3)-(1/3)log(1/3)-(1/3)log(1/3)=1.58X3={A, A, A, A, B, B} → Val(X3)={A,B} ⊂ C={A, B, C},N=6E(X3)=-(4/6)log(4/6)-(2/6)log(2/6)-(0/6)log(0/6)=0.92X4={A, A, A, A, B, B} → Val(X4)=C={A, B},N=6E(X4)=-(4/6)log(4/6)-(2/6)log(2/6)=0.92
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Dekodierung :: Entropie und Informationsgehalt
X1 | X2 | Y |
---|---|---|
A | C | P |
B | C | P |
A | D | N |
B | D | N |
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B Dekodierung :: Entropie und Informationsgehalt
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Entropie von numerischen Werten
Die Entropie ist primär bei kategorischen Variablen zu verwenden
Bei numerischen und vor allem kontinuierlich verteilten Variablen ist eine Intervalldiskretisierung vorzunehmen:
# sample from continuous uniform distributionx1 = runif(10000)# discretize into 10 categoriesy1 = discretize(x1, numBins=10, r=c(0,1))# compute entropy from countsentropy(y1) # empirical estimate near theoretical maximumlog(10) # theoretical value for discrete uniform distribution with 10 bins
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Informationsgewinn (Gain)
G(Y|X)=E(Y)−∑v∈Val(X)|Yv||Y|E(Yv)
Die Menge Yv enthält nur Werte für die X=v ist!
Ein Verteilungsvektor ist dann Dist(X)=[|v1|,|v2|,..] und bedeutet wie häufig der bestimmte Wert vi ∈ Val(X) in X auftaucht!
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Informationsgewinn (Gain)
12
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Informationsgewinn (Gain)
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Principle Component Analysis
PCA ist noch keine Reduktionsmethode. PCA liefert bei einem n-dimensionalen Vektor X genau n Vektoren der Dimensionalität n!
Aber: Reduktion von Redundanz in den Attributen X ist mit diesen Hauptkomponenten möglich.
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Principle Component Analysis
Czarnek, RG
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Spektrale Analyse
(DFT) und schnelle FA (FFT) → (Frequenzspektrum)
Es gilt: Das aus der DFT erhaltene Frequenspektrum hat die höchste Frequenz:
fs=1/Δt,Δt=ti+1−ti,fmax=fs/2
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Spektrale Analyse
DFT(X):F(k)=N−1∑n=0Xne−i2πnk/N
für k = 0,1,2, ... , N–1
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Spektrale Analyse
Mag(X)=√[re(DFT(X))]2+[im(DFT(X))]2N
Pha(X)=arctan(im(DFT(X))re(DFT(X)))
Power(X)=[re(DFT(X))]2+[im(DFT(X))]2N
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Beispiel für Spektrale Eigenschaftsselektion
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Beispiel für Spektrale Eigenschaftsselektion
DWT verwendet lange Zeitfenster für niedrige Frequenzen und kurze Zeitfenster für höhere Frequenzen, was zu einer guten zeitfrequenzanalyse führt.
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Beispiel für Spektrale Eigenschaftsselektion
DWT kann mit digitalen Filterkaskaden aufgebaut werden:
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Histogrammanalyse
wavemetrics
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Histogrammanalyse
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Analyse von Datenserien
Welcher Sensoren können bei der Bauteilprüfung und Schadensüberwachung Zeit- oder Datenserien erzeugen..
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Analyse von Datenserien
C. R. Farrar and K. Worden, Structural Health Monitoring: A Machine Learning Perspective. Wiley-Interscience, 2013, pp. 164
Zeitaufgelöste Sensordaten s(t) eines Beschleunigungssensors einer Maschine ohne und mit Schäden
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Analyse von Datenserien
C. R. Farrar and K. Worden, Structural Health Monitoring: A Machine Learning Perspective. Wiley-Interscience, 2013, pp. 164
Autokorrlelation der zeitaufgelösten Sensordaten s(t) eines Beschleunigungssensors einer Maschine ohne und mit Schäden
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Analyse von Datenserien
C. R. Farrar and K. Worden, Structural Health Monitoring: A Machine Learning Perspective. Wiley-Interscience, 2013, pp. 167
Spektralanalyse der zeitaufgelösten Sensordaten s(t) eines Beschleunigungssensors einer Maschine ohne und mit Schäden
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Merkmalsselektion
Die statistische und weitere Analysen können die Eingabe für ML liefern, aber auch die Modellsynthese parametrisieren bzw. beeinflussen
PD Stefan Bosse - Automatische Schadensdiagnostik - Modul B compute entropy from counts :: Zusammenfassung
Die statistische Analyse von Datentabellen liefert wichtige Informationen über die Qualität der Daten
Die Merkmalsselektion transformiert die Rohdaten auf neue möglichst linear unabhängige Attribute
Es werden Verfahren für kategorische und numerische Datenvariablen unterschieden