Systemidentifizierungspakete

13

Ich habe nach einer Alternative zu Matlabs System Identification Toolbox gesucht, aber die Gemeinsamkeiten der Begriffe "System" und "Identifikation" stören die Suche.

Gibt es eigenständige Bibliotheken, die für diesen Zweck geschrieben wurden? (in C ++, C #, Python usw.)

jonsca
quelle
Suchen Sie nach bestimmten Algorithmen? Ich habe mit den meisten MATLAB-Toolboxen die Erfahrung gemacht, dass ich höchstens eine Handvoll von ihnen verwenden werde. Mit einer gezielteren Suche erzielen Sie möglicherweise einen besseren Erfolg.
Jason R
@ JasonR Sehr wahr. Ich habe Werkzeuge in anderen Sprachen gefunden, die für Zeitreihen im Allgemeinen spezifisch sind, aber bestimmte Elemente wie die Hammerstein-Wiener-Modelle (von denen ich nicht einmal sicher bin, ob ich sie brauche, aber immer noch) waren schwierig zu erfassen. Auf Websites vieler dieser Modelle wird häufig auch die System Identification Toolbox zitiert. Ich kann eine Antwort zusammenstellen mit dem, was ich bisher gefunden habe.
Jonsca

Antworten:

7

Die System Identification Toolbox enthält Funktionen für

  • Lineare Systemidentifikation und Bestimmung der Übertragungsfunktion
  • Nichtlineare "Black-Box" -Modelle
  • ODE-Parameterschätzung
  • Zeitreihenidentifikation

Eine der vielversprechenden Ersatz für all diese Funktionen wäre zu verwenden R . Zwei Pakete, die einige der Zeitreihenfunktionen enthalten, sind das Zeitreihen-Dienstprogramm- und Analysepaket und die flexible Modellierungsumgebung für inverse Modellierung, Empfindlichkeit, Identifizierbarkeit und Monte-Carlo-Analyse. Diese Funktionen wurden auch mit dem Time Series Analysis and Control-Paket geteilt

Eine Option für die Berechnung und Bearbeitung von Übertragungsfunktionen (die versucht, die Matlab Control Systems-Toolbox zu ersetzen, die sich erheblich mit der System-ID überschneidet) ist die Control Systems Library für Python , die CSL verfügt jedoch über keine Funktionen für Umgang mit der Systemidentifikation, nur die Fähigkeit, Übertragungsfunktionen zu manipulieren (danke an JasonS für diesen Hinweis). Mit dem Ch Control System Toolkit können lineare Systeme modelliert und die Übertragungsfunktion bestimmt werden.

Ich bin mir sicher, dass es noch andere Beispiele gibt, aber es kann ein bisschen dauern, bis sie gefunden sind.

jonsca
quelle
Vielen Dank für den Verweis auf Control Systems Library for Python. Es scheint jedoch keine System-ID-Funktionen zu haben.
Jason S
@JasonS Ich habe mir dieses Zeug seit einiger Zeit nicht mehr angesehen, aber ich werde versuchen, ein besseres Paket zu finden (da draußen gibt es bestimmt etwas). Während die CSL keine expliziten Funktionen zur Systemidentifizierung enthält, verfügt sie über eine Python-Klasse für den Umgang mit Übertragungsfunktionen. Ich denke, vielleicht kläre ich die Antwort damit.
Jonsca
1

SIDPAC ist ein frei verfügbares Programm von software.nasa.gov. Es zielt auf Probleme mit der ID von Flugzeugsystemen ab, die zugrunde liegenden Methoden sind jedoch auch auf andere Problemtypen anwendbar.

Charlie H
quelle
Hallo Charlie, es scheint nicht mehr auf ihrer Seite verfügbar zu sein. Hast du einen direkten Link?
Jonsca