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

Wie wende ich Boostrap confidence intervals (bootci) an?

 

clustering_n00b
Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 16.10.2011, 15:18     Titel: Wie wende ich Boostrap confidence intervals (bootci) an?
  Antworten mit Zitat      
Hallo zusammen!


Ich habe eine Datenmatrix des Formats 37 x abc (abc <= 37).
Auf die Menge wende ich Clustering-Algorithmen an (GMM, K-Means). Danach berechne ich jetzt etwa 200 mal verschiedene Werte (Rand Index, Normalized Mutual Information, Purity, usw...).

Jetzt moechte ich Variabilitaet in der Datenmenge (aus den 37 Subjekten sollen unabhaengige Subjekte gezogen werden).

Dazu moechte ich Bootstrap confidence intervals verwenden.

Beispiel
Code:

y = normrnd(1,1,30,1);                       % Simulated process data
LSL = -3; USL = 3;                              % Process specifications
capable = @(x)(USL-LSL)./(6* std(x));  % Process capability
ci = bootci(2000,capable,y)                  % BCa confidence interval
ci =
    0.8122
    1.2657

sci = bootci(2000,{capable,y},'type','student') % Studentized ci
sci =
    0.7739
    1.2707
 


Ich verstehe jetzt einfach nicht, wie ich das Beispiel auf meine Datenmenge anwenden soll?
Was soll y sein? Was sind LSL und USL? capable sagt mir nun gar nix.


Hilfe ??? Question
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.10.2011, 18:40     Titel:
  Antworten mit Zitat      
Hallo,

das Beispiel könnte einfacher sein. Ich probiers mal: du hast eine Stichprobe X und möchtest ein Konfidenzintervall für den Mittelwert (mean) der Gesamtpopulation haben. Das wäre dann:

Code:
bootci(100, @mean, X)


Dabei wird das Experiment dann mit 100 aus deiner Stichprobe gezogenen Samples durchgeführt, und (standardmäßig) die 95%-Konfidenzintervalle ermittelt.

Statt mean könntest du genauso eine Funktion nehmen, die jeglichen beliebigen Prozess abbildet.

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

Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 16.10.2011, 19:00     Titel:
  Antworten mit Zitat      
Ok, ich versuche das mal zu verstehen.

Sagen wir, ich habe 20 Beobachtungen für eine Variable X (X ist ein 100x1 Vektor).
mean(X) ist dabei der (beliebige) Wert 45.
Code:
bootci(100, @mean, X)

Dies würde mir also das Intervall angeben, wo 95% der Mean-Werte drin liegen, also z.B. 40 - 50 ??

Verstehe ich das richtig?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.10.2011, 19:03     Titel:
  Antworten mit Zitat      
Hallo,

im wesentlichen ja. Nur verstehe ich nicht, wie X bei 20 Beobachtungen ein 100x1-Vektor wird. Schreibfehler? Oder meinst du, *jeweils* ein 100x1-Vektor?

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

Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 16.10.2011, 19:42     Titel:
  Antworten mit Zitat      
Achso, ja. Schreibfehler natürlich. Es sind 100 Beobachtungen gemeint!
Private Nachricht senden Benutzer-Profile anzeigen
 
clustering_n00b
Themenstarter

Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 19.11.2011, 20:50     Titel:
  Antworten mit Zitat      
Ich möchte diesen alten Thread wieder aufgreifen, da ich schon wieder ein neues Problem mit bootci habe.

Mein Code sieht nun ganz einfach aus. Ich möchte den Mean-Wert für eine grösse mit Bootstrapping abschätzen.
In jedem Durchlauf werden meine Inputparameter inputarg1 und inputarg2 mit Zurücklegen neu gezogen.

Code:

    nboot = 1000;
    bootfun = @calculate_mean;

     meanvalue = bootfun(inputarg1, inputarg2);
     ci = bootci(nboot,{bootfun,inputarg1, inputarg2},'type','per');
 



Was jetzt aber herauskommt ist ein Mean-Wert (z.B. 1), der jedoch nicht im Confidence Interval (z.b. [0.6 0.9]) liegt. Und jetzt habe ich Probleme den mit errorbar zu plotten.

Kann das überhaupt sein? Müsste der Mean-Wert nicht innerhalb der CI liegen?


Laut meinen Statistik-Notizen wird der Confidence Interval folgendermassen berechnet:
[img]http://imageshack.us/photo/my-images/267/34338546.png/[/img]

Wobei \hat{\theta}_n die statistisch interessante Grösse ist (e.g. mean) über die *original Datenmenge* und q ist die quantile, die von den bootstrap samples errechnet wird.

Was mache ich falsch? Question
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.