Vergleich und Bewertung von realen und virtuellen Messkurven

Fragen, die sich auf kein spezielles Verfahren beziehen.

Vergleich und Bewertung von realen und virtuellen Messkurven

Beitragvon stuAlex » Do 2. Apr 2020, 17:37

Hallo Community!

Ich habe vor, Kurven mit Referenzkurven zu vergleichen und zu bewerten. Die Referenzkurven (6 Kurven bzw. 6 Plots) stammen aus Messungen eines realen Modells. Dieses Modell liegt nun auch mit 94 Parametern virtuell vor und soll so angepasst werden, dass es sich wie das reale Modell mit den 6 Referenzkurven bzw. 6 Plots verhält (also dass reale Messungen und virtuelle nahezu gleich sind, was im Moment nicht der Fall ist).
Es geht aber erst mal darum herauszufinden, welche Parameter aus dem virtuellen Modell besonders starken Einfluss auf EINE der 6 Kurven haben und dabei alle anderen 5 Kurven möglichst gering beeinflussen. So soll dann der Optimierer effizienter arbeiten, der sonst eine Ewigkeit brauchen würde, wenn der alle 94 Parameter je Referenzkurve berücksichtigen müsste. Die Messkurven aus dem virtuellen Modell wurden durch Simulationen bestimmt. Ich betrachte nun 6 Ausgangskurven und 6x188 weitere Kurven, aus Konfigurationen, bei denen denen die Parameterwerte jeweils und nacheinander ein mal halbiert und ein mal verdoppelt wurden. Warum halbiert und verdoppelt wurde, soll hier mal egal sein :) Mal ein Beispiel, was mein Ziel ist:

Ich habe die Ausgangskurven "Eins", "Zwei", "Drei", "Vier", "Fünf" und "Sechs" aus Konfiguration 1 (keine Änderungen). Ich hab nun mit eurer Hilfe herausgefunden, dass die Konfiguration X die größte Abweichung zur Ausgangskurve "Eins" hervorruft, und dabei die Abweichung zu den Kurven "Zwei", "Drei", "Vier", "Fünf" und "Sechs" nahe null ist. Also große Veränderung im Plot "Eins" und geringe bei allen anderen. Sag ich dem Optimierer, er soll nur den Parameter, dessen Wert in Konfiguration X geändert wurde, verwenden, schafft er es schnell das virtuelle Modell an die Referenzkurve "Eins" anzupassen. Die erste reale Messkurve stimmt nahezu mit der virtuelle überein.

Problem bei dem ganzen:
- Wird an einem Parameter geschraubt, ändert sich das Modellverhalten i.d.R. hinsichtich aller Kurven, nur eben unterschiedlich stark. Ich will Parameter herausbekommen, die einen großen Einfluss auf eine und einen möglichst geringen Einfluss auf alle anderen haben. So kann der Optimierer die 6 Referenzkurven, an die das Modell angepasst werden soll, nahezu isoliert betrachten.
- Wie berechne ich hier sinnvollerweise die Abweichung? Ich betrachte momentan den RMSE (Root Mean Squared Error - sollte ähnlich der Standardabweichung sein), MSE (Mean Squared Error), LSE (Least Squared Error), MdSE (Meadian Squared Error), sMAPE (scaled Mean Absolute Percentage Error) und so weiter und würde gerne einige ausschließen, die nicht sinnvoll zu verwenden sind.

Vielleicht könnt ihr mir schon helfen, wenn ihr mir sagen könnt, wann eine relative Abweichung (%) einer "normalen" (Differenz) vorzuziehen ist. Oder wann der Median den Vorzug ggü. dem ar. Mittelwert bekommen sollte. Es handelt sich beim Modell um ein Fahrwerk - Ausreißer sind nicht zu erwarten. Die Kurven verlaufen beinahe durch den Nullpunkt, weswegen ich die relative Abweichung schon fast ausschließe (sehr große Werte).

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt und verschrecke niemanden mit dem ellenlangen Text :roll: Die Statistik ist mir relativ fremd, wie man merkt.. Auch allgemeine Tipps können mir sehr weiterhelfen!

Edit: Hier mal die Abweichungen
Absolute Abweichung: https://www.bilder-upload.eu/bild-8e7f6 ... 9.png.html
Prozentuale: https://www.bilder-upload.eu/bild-67db9 ... 8.png.html
Die Prozentuale Abweichung geht teils bis ca. 5000 % hoch.

Edit2: Ich lese oft von einer Regressionsanalyse. Ist das hier anwendbar? Schließlich will ich jeweils Kurven miteinander vergleichen..
stuAlex
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Do 2. Apr 2020, 16:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Vergleich und Bewertung von realen und virtuellen Messku

Beitragvon bele » Fr 3. Apr 2020, 12:28

Hallo stuAlex,

ich habe das nicht alles verstanden.Was es mit den 6x188 weiteren Kurven auf sich hat, beispielsweise nicht. Mein Eindruck ist, dass Du versuchst, mit ähnlichen Mitteln wie ein Optimizer besser sein zu wollen als ein Optimizer. Wenn es aber nun gar keine Parameter geben sollte, deren Veränderung nur eine Kurve beeinflussen, nicht aber die anderen, dann wäre Dein Ansatz zum Scheitern verurteilt.

Der Vorteil Deines Gehirn gegenüber einem Computer besteht nicht darin, dass Du kleine von großen Veränderungen erkennen kannst, sondern darin, dass Du weißt, was ein Fahrwerk ist und was die 94 Parameter bedeuten. Versuche damit die Vorarbeit für den Optimizer zu leisten.

Regressionsanalyse ist ein Überbegriff für eine Reihe von Verfahren, bei denen eine Menge Eingangsdaten (Deine 94 Parameter) und einfache Ausgangsdaten (beispielsweise die Wurzel aus den quadrierten Abständen der Sol-l von den Ist-Kurven) genutzt werden, um ein einfaches Modell zu parametrisieren. Im Prinzip ist das, was Du vorhast, also eine Form der Regressionanalyse. Leider hilft das noch nicht bei der Frage, wie man Deine Regressionsaufgabe lösen kann. Ich vermute, dass man dafür auch mehr darüber wissen müsste, wie Dein Modell aufgebaut ist. Wenn es sich in einfachen mathematischen Formelzeichen darstellen lässt, könnte einen Markov-Chain-Monte-Carlo (MCMC)-Ansatz funktionieren. Die sich damit beschäftigenden Leute haben sich sehr, sehr clevere Sampler erstellt, um hochdimensionale Räume (auch 94 und mehr) nach geeigneten Lösungen abzusuchen. Mit sehr, sehr clever meine ich leider, dass das für einfache Nicht-Mathematiker wie mich nicht durchschaubar ist.

Also: Wenn Du Deine 94 Dimensionen systematisch untersuchen und alle Kombinationen von nur fünf Werten in jeder Dimension ausprobieren wolltest, bräuchtest Du Durchläufe. Das ist weder machbar noch wäre Dir mit einer so groben Auflösung von nur 5 Punkten wirklich geholfen. MCMC erlaubt es, so hochdimensionale Räume nicht gleichmäßig sondern stochastisch "lösungsorientiert" zu durchsuchen.

Eine idiotensichere Lösung kann ich Dir nicht bieten, aber doch eine vielversprechende Richtung für die weitere Recherche geben. Die wahrscheinlich beste Softwarelösung für diesen Ansatz ist stan: https://mc-stan.org/

Wenn es Dir gelingt, Dein Modell in der stan-Sprache auszudrücken, kann der stan-Compiler daraus ein C++-Programm machen, dass sehr effizient nach guten Approximationen Deiner Lösung sucht, sprich die Regressionsrechnung vornimmt. Einige Ressourcen findet man auf der verlinkten Website, recht mathematiklastige Vorträge zu den Hintergründen findet man auf Youtube von Michael Betancourt, beispielsweise https://www.youtube.com/watch?v=jUSZboSq1zg. Als einen ersten Leseeinstieg mag dieses Paper von 2015 dienen, auch wenn es im Detail wahrscheinlich nach 5 Jahren nicht mehr ganz aktuell sein wird: http://www.stat.columbia.edu/~gelman/re ... jebs_2.pdf Ich habe nicht gesagt, dass der Weg dahin einfach ist, aber Dein Problem hört sich so an, dass rechtfertige es einiges an Aufwand.

Viel Erfolg,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5771
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1353 mal in 1340 Posts

Re: Vergleich und Bewertung von realen und virtuellen Messku

Beitragvon stuAlex » Fr 3. Apr 2020, 17:29

Danke für deine ausführliche Antwort!

Es geht mir nicht darum, den Optimierer zu ersetzen. Momentan ist ein einfacher Optimierer implementiert (ich arbeite mit Matlab). Es ist so, dass man sich Parameter händisch aussucht, mit denen der Optimierer arbeiten darf. Wie du schon angemerkt hast, brauch man es erst gar nicht probieren, dem Optimierer alle Parameter zum Optimieren zur Verfügung zu stellen. Der simuliert sich dann dumm und dämlich. Ich hatte nun vor, eine Vorauswahl zu treffen. Also Parameter zu finden, durch dessen Änderung eine möglichst isolierte und große Änderung einzelner Kurven möglich ist. Mit den gefundenen Parametern soll der implementierte Optimierer bspw. dann mit 6 statt mit 94 Prametern schnell und effizient zu einer ausreichend guten Lösung kommen. Im Beispiel der 6 gefundenen Parametern hätte ich mir also die "besten" 2 je Kurve rausgesucht. Dass die Änderung eines Parameters nur eine Kurve verändert und alle anderen gar nicht, halte ich wie du für ausgeschlossen - aber ich will ja nur die "besten". Vielleicht suche ich ja in dem Fall einen "umgekehrten" Optimierer (schlechteste Übereinstimmung, statt der besten), dann hast du mit der Aussage recht..

Für das Vorgehen zum Finden der "besten" Parameter habe ich Beispieldaten. Die Referenzkurven kommen aus einer Simulation, bei denen die Parameter alle gleich 1 gesetzt sind -> meine ersten 6 Kurven, meine Referenz.
Jetzt ändere ich einen Parameter von 1 auf 0,5 (Rest bleibt bei 1) -> weitere 6 Kurven.
Jetzt ändere ich denselben Parameter auf 2, da eine Änderung nach unten und oben sich unterschiedlich stark auswirken kann -> ich erhalte weitere 6 Kurven.

Mach ich das für alle Parameter, erhalte ich die 6x188 Kurven (aus 188 Änderungen). Vielleicht ist die Einflussanalyse hier das richtige Wort. Nun wollte ich eine geeignete Methode zum Bewerten der Abweichung implementieren - aber gibt ja so viele..

Den MCMC-Ansatz schau ich mir mal an, ebenso stan. Evtl. gibt es ja auch eine Lösung für Matlab...Vielen Dank dafür!
stuAlex
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Do 2. Apr 2020, 16:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Vergleich und Bewertung von realen und virtuellen Messku

Beitragvon stuAlex » Mo 6. Apr 2020, 21:33

Also was ich zunächst vorhatte ist eine Einflussanlyse bzw. eine Sensitivitätsanalyse, um Parameter auszusortieren. Kann mir da evtl. jemand Literatur empfehlen oder anderweitig helfen?
Ich versuche mich momentan etwas bei den ersten Treffern einzulesen und schaue, ob das etwas für mein Vorhaben ist.. :roll:
stuAlex
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Do 2. Apr 2020, 16:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Allgemeine Fragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste

cron