Optimierte Lösung linearer Gleichungssysteme

Hallo zusammen,

eine Frage zur Lösung von gestörten linearen Gleichungssystemen der Form Ax=b, wobei A und b rauschbehaftet sind mit Varianzen sigma_A und sigma_b.

Die Lösung x = inv(A)*b ergibt den verrauschten Lösungsvektor für eine quadratische A Matrix.

Angenommen, man kennt bereits im Vorhinein einzelne Komponenten von x, zusammengefasst in einem Vektor x_1, mit einer besseren Genauigkeit, als sie x = inv(A)*b liefern würde.
Kann dann auch die Genauigkeit der noch unbekannten Komponenten von x verbessert werden, wenn man anstatt von x = inv(A)*b ein reduziertes lineares Gleichungssystem löst mit einer neuen, reduzierten A Matrix, A_neu, und einem neuen Zustandsvektor b, b_neu?

A_neu entsteht, wenn man die Spalten streicht, die zu den Komponenten in x_1 gehören. b_neu entsteht, wenn man von b das Produkt aus den weggestrichenenen Spalten von A und x_1 abzieht.

Über Anregungen freue ich mich :slight_smile:
Viele Grüße und danke
Nik

Hallo,
ich kann noch nicht recht abschätzen, ob Dir ein Stichwort (stochastische Regelungstheorie, dort LQG) reicht, oder ob Du etwas ganz anderes auf dem Schirm hast.

Bevor ich aushole, frage ich sicherheitshalber: Wie wurden die sigma_b ermittelt? Und gilt Ax = A’x+v, wobei v AWGN? Reden wir überhaupt von weißem Gauß-Rauschen?

Kurzum: Was Du machst, ist mathematisch natürlich kein Problem, aber ich verstehe die Aussage nicht. Definiere „verbessern“!

3 Like

Danke dir schon mal für deine Antwort! LQG sagt mir etwas, aber ich kann in diesem Kontext gerade nichts damit anfangen. Könntest du da etwas ausholen?
sigma_b ist im Prinzip immer ein konstanter Wert. Ich kenne meine Signalstärke im Messvektor b und meine Rauchstärke (AWGN). sigma_b beschreibt dann für eine Komponente in b die Varianz der Messung vom „wahren“ Wert, den wir hätten, wäre das Rauschen in b nicht da.
Wann gilt Ax = A’x+v? Wird da eine Bedingung an die Definitheit von A gestellt?

„Verbessern“ heißt: Kann ich mit dem a-priori Wissen einzelner Komponenten in x unter dessen Verwendung einen geringeren Fehler auch für die anderen Komponenten erreichen, als wenn ich einfach x=inv(A)*b löse ohne dieses Vorwissen? Der Fehler kann hier zb definiert sein, als die Norm zwischen dem wahren x und dem berechneten unter Verwendung des gestörten Systems.

Danke für die Klarstellungen. Es gilt das Separationsprinzip. Also mit einem optimalen Estimator kannst Du einen optimalen Controller füttern und erhälst einen optimalen Regelkreis.

Bleibt jetzt die Frage, ob Dein Vorgehen ein optimaler Regler ist. Nicht ganz meine Baustelle, aber für mich klingt das wie Witsenhauen’s Counterexample.

Sprich Vorwissen muß an beiden Reglern (der erste ist der, der das Komplement von A_neu erzeugt, der zweite ist A_neu) anliegen. Wie das die Sache bei Dir verkompliziert, weiß ich nicht. Hast Du es denn mal simuliert?

Hallo @NiklasLuR,
zuerst hast du ein lineares Gleichungssystem für n Unbekannte x1, x2, …, xn. Wenn du davon jetzt, sagen wir, r Stück auf anderem Wege kennst, bleiben ja nur noch n-r Unbekannte übrig. Für diese genügt ein lineares Gleichungssystem von n-r Gleichungen. Das erhältst du in zwei Schritten. Im ersten Schritt kannst du

  • die bekannten x’e in das LGS einsetzen und
  • alle dadurch aufgetauchten Konstanten in den Lösungsvektor b ziehen.

Jetzt hast du ein überbestimmtes lineares Gleichungssystem mit n Gleichungen für n-r Unbekannte. Im zweiten Schritt kannst du also r beliebige Gleichungen weglassen. Dann erhältst du ein LGS von n-r Gleichungen für n-r Unbekannte, dass du durch Invertieren von A_neu lösen kannst.

Im zweiten Schritt, dem Weglassen von Gleichungen, hast du natürlich Informationen verschenkt. Mit fallen drei Ansätze ein, damit umzugehen.

  • Du ignorierst die verschenkten Gleichungen und bist froh über eine Lösung, die alle anderweitig bekannten x’e korrekt enthält.
  • Du setzt die neuen Lösungen im Nachhinein in die fortgelassenen Gleichungen ein und schaust, wie gut diese erfüllt werden. Sicherlich werden diese Gleichungen nicht exakt gelöst, weil du einige x’e ja auf anderem Weg bekommen hast und damit (mehr oder weniger stark) von der exakten Lösung des verrauschten Systems abweichst. Das könnte einen Eindruck vermitteln, wie gut dein Ergebnis ist.
  • Du wiederholst Schritt 2 ein paar Mal, aber streichst jedesmal andere Gleichungen. Mit jeder Wiederholung bekommst du ja einen neuen Satz von x’en. Am Ende könntest du zB darüber den Mittelwert nehmen.

Liebe Grüße
vom Namenlosen

Danke! Wie kommst du darauf, dass es um Regelung geht? Es geht mir zunächst nur um den Estimator, bzw. die Lösung eines linearen Gleichungssystems.

Oh, naja, mit sigma_A und sigma_B ist bei mir im Kopf sofort angesprungen, daß die aus einem stochastischen Prozeß kommen müssen, sonst hätte man die ja nicht bestimmen können bzw. nicht Varianz genannt.

Falls dem so ist, dann gibt es genau eine Lösung, den LQG Controller, bestehend aus einem Kalman-Filter als Estimator und einem LQR (linear-quadratischen Regler).

Der LQG Controller löst das System in einem Schritt, bei Dir sind ja die AWGN Komponenten eben nicht zeitabhängig, sondern konstant, wenn ich das richtig verstehe.

Vorschlag 3 werde ich mal testen, guter Hinweis! Danke!

Stimme deinem ersten Abschnitt zu.
Die Lösung an der ich interessiert bin ist der Output des Estimators, warum brauche ich den Regler? Sorry für die erneute Nachfrage, aber mich interessiert dein Gedankengang dazu.

Achso, Du störst Dich am Regler. Also der Estimator bezieht sich im Regel-/Schätzproblem auf die Inputs, man setzt an:

x'=A'x+v  und  b'=A'x'+w

(v und w AWGN, b’ verrauschte Meßwerte, A’ verrauschter Operator). Also zu gegebenen x’ kann man ein x schätzen, das sauberer ist.

Wenn das reicht, dann war’s das.

Wenn man aber auch eine Schätzung für A haben will, dann ist A’x zu ersetzen durch Ax+Bu (mit B control operator und u Reglereingang). Das wäre auch die Standardform für das Kalman-Filter, den ich ja als Estimator vorgeschlagen hatte. Im LQG Controller nutzt man u als Reglereingang, u = -Kx im Kalmansetting kann man dort Störungen anlegen.

1 Like