Pakiety identyfikacji systemu

13

Poszukiwałem alternatywy dla Matlab's System Identification Toolbox, ale powszechność terminów „system” i „identyfikacja” utrudnia wyszukiwanie.

Czy istnieją jakieś samodzielne biblioteki, które zostały napisane w tym celu? (w C ++, C #, Python itp.)

jonsca
źródło
Szukasz jakichś konkretnych algorytmów? Moje doświadczenie z większością zestawów narzędzi MATLAB polega na tym, że wykorzystam najwyżej kilka z nich. Być może odniesiesz większy sukces dzięki bardziej ukierunkowanemu wyszukiwaniu.
Jason R
@JasonR Bardzo prawda. Znalazłem narzędzia w innych językach, specyficzne dla szeregów czasowych, ale konkretne przedmioty, takie jak modele Hammersteina-Wienera (których nie jestem nawet pewien, że będę ich potrzebował, ale nadal) były trudne do ustalenia. Strony internetowe w wielu z tych modeli również przytaczają Przybornik identyfikacji systemu. Mogę udzielić odpowiedzi razem z tym, co do tej pory znalazłem.
jonsca,

Odpowiedzi:

7

Przybornik identyfikacji systemu zawiera udogodnienia dla

  • Identyfikacja układu liniowego i określenie funkcji przenoszenia
  • Nieliniowe modele „czarnej skrzynki”
  • Oszacowanie parametru ODE
  • Identyfikacja szeregów czasowych

Jednym z bardziej obiecujących substytutów wszystkich tych funkcji byłoby użyć R . Dwa pakiety zawierające niektóre funkcje szeregów czasowych to pakiet narzędzi i analiz szeregów czasowych oraz środowisko elastycznego modelowania do modelowania odwrotnego, czułości, identyfikowalności, analizy Monte Carlo. Te funkcje były również wspólne z pakietem analizy i kontroli szeregów czasowych

Opcją do obliczania i przenoszenia funkcji przesyłania (która próbuje zastąpić zestaw narzędzi Matlab Control Systems, który znacznie pokrywa się z identyfikatorem System ID jeden), jest biblioteka Control Systems Library dla Pythona , ale CSL nie ma żadnych funkcji zajmując się identyfikacją systemu, wystarczy umiejętność manipulowania funkcjami przenoszenia (dzięki JasonS za zwrócenie na to uwagi). Ch System Control Toolkit pozwala modelować systemy liniowe i określenie funkcji transferu.

Jestem pewien, że istnieją inne przykłady, ale odkrycie może zająć trochę czasu.

jonsca
źródło
Dzięki za wskaźnik do biblioteki Control Systems Library dla Python. Wydaje się jednak, że nie ma żadnych funkcji identyfikatora systemu.
Jason S
@JasonS Dawno nie patrzyłem na te rzeczy, ale postaram się wymyślić lepszy pakiet (na pewno jest coś w tym momencie). Chociaż CSL nie ma żadnych jawnych funkcji do identyfikacji systemu, ma klasę Python do obsługi funkcji przesyłania. Myślę, że może wyjaśnię w ten sposób odpowiedź.
jonsca
1

SIDPAC to program dostępny bezpłatnie z software.nasa.gov. Jest on ukierunkowany na problemy z identyfikatorem systemu statku powietrznego, jednak podstawowe metody mają zastosowanie do innych rodzajów problemów.

Charlie H.
źródło
Cześć Charlie, wydaje się, że nie jest już dostępny na ich stronie. Czy masz bezpośredni link?
jonsca