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

regression mit exponentiellem koeffizienten

 

s_men
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.11.2010, 20:18     Titel: regression mit exponentiellem koeffizienten
  Antworten mit Zitat      
plag mich jetzt schon seit 1 woche mit folgendem bsp.

gegeben werte x und werte y
annahme folgenden modells: log yi = log b0 + b1*log xi

für dieses modell soll ich eine ausgleichskurve erstellen und die koeffizienten b0 und b1 schätzen.

fällt wem was ein, bin über jeden rat froh.

danke im vorhinein.
Private Nachricht senden Benutzer-Profile anzeigen


MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.11.2010, 20:33     Titel:
  Antworten mit Zitat      
keine garantie, dass das jetzt so alles richtig ist Wink, aber kann man das nicht umformen zu
Code:
y=b0*x.^b1
was einem Powerlaw entspricht und mittels
Code:
fit(x,y,'power1')
berechnet werden sollte? bitte verbessert mich wenn was noch falsch ist
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.11.2010, 20:37     Titel:
  Antworten mit Zitat      
Hallo,

Das ist eine einfache lineare Regression.
Davon ausgehen, dass xi und yi Spaltenvektoren sind:
Setze Y = log yi, X = log xi, B0 = log b0 und B1 = b1 bleibt.

Code:
Y = B0 * X + B1, also
B = [X ones(size(X))] \ Y
B0 = B(1); B1 = B(2);


... und dann noch die Rücktransformation.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
s_men
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2010, 02:36     Titel:
  Antworten mit Zitat      
habs mal in matab eingegeben und es kommt eine ausgleichsgerade raus, sollte aber eigentlich eine kurve sein da y=b0*x^b1

habs mal mit folgendem versucht, glaub aber nicht das es stimmt. graphisch sieht es zwar ideal aus, aber mathematisch is glaub ich was falsch, vielleicht könnt ihr mir noch mal weiterhelfen.

h1=[1.98 2.1 2.25 2.7 3.05 3.3 3.35 3.95 4.12 4.25];% wasserstände in m
h2=[ones(size(h1))];
h=[(h2);(log(h1))]'
a1=[150 144 205 388 750 653 580 920 1130 1040]'; % Abflussmengen m³/s
a=log(a1)

% y=b(1)*h^b(2)
% log(y) = log(b(1))+b(2)*log(h)

b=(pinv(h)*a)'

a0=((b(1))+(b(2)).*log(h1)')
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.11.2010, 11:33     Titel:
  Antworten mit Zitat      
Hallo,

die Rücktransformation fehlt bzw. ist nicht komplett.
Da du log yi = ... hast, brauchst du letztlich yi = exp(...).

Code:
a0=exp((b(1))+(b(2)).*log(h1)')


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
s_men
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 01:59     Titel:
  Antworten mit Zitat      
vielen dank. rücktransformation hab ich eh gemacht. jetzt sich alles toll aus. nur eine frage hab ich noch ich hab ja jetzt Y=log y, X=log x, die gleichung [1i log xi]*[b1 b2]= b1 + b2*logxi und hier meine frage: ich brauch ja log b1 und nicht nur b1. ich hab ja in der matrix die 1ser nicht logarithmiert? oder hab ich was falsch verstanden? vielen dank, hoff das thema hat sich damit endgültig erledigt.
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 - 2025 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.