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

Bootstrap für Regession

 

Gregor01

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2015, 13:41     Titel: Bootstrap für Regession
  Antworten mit Zitat      
Hallo zusammen,

ich versuche momentan einen Bootstrap auf eine Regression anzuwenden. Ziel ist es Konfidenzintervalle für meine Regressionsgewichte (Slopes) zu bekommen.

Anbei was ich bisher probiert habe:
Code:

%% Stichprobe

N = 762

%% Vektoren bilden:

z = purc_int_GES_ctrd(2:763);
x=psy_rsk_ctrd(2:763);
y=serv_qual_ctrd(2:763);
c1 =  age(2:763) ;
c2=devi_poss(2:763) ;
c3=device_study_6(2:763);
c4=education(2:763);
c5=income(2:763);
c6=insur_intent(2:763);
c7=insur_interest(2:763);
c8=insur_poss(2:763);
c9=sex(2:763);
wxvs = web_exp_vs_GES(2:763);
wxma = web_exp_ma_GES(2:763);
tbl = table(x,y,wxma,wxvs,c1,c2,c3,c4,c5,c6,c7,c8,c9,z);

%% Meine Funktion

z1 ~ '1.6067+b*x+c*y+(d)*(x*y)+(e)*(y^2)+(f)*(x*y^2)*randn(N,1)'

%%Regressionsgewichte aus der Regression:

b = [-0.52762]';
c = [0.48075]';
d = [-0.031536]';
e = [-0.012998]';
f = [0.038811]';

bootci (100, @coefficients, X)



Ergebnis:
Code:

Undefined function or variable 'z1'.



Weiß jemand, wie man einen Bootstrap richtig auf die Regression anwendet?


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 17.11.2015, 13:49     Titel:
  Antworten mit Zitat      
Zitat:
Code:
z1 ~ '1.6067+b*x+c*y+(d)*(x*y)+(e)*(y^2)+(f)*(x*y^2)*randn(N,1)'

diese syntax ist mir irgendwie nicht geläufig. wo hast du das denn her damit ich das mal nachlesen kann
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Gregro01

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2015, 15:16     Titel: Bootstrap Expression
  Antworten mit Zitat      
Möglicherweise habe ich einen Fehler beim übertragen gemacht, aber den Ausdruck habe ich von hier

http://stackoverflow.com/questions/.....onfidence-interval-matlab

letzter post.

problem bei mir ist, dass wenn ich die Gleichung mit "z =" schreibe, dann kommt "Error in using "*""
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 17.11.2015, 15:24     Titel:
  Antworten mit Zitat      
Zitat:
Code:
y = x * b + 10 * randn(N, 1);  
+
meinst du die zeile ?
diese zeile weist der variablen y den inhalt zu der sich aus x mutlipliziert mit b ergiebt und dann wird noch ein rauschen dazu addiert.
Zitat:
Code:
z1 ~ '1.6067+b*x+c*y+(d)*(x*y)+(e)*(y^2)+(f)*(x*y^2)*randn(N,1)'
 

hierbei wird eine variable z1 aufgerufen die es nicht gibt... dann wird der not operator auf einen string angewendet. dies gibt dann in den meisten fällen lauter 0en zurück
Zitat:
problem bei mir ist, dass wenn ich die Gleichung mit "z =" schreibe, dann kommt "Error in using "*""

wie gesagt man kann den zuweisungsoperator nicht einfach durch not ersetzen ^^
den fehler den du erhällst kann man anclicken und es wird erklärt warum er auftritt. in den meisten fällen meinen die leute eine elementweise operation und nicht matrixmultiplikation
grüße
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Gregor01

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2015, 10:19     Titel: Danke...
  Antworten mit Zitat      
Danke für deinen Ratschlag, aber das bringt mich ehrlicherweise nicht weiter. Ich habe die Fehlermeldung natürlich auch angeklickt... Dort steht, dass man zwei Vektoren mit "*" multiplizieren kann... Ich bekomme dennoch den Fehler

Error using *
Inner matrix dimensions must agree.


Was ich auch probiert habe:

Code:
z1 = '1.6067+b*x+c*y+(d)*(x*y)+(e)*(y^2)+(f)*(x*y^2)*randn(N,1)'
[beta,dev,stats] = glmfit (x,y,z1,'normal')
beta
stats.se
std(bootstrp(10000, 'regwrapper', y,x,z1)
 

and

Code:
function outstat = regwrapper (y,x,z1)
stats = regstats (y,x,z1,'linear','beta','covb')
outstat = [stats.beta(:)
sqrt(diag(stats.covb))];
std(bootstrp(10000, 'regwrapper', y,x,z1)

z1 =

1.6067+b*x+c*y+(d)*(x*y)+(e)*(y^2)+(f)*(x*y^2)*randn(N,1)

 

Langsam herrscht Ratlosigkeit...

[EDITED, Jan, Bitte Code-Umgebnung verwenden - Danke!]
 
Gregor01

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2015, 19:54     Titel: ...
  Antworten mit Zitat      
Hat noch jemand vielleicht eine Idee?
 
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.