WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

nicht lineare Regression

 

fireray
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 18:11     Titel: nicht lineare Regression
  Antworten mit Zitat      
Hey
ich habe eine Problem und zwar habe ich n Variablen, die ich anhand einer Funktion abbilden kann.
ZZ ist mir diese Funktion gegeben, später kan ich aber nur für die Variablenwerte eine Response erfragen, deswegen soll ich anhand der Eingangs Variablen und der Response eine Funktion F aufstellen, aber das sollte ja kein Problem darstellen.
Diese Funktion soll eine Funktion zweiten gerades sein, also
F(x1....xn)= x1a1+x2a2 ... xn+an + (x1^2)b1 + (x2^2)b2 ... (xn^2)bn + c

Nun habe ich ja bei n Variablen 2*n+1 Unbekannte. Ich kann ja nun 2*n+1 Gleichungen aufstellen, indem ich für beliebige Variablen ( bei mir spezial Fälle z.b. alle 0 nur eine Variable zählt ) eine Response erfrage.

Die Funktion habe ich ganz einfach aufgestellt durch einen Vektor b der die Response der einzelnen Fälle beinhaltet und eine Matrix mit den jeweiligen Eingangs Variablen.

Dann erhielt ich durch p = A\b einen Vektor p mit den Koeffizienten.

Soweit so gut, ich habe nun auch meine Funktion aber diese ist noch nicht hinreichend genau, deswegen soll es eine Regressionsfunktion sein.

Meine Iteration sieht nun so aus, das ich in jedem Schritt durch eine von mir bestimmte Auswahl einen neuen Punkt ( Eingangs Variablen + Response ) bekomme.
Meine Frage ist nun wie mache ich aus meiner Funktion nun eine Regressionsfunktion, die in jedem Iterationsschritt um einen Punkt erweitert wird ? ich wäre euch sehr verbunden wenn ihr mir helfen könntet.
Schon mal vielen Dank im Vorraus.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.06.2009, 18:31     Titel:
  Antworten mit Zitat      
Kommentare:
- warum nicht alle Werte auf einmal verwenden?
- üblicherweise verwendet man auch gemischte Terme (Kij*xi*xj).
Private Nachricht senden Benutzer-Profile anzeigen
 
fireray
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 18:39     Titel:
  Antworten mit Zitat      
ja ich weiß, aber in meinem Fall, sind die gemischten Terme nicht nötig und auch nicht möglich. Da die Variablen Anzahl mindestens 100 betragen wird. Und jede einzelne Response rechnung mindestens 80sek dauert.
Deswegen soll mit möglichst wenigen Punkten eine annehmbare Näherung erreicht werden.
Und die Funktion brauch ich deswegen, da der neue Punkt so erfasst wird, indem ich quasi in Richtung des kürzesten Abstands des Nullpunktes zur Funktion einen neuen Punkt suche. Dafür brauche ich die Funktion.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.06.2009, 19:06     Titel:
  Antworten mit Zitat      
Soll das ganze letztlich verwendet werden, um ein Optimierungsproblem zu lösen? Dann wäre es einfacher, direkt einen Optimierungsalgorithmus zu verwenden, z.B. fminsearch oder (wahrscheinlich effizienter) einen Algorithmus aus der Optimization Toolbox.
Private Nachricht senden Benutzer-Profile anzeigen
 
fireray
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2009, 12:44     Titel:
  Antworten mit Zitat      
nein ich denke nicht.
Ich habe eine Funktion, die mit immer neuen Datenpunkten weiter verfeiern kann.

Es wurde festgelegt, dass eine Regressionsfunktion zweiter Ordnung reicht.
Theoretisch muss das doch möglich sein, aber ich finde im Internet auch fast keine Informationen dazu.
Aber danke schonmal für deine Bemühungen.

Ich finde nur Informationen zur multivariaten linearen Regression und univariablen quadratischen Regression, aber daraus das selber herleiten geht glaub ich doch noch ein wenig übermeinen Horizont ^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.