goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Mathematik mit MATLAB: Aufgaben und Losungen

Fachkräfte:
Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Techniker/in als Systemspezialist für Test- und Absicherungsmanagement (Motor-Prototypen)
Planung und Optimierung von Prototypentests und Robustheitsanalysen
ESG Elektroniksystem- und Logistik-GmbH - München

Senior Software-Entwickler (m/w)
Implementierung von modellbasierten Softwareentwicklungen
MBtech Group GmbH & Co. KGaA - München

weitere Angebote

Partner:




Vermarktungspartner


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-Anfänger
Forum-Anfänger

Beiträge: 38
Anmeldedatum: 05.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2011, 16: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: 5356
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 16.10.2011, 19: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-Anfänger
Forum-Anfänger

Beiträge: 38
Anmeldedatum: 05.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2011, 20: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: 5356
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 16.10.2011, 20: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-Anfänger
Forum-Anfänger

Beiträge: 38
Anmeldedatum: 05.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2011, 20: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-Anfänger
Forum-Anfänger

Beiträge: 38
Anmeldedatum: 05.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2011, 21: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



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.