Hallo,
für das nicht-lineare Modell im Anhang und unten beschrieben möchte ich ein dimensionsreduzierendes Verfahren durchführen, um die Kolinearität zwischen der hohen Anzahl an Parametern zu überprüfen.
Wenn ich die Literatur richtig verstanden habe, kann ich eine PCA/Faktorenanalyse für ein nichtlineares Modell mit der Jakobi Matrix durchführen.
Ich habe dies Jacobi-Matrix in Matlab mit folgendem Befehl gemacht:
options=optimset('MaxFunEvals', 10000, 'MaxIter', 10000, 'TolFun', 0.0001, 'TolX',0.0001,'Display','on');
[k_optim, resnorm, residual, exitflag, output, lambda, jacobian] = lsqnonlin(f,k0,lb,ub,options);
jacobian = Jakobimatrix mit j_ij = dy_i / (dx_p). Unten habe ich beschrieben, dass ich 240 Beobachtungen und 12 Parameter habe. Jacobian ist jetzt aber eine 720x12 double sparse Matrix.
Hat jemand eine Ahnung, warum ich 3x so viele Zeilen wie Beobachtungen habe?
Hat jemand noch einen alternativen Vorschlag für eine Dimensionsreduzierende Methode bei einem nichtlinearen Datensatz?
Link Gleichungen (als ich diese hier hochladen wollte, kam eine Meldung, dass mein Kontingent für Dateianhänge ausgenutzt sei, obwohl ich noch nichts hochgeladen habe):
https://picload.org/view/dargdodl/equations.png.html
Modellbeschreibung:
Im Anhang sind die Gleichungen zu meinem Reaktionsmodell für eine chemische Kinetik. r ist die Reaktionsrate (Umsatz eines Stoffes in Menge Stoff / (m^3*s)). Diese taucht auf in der Differentialgleichung dy_i (delta Stoffemengenanteil an allen Stoffen)/ dz (z= Achse eines Reaktors, an dem Stoffe entlangfließen und reagieren). f, p, u, R,T, Z sind extern gegeben oder vom aktuellen y-Wert abhängig. K_substanz, EA_Reaktion, dH_Reaktion und k_Reaktion sind die zu schätzenden Parameter.
Ich besitze einen Datensatz von 240 Experimenten, bei denen y von allen Komponenten bei z = 0 und z = Ausgang am Reaktor bei verschiedenen Temperaturen und Geschwindigkeiten u gemessen wurde. Mit diesem Datensatz will ich die Parameter von dy/dz optimieren.