|
|
Statistic Toolbox - Eigene Regressionsmodelle |
|
gigazwerg |
Forum-Anfänger
|
|
Beiträge: 24
|
|
|
|
Anmeldedatum: 27.11.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2009, 12:18
Titel: Statistic Toolbox - Eigene Regressionsmodelle
|
|
|
|
|
Hi,
ich bin noch recht frisch was das Thema Matlab und die stat. Toolbox angeht und brauche mal eure Hilfe.
Ich habe 3 oder mehr Einflussparameter und eine Zielgröße und will jetzt herausfinden wie die Zusammenhängen. Mit der einfachen Regression (regress oder robustfit) ist das ja kein Problem, allerdings geht das ja immer nach der Formel
y = a*x1+b*x2+c*x3+d*x4....
Das will ich aber nicht. Ich möchte mir meine Lösungsformeln selber basteln. In meinem Fall mit 3 Parametern und einer Zielgröße soll die Formel folgendermaßen aussehen
y = a*x1*x2+x3^2
Jetzt weiß ich, dass ich dafür ein *.m file schreiben muss und dann z.B. in der Funktion robustfit die Möglichkeit habe über fun und tune (@*, * da muss der Dateiname von meinem File rein) diese Regression rechnen zu lassen. Nur klappt das ganz und gar nicht. Ich bekomme ständig Fehlermeldungen wie "nicht definiert", "X is rank deficient", "Error in starrobustfit", ....
Kann mir bitte jemand sagen was ich falsch mache? Ich will doch nur eine individuelle multivariate Analyse machen.
Danke
Sebastian
|
|
|
|
|
Helmert |
Forum-Century
|
|
Beiträge: 121
|
|
|
|
Anmeldedatum: 04.09.08
|
|
|
|
Wohnort: Karlsruhe
|
|
|
|
Version: 2011a
|
|
|
|
|
|
Verfasst am: 07.01.2009, 13:30
Titel:
|
|
Hallo,
mit den Funktionen aus der Statistik-Toolbox kenne ich mich leider nicht so aus. Von daher weiß ich nicht, ob es für dein Problem eine nutzbare Funktion gibt.
Man kann das aber auch mit mäßigem Aufwand zu Fuß rechnen - zumindest dann, wenn allein y eine Zufallsgröße ist. Dabei braucht man allerdings Näherungswerte (a0, b0, ...) für die zu schätztenden Parameter, die dann iterativ verbessert werden können. Benötigt werden dann eine Matrix mit den partiellen Ableitungen der y nach den Parametern: [dy(i)_da,dy(i)_db,...]. Bei dem Beispiel
f(a,b,...) = y = a*x1*x2+x3^2
wäre das:
Weiterhin braucht man:
y0 = f(a0,b0,...)
und die Lösung ergibt sich zu:
p = p0 + A \ (y-y0)
wobei
p = [a;b;...]
p0 = [a0;b0;...].
Hoffe, das hilft dir weiter ...
|
|
|
gigazwerg |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 24
|
|
|
|
Anmeldedatum: 27.11.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2009, 16:08
Titel:
|
|
Hi Helmert,
danke für deine Nachricht aber ich glaube wir reden aneinander vorbei.
y ist bei mir eine Zielgröße, allerdings auch eine Messgröße.
Nimm an ich habe folgende Eingabeparameter:
x1 = Blutdurck vom Mann
x2 = Fettgehalt vom Mann
x3 = Gewicht vom Mann
y = Alter vom Mann
All diese Werte sind gemessen und ich möchte jetzt herausfinden, wie Blutdruck, Fettgehalt und Gewicht mit dem Alter der Männer zusammenhängen. Dabei will ich keine multiple-lineare-Regression, sondern eine von mir erdachtes Regressionsmodell benutzen.
Dazu möchte ich mir ein *.m file schreiben, in dem eine vermutete Regressionsgleichung ist. Matlab soll mir dann die Koeffizienten dazu ausrechen.
|
|
|
Helmert |
Forum-Century
|
|
Beiträge: 121
|
|
|
|
Anmeldedatum: 04.09.08
|
|
|
|
Wohnort: Karlsruhe
|
|
|
|
Version: 2011a
|
|
|
|
|
|
Verfasst am: 08.01.2009, 08:35
Titel:
|
|
Hallo gigazwerg,
ich denke schon, daß deine Regression so funktionieren würde, wie ich es beschrieben habe bzw. versucht habe zu beschreiben. Im Prinzip könnte man das auch in eine m-Datei schreiben, allerdings, die allerdings individuell für jedes erdachtes Regressionsmodell angepaßt werden müßte.
|
|
|
gigazwerg |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 24
|
|
|
|
Anmeldedatum: 27.11.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2009, 16:45
Titel:
|
|
Hi Helmert,
danke für deine Hilfe. Ich habe eine Lösung gefunden, die mich glücklich macht.
Ich habe ein *.m file geschrieben und dort lasse ich jetzt diverse Regressionsmodelle testen. Geht erstaunlich gut, wenn man einmal weiß wie oder in meinem Fall: einfach nur Glück hatte.
Danke trotzdem für deine Hilfe.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|