Verfasste Forenbeiträge

Ansicht von 15 Beiträgen – 286 bis 300 (von insgesamt 2,697)
  • Autor
    Beiträge
  • Barbara
    Senior Moderator
    Beitragsanzahl: 2766

    Hallo QMB123,

    die Anzahl Teile/Prüfer/Wiederholungen sollte Deinen Prozess gut (repräsentativ) beschreiben können. Die Standardzahlen sind 10 Teile, 3 Prüfer, 3 Wiederholungen und die Minimalforderung sind:
    Anzahl Teile * Anzahl Prüfer >= 15
    Anzahl Teile * Anzahl Prüfer * Anzahl Wiederholungen >= 30

    Statt des Prüfers kannst Du auch zwei (oder mehr) Messsysteme miteinander vergleichen. Das ist auch so in der MSA vorgesehen, nur meist wird der „Prüfer“-Einfluss auch als Einfluss durch einen menschlichen Prüfer verwendet.

    Mit 10-15 Teilen sollte sich die Prozess-/Toleranz-Breite gut abdecken lassen. Die Teile müssen immer bewusst so gewählt werden, dass sie aus dem gesamten Anwendungs-Bereich stammen (KEINE Zufallsauswahl!)

    Insgesamt hast Du dann entweder
    a) zwei Gage R&R-Untersuchungen, eine für das taktile, eine für das optische Messsystem, mit immer demselben Prüfer (=kein Prüfereinfluss). Das wäre dann ein Verfahren 3. ODER
    b) eine Gage R&R-Untersuchung mit „Prüfer“=Messverfahren. Das wär dann Verfahren 2.

    Ich würd Variante b) („Prüfer“=Messverfahren) nehmen, um den direkten Vergleich der beiden Methoden zu bekommen. Wenn Du zwei separate Verfahren 3-Untersuchungen hast, ist das Vergleichen schwieriger.

    Neben der Teile-Auswahl und -Anzahl ist es immer notwendig, die Teile-Reihenfolge zufällig zu haben, um belastbarere Aussagen zu bekommen. Z. B. ist die Reihenfolge bei der ersten Messwiederholung Teil 5, Teil 1, Teil 9,… und bei der zweiten Messwiederholung Teil 2, Teil7, Teil3,… usw.

    Über die zufällige Reihenfolge lässt sich später unterscheiden, ob es ein zeitliches Problem gibt oder ob die Streuung durch die Teile-Wiederholbarkeit selbst entsteht. Beispielsweise könnten durch Erwärmung oder Verschleiß die Messwerte unabhängig vom Teil mit jeder Prüfung größer werden (=instabiler Prüfprozess).

    Wenn die Teile immer in einer sortierten Reihenfolge (Teil 1=kleinstes, Teil 2, …, Teil 10=größtes) aufgenommen werden, kannst Du mit den Daten nicht unterscheiden ob Du ein Wiederholbarkeits-Problem oder ein Zeit-Problem hast, weil z. B. der Anstieg in den Zahlen sowohl durch die Teile-Größe als auch durch Erwärmung/Verschleiß/etc. des Messverfahrens verursacht werden kann.

    Die zufällige Reihenfolge kannst Du z. B. in Excel mit Zufallszahlen oder in einem Statistik-Programm erzeugen.

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: Statistikprogramm #61405

    Hallo Stefan,

    freut mich, dass Du das jetzt so hast, wie Du es brauchst.

    Passt das denn so auch für Deinen Bekannten?

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: Statistikprogramm #61384

    Hallo Stefan,

    keine Ahnung, wie Du das ohne qcc.groups hingekriegt hast, denn die Struktur muss irgendwie übergeben werden.

    Das mit dem Umwandeln von Kommas in Punkte in Excel kannst Du Dir ersparen, wenn Du die entsprechende Option in R nimmst:
    read.tab_le(…, dec=“,“)
    read.csv(…, dec=“,“)
    read.csv2(…)
    Dann wandelt R die Dezimaltrenner (dec) automatisch in Punkte um.

    Deine Frage, ob R-Studio einfacher ist als R mit Notepad++ kann ich Dir leider nicht beantworten, weil ich nur mit Notepad++ arbeite. Ich kenne Kollegen, die schwören auf R-Studio und würden nie mit etwas anderem arbeiten wollen. Letztlich dürfte das eine Frage des persönlichen Geschmacks sein, denn R-Studie oder Notepad++ sind „nur“ Editoren, die die Arbeit mit R erleichtern.

    Mal zurück zu den Regelkarten: Du kannst mit der Option limits zwar Werte vorgeben, das sind aber bei Regelkarten KEINE Toleranzgrenzen, sondern Prozess-Streugrenzen. Diese Option wird dann verwendet, wenn Du schon Regelkarten-Grenzen berechnet hast (die 3S-Grenzen z. B.) und jetzt für neue Daten dieselben Grenzen verwenden willst.

    Um eine Regelkarte mit Warn- und Eingriffs-Grenzen (2S- und 3S-Grenzen) und Toleranzgrenzen zu bekommen, wird die Original-Regelkarte etwas gepimpt.

    Damit die Ausgabe zu den üblichen deutschen Bezeichnungen passt, hab ich dafür zunächst die Funktion plot.qcc übersetzt (nur die Ausgabe, nicht die Warnmeldungen). Die Funktions-Definition ist etwas länglich, deshalb hier nur der Link zu der Datei: plotQCCdeutsch.r. Den Code lässt Du einfach erstmal durchlaufen, bevor Du die Auswertung startest.

    Als nächstes hab ich mir Daten mit „systematischen“ Fehlern gebastelt:

    wert=rnorm(125,10,.1)
    mittel=mean(wert)
    stabw=sd(wert)
    wert[12]=mittel+12*stabw
    wert[45]=mittel-22*stabw
    wert[90:104]=wert[90:104]+0.06*mittel
    stipro=sort(rep(1:25,5))
    (Du kannst hier natürlich auch alle anderen Werte-Stichprogengruppen-Kombinationen mit anderen Bezeichnungen verwenden.)

    Dann kommt der Teil für die Regelkarte. Dabei wird die Datenstruktur in der Variable „struktur“ definiert und die Toleranzgrenzen UTG und OTG vorgegeben. Anschließend wird die eingedeutschte Regelkarte gezeichnet und es werden die Linien für die 2S-Grenzen und die Toleranzgrenzen hinzugefügt. qcc.options wird hier verwendet, um die Schriftgrößen etwas kleiner als in Standardeinstellung zu bekommen:

    library(qcc)

    struktur=qcc.groups(wert,stipro)
    UTG=9.5
    OTG=10.5

    qcc3S=qcc(struktur,type=“xbar“, data.name=“Messwerte“, nsigmas=3)
    qcc2S=qcc(struktur, type=“xbar“, nsigmas=2, plot=FALSE)

    qcc.options(„cex“=0.9, „cex.stats“=0.8)

    plot.qcc.deutsch(qcc3S, ylim=range(qcc3S$center,qcc3S$limits,qcc3S$statistics,min(apply(struktur, FUN=mean, MARGIN=1)),max(apply(struktur, FUN=mean, MARGIN=1)),UTG,OTG))
    abline(h=qcc2S$limits, col=“orange“, lty=3)
    mtext(c(„UGW“,“OGW“), side = 4, at = qcc2S$limits, las = 1, line = 0.1, col = „orange“, cex=qcc.options(„cex.stats“))
    abline(h=c(UTG,OTG), col=“magenta“)
    mtext(c(„UTG“,“OTG“), side = 4, at = c(UTG,OTG), las = 1, line = 0.1, col = „magenta“, cex=qcc.options(„cex.stats“))

    Eingezeichnet werden folgende Linien:
    Mitte (center): bei xbar der mittlere Mittelwert
    UGW, OGW: untere und obere Warngrenze (2S bzw. 95%), gepunktet orange
    UEG, OEG: untere und obere Eingriffsgrenze (3S bzw. 99,73%), gestrichelt rot
    UTG, OTG: untere und obere Toleranzgrenze, durchgezogen pink

    Ich hoffe, das kommt Deiner Vorstellung wie die Regelkarte aussehen soll jetzt schon ziemlich nahe ;)

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    geändert von – Barbara on 24/09/2012 10:02:43

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: Statistikprogramm #61369

    Hallo Stefan,

    klar gibts für Regelkarten auch etwas in R. Das schöne an R ist doch, dass es ziemlich einfach ist Zusatz-Packages zu basteln. Aktuell gibt es 4035 Stück und da sind auch einige zum Thema Regelkarten dabei, z. B.
    qcc
    IQCC
    edcc
    MSQC
    MCUSUM

    Installiert werden die Pakete (einmalig) direkt in R:
    Pakete > Installiere Pakete
    Wenn Du Funktionen aus einem Zusatzpaket nutzen willst, lädst Du erst das Paket
    library(qcc)
    für das Paket qcc z. B. und kannst dann alle Funktionen aus diesem Paket nutzen, bis R geschlossen wird. Beim Neu-Aufruf von R muss das Paket dann wieder geladen werden; die Installation erfolgt nur 1 Mal.

    Weitere Pakete findest Du auf der Seite http://cran.r-project.org/ unter dem Menüpunkt „Packages“ oder über die Suche („Search“) auf der Seite.

    Wenn Du Excel und R miteinander kommunizieren lassen möchtest, gibts es dafür auch diverse Pakete:
    RExcelInstaller
    xlsx
    excel.link
    xlsReadWrite
    XLConnect

    Eine gute Sammlung verschiedenster Tests auf Normalverteilung findest Du im Paket nortest. Der KS-Test ist unzuverlässig und sollte deshalb nicht mehr für Tests auf Normalverteilung verwendet werden. Besser ist der AD-Test (Anderson-Darling-Test).

    Was ich ganz schwierig finde ist der Hinweis „x%-iges Zutreffen der Normalverteilung“. Deutlich besser wäre hier die Testentscheidung, also wenn p kleiner als alpha (i. A. 5%) ist zu schreiben „Messdaten sind nicht normalverteilt.“ oder wenn p größer als 5% ist „Messdaten sind normalverteilt.“

    Ansonsten sieht der R-Code schon ganz nett aus. Was Dir allerdings deutlich das Leben erleichtern würde ist die Verwendung eines vernünftigen Text-Editors (z. B. Notepad++).

    Ein Text-Editor setzt nämlich keine Anführungszeichen unten (wie bei „,Sortiert,) und auch keine schrägen Anführungszeichen. Die unteren versteht R überhaupt nicht und verschluckt sich dann.

    Bei dem Histogramm war ein Leerzeichen vor dem col=“ azure“ zu viel und ein TRUE wird nie in Anführungszeichen gesetzt (probability=TRUE).

    Was Du auf jeden Fall vermeiden solltest ist die Verwendung von R-Funktionsnamen als Datenbezeichnungen (z. B. min=min(daten)), das kann auch schon mal zu Quatsch-mit-Soße führen.

    Notepad++ find ich persönlich gut, weil da R schon als Code-Sprache vorkommt und wenn Du eine Datei unter Name.r abspeicherst (z. B. Stefan_normvert.r), dann kriegst Du automatisch die Syntax farbig markiert.

    Deinen Code hab ich mal ein bisschen aufgeräumt und die Anführungszeichen korrigiert. Ich würd es übrigens anders herum machen: erst die Funktion definieren (normvert_sd) und dann die Funktion auf die Daten anwenden.

    Eine definierte Funktion ist solange in R verfügbar bis R geschlossen wird (genauso wie ein Zusatzpaket), d. h. Du könntest auch noch andere Messreihen damit auswerten.

    # Funktion normvert_sd definieren
    # Funktion braucht 3 Werte: daten, untere und obere Toleranzgrenze

    normvert_sd=function(werte,UTG,OTG){
    wert1 = NULL
    Datenbezeichnung = „“
    Temp = names(werte)
    if (is.null(Temp)) {wert1 = werte}
    else {wert1 = werte[[1]]; Datenbezeichnung = Temp[1]}

    split.screen(c(1,2))
    screen(1)
    hist(werte, col=“azure“, main=“Histogramm“, probability=TRUE)
    rug(werte)
    lines(density(werte, kernel = „gaussian“))
    curve(dnorm(x,mean=mean(werte),sd=sd(werte)), mean(werte)-3*sd(werte), mean(werte)+3*sd(werte), add = TRUE, col = „red“)
    screen(2)
    qqnorm(werte, main=“Wahrscheinlichkeitsnetz“)
    qqline(werte, col=“blue“, lwd=1)
    close.screen(all=TRUE)

    library(nortest)
    testerg=c()
    if(ad.test(daten)$p.value<0.05) {testerg=“Messdaten sind nicht normalverteilt.“}
    else {testerg=“Messdaten sind normalverteilt.“}

    out1=list(c(
    cat(„n“),
    cat(„Messdaten: „,Datenbezeichnung,“n“),
    cat(„n“),
    cat(“ Werte sortiert: „,sort(werte), „n“),
    cat(“ Anzahl Werte: „,length(werte), „n“),
    cat(“ Größtwert: „,max(werte), „n“),
    cat(“ Kleinstwert: „,min(werte), „n“),
    cat(“ Streuung: „,max(werte)-min(werte), „n“),
    cat(“ Standardabweichung: „,sd(werte), „n“),
    cat(“ Mittelwert: „,mean(werte), „n“),
    cat(“ Medianwert: „,median(werte), „n“),
    cat(„n“),
    cat(“ Anderson-Darling-Test: „, „n“),
    cat(“ Prüfgröße: „, ad.test(werte)$statistic, „n“),
    cat(“ Wahrscheinlichkeit p-Wert): „, ad.test(werte)$p.value,“(„,testerg,“)“, „n“),
    cat(„n“),
    cat(“ OTG: „,OTG, „n“),
    cat(“ UTG: „,UTG, „n“),
    cat(“ Cp: „,(OTG-UTG)/(6*sd(werte)), „n“),
    cat(“ Cpo: „,(OTG-mean(werte))/(3*sd(werte)), „n“),
    cat(“ Cpu: „,(mean(werte)-UTG)/(3*sd(werte)), „n“),
    cat(“ Cpk: „,min((OTG-mean(werte))/(3*sd(werte)),(mean(werte)-UTG)/(3*sd(werte))), „n“),
    cat(“ OTG für Cp 1,33: „,mean(werte)+1.33*3*sd(werte), „n“),
    cat(“ UTG für Cp 1,33: „,mean(werte)-1.33*3*sd(werte), „n“),
    cat(„n“)
    ))
    }

    # Daten eingeben und Funktion normvert_sd darauf anwenden
    daten = c(7.75, 7.73, 7.69, 7.7, 7.63, 7.66, 7.68, 7.64, 7.62, 7.68, 7.69, 7.63, 7.65, 7.57, 7.68, 7.61, 7.73, 7.67, 7.76, 7.72, 7.64, 7.59, 7.71, 7.58, 7.66, 7.61, 7.61, 7.67, 7.76, 7.65)
    UTG =c(7.39)
    OTG =c(7.79)

    normvert_sd(daten,UTG,OTG)

    Wenn Du die Daten nicht zu Fuß eingeben willst, gibt es noch die etwas elegantere Möglichkeit, die aus der Zwischenablage in R einzufügen:

    A=read.delim2(„clipboard“)

    (Wenn die Werte eine Spaltenüberschrift haben, ansonsten mit Zusatzoption header=FALSE)

    normvert_sd(A[,1], UTG,OTG)

    Und um mal kurz eine Einzelwert-Karte mit dem Paket qcc zu erstellen, nimmst Du

    library(qcc)
    plot(qcc(daten, type=“xbar.one“), xlab=“Nr.“, ylab=“Messwerte“, title=“Einzelwertkarte“)

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: Statistikprogramm #61361

    Hallo Stefan,

    O*penStat kannte ich bislang noch nicht und hab mir die Seiten dazu mal angeschaut.

    Das ist schon ein bisschen angestaubt vom Layout, nicht nur die Software-Seiten (http://www.statprograms4u.com/O*penStatMain.htm [der * muss weg, die Forumssoftware hat ein Problem mit dem Wort O P E N]) sondern vor allem auch die Grafiken. Erinnert mich ein bisschen an die Anfänge es Internets, als es nur 16 Farben gab und alles entweder schwarz-weiß oder knallbunt war. Naja, das ist Geschmackssache.

    Die Möglichkeiten für die Regelkarten sind auch relativ begrenzt (s. http://www.statprograms4u.com/O*penStatReferenceDoc.pdf, pp.316) und leider wird in der Dokumentation nicht angegeben, welche Formeln z. B. für die Standardabweichungskarte verwendet werden (zusammengefasste/gepoolte Standardabweichung, durchschnittliche Standardabweichung, etc.) Einstellen lässt sich da zumindest mal nix.

    Spätestens wenn ein Kunde von Deinem Bekannten fragt, mit welcher Formel bzw. nach welcher Methode das gerechnet wurde, wirds schwierig. Ein gutes Statistik-Programm liefert auch die Beschreibung der Berechnungswege mit und die Referenzen dafür.

    Auch beim Test auf Normalverteilung ist O*penStat ziemlich begrenzt, weil es nur den Shapiro-Wilks- und den Lilliefors-Test anbietet. Shapiro-Wilks ist okay, Lilliefors ist genauso wie der Kolmogorov-Smirnoff schlecht. Ein deutlich zuverlässigerer Test ist der Anderson-Darling-Test, nur bietet O*penStat den nicht an.

    Ob O*penStat tatsächlich besser als Excel ist, würd ich nach den Aussagen auf softonic.com (http://o*penstat.en.softonic.com/) in Frage stellen:

    „…, although the developer itself admits that it’s not the „finished product“ yet. This means that any results you gain from it, can’t be guaranteed and should be double checked either by hand or using other software.“

    „However, the developer could have put more effort into making both the interface and graphs look better. In addition, according to the forum it does have problems handling certain formulas but this is probably because it’s not the finished article yet.“

    Ich würd deshalb eher versuchen, R in einer für Deinen Bekannten handhabbaren Form an Excel oder eine andere Anwendung anzubinden. Da gibt es diverse Möglichkeiten und eine kleine Auswahl findest Du bei faes.de bzw. auf der r-statistik.de-Seite von Günter Faes: Tipps & Tricks. (Günter Faes ist auch käuflich, falls Du/Dein Bekannter etwas Bestimmtes haben wollt.)

    Vielleicht reicht es ja auch, wenn Du Deinem Bekannten r-studio ans Herz legst. Das ist O*penSource und macht die R-Bedienung deutlich leichter.

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: UT 2012 #61336

    Hallo Rossy,

    wir hatten früher mal das Usertreffen am Wochenende (Sa/So). Das wurde abgeschafft, weil wir kaum eine Chance auf eine Firmenbesichtigung am Samstag haben und weil der Wunsch nach mindestens 1 freien zuhause-Tag in der Woche da war/ist.

    Deshalb gibt es die Kompromiss-Lösung Freitag/Samstag. Um am Samstag auch noch nach Hause zu kommen, endet das Usertreffen um ca. 17h.

    Vielleicht schaffst Du es ja, Deine Termine so umzuplanen, dass Du auch schon früher als Samstag Abend dabei sein kannst.

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: UT 2012 #61334

    Hallo zusammen,

    leider hab ich heute eine traurige Nachricht für alle, die sich auf das Usertreffen gefreut haben: Das Usertreffen 2012 ist abgesagt.

    Es waren einfach so kurzfristig zu wenig Anmeldungen, deshalb planen wir jetzt langfristiger und sind im Moment in der Vorbereitung für das Usertreffen 2013.

    Sobald wir mehr wissen, sagen wir Euch Bescheid.

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: UT 2012 #61320

    Hallo Mr.Idea und Ihr anderen,

    die 116EUR im Best Western sind (leider) der Preis pro Nacht. Wir haben trotz intensiver Suche leider kein Hotel finden können, dass die anderen Usertreffen-Anforderungen (z. B. ausreichend großer Tagungsraum & freie Zimmer) erfüllt.

    Alternativen in erreichbarer Nähe zum Best Western Hotel mit einem niedrigeren Preis und (zur Zeit) freien Zimmern sind z. B.

    Kurpfalzstuben, L14, 15, 68161 Mannheim (aktuell 75 Euro pro Nacht inkl. Frühstück, Preis: hrs.de, Entfernung zum Best Western: 1,3km zu Fuß, 3,4km mit Auto)

    InterCityHotel Mannheim, Schlossgartenstraße 1 / Ecke L13, 68161 Mannheim (aktuell 85,40 Euro pro Nacht inkl. Frühstück, Preis: hrs.de, Entfernung zum Best Western: 1,0km zu Fuß, 3,4km mit Auto)

    Die Teilnahme am Usertreffen ist unabhängig von Eurer Übernachtung in einem bestimmten Hotel, also sucht Euch einfach etwas passendes raus :)

    Wir freuen uns auf Euch!

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766

    Hallo Sebastian,

    freut mich, dass es klappt :)

    Dein Code sieht soweit ganz gut aus, nur hab ich die „0“ bei qnorm nicht verstanden und auch nicht, warum Du das package msm eingebunden hast.

    msm bräuchtest Du nur, wenn Du z. B. die Betragsverteilung 1. Art verwenden wollen würdest. Dann wären die Formeln aber nicht einfach mit Mittelwert und Standardabweichung aus den Daten berechnet zu machen und die Funktion für die Quantile würde qtnorm anstelle von qnorm heißen. („mean“ und „standard deviation“ sind Mittelwert und Standardabweichung der Verteilung, bevor sie gestutzt wurde, die müssen erst anderes bestimmt werden.)

    Für den einfach Fall von normalverteilten Messdaten brauchst Du gar kein Zusatzpaket, das kann R direkt. Und die „0“ am Ende von der qnorm(…,0) kannst Du einfach weglassen (stört nicht, bringt aber auch nix).

    Die Absolutwert-Funktion mit „abs“ kann auch weg, weil per Definition der Mittelwert der Normalverteilung immer größer als das untere 0,135%-Quantil und kleiner als das obere 99,865%-Quantil:
    0,135%-Quantil < xquer < 99,865%-Quantil
    (Das mit der abs-Funktion ist so wie mit der 0 bei qnorm: Nutzt nix, schadet aber auch nicht.)

    Falls Du Dir eine eigene Cp- oder Cpk-Funktion definieren willst, geht das auch ganz einfach, z. B. bei normalverteilten Werten so:

    Cp.fun = function(daten,USG,OSG) (OSG-USG) / (qnorm(0.998655,mean(daten),sd(daten))-qnorm(0.00135,mean(daten),sd(daten)))

    Cpk.fun = function(daten,USG,OSG) min( (qnorm(0.5,mean(daten),sd(daten))-USG) / (qnorm(0.5,mean(daten),sd(daten))-qnorm(0.00135,mean(daten),sd(daten))) , (OSG-qnorm(0.5,mean(daten),sd(daten))) / (qnorm(0.99865,mean(daten),sd(daten))-qnorm(0.5,mean(daten),sd(daten))) )

    Funktionsnamen sind frei wählbar und sollten nur andere sein als die R-Funktionsnamen. Wenn Du jetzt eine Cp-/Cpk-Berechnung machen willst, brauchst Du einfach nur

    Cp.fun(daten$A1,12,20)
    Cpk.fun(daten$A1,12,20)

    einzutippen (mit USG=12 und OSG=20) und bekommst für die erste Spalte die Ergebnisse. Bei 1 Auswertung lohnt sich der Aufwand nicht, bei mehr als 1 Auswertung schon. Die definierten Funktionen sind solange in R nutzbar wie Du es offen hast. Beim nächsten Start müssen die zwei Zeilen Cp.fun und Cpk.fun nochmal in R laufen und dann sind sie wieder nutzbar.

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    geändert von – Barbara on 15/08/2012 18:41:40

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: UT 2012 #61314

    Hallo Nassy,

    das wär toll, wenn Du in diesem Jahr auch dabei sein könntest!

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766

    Hallo Sebastian,

    ich nehm gerne R, wenn es um komplexere Berechnungen geht. Ja, R ist ein bisschen gewöhnungsbedürftig, das stimmt. Meist ist der Anfang holprig, weil Du immer den korrekten Funktionsnamen brauchst und ggf. die richtigen Parameter.

    Wenn Du z. B. Daten aus der Zwischenablage in R verwenden willst, kannst Du mit dem Befehl
    dat = read.delim(„clipboard“, dec=“,“)
    einen Container namens „dat“ erstellen, in den der Inhalt der Zwischenablage („clipboard“) kopiert wird. Zusätzlich wird der Kommastellen-Trenner „dec“ auf „,“ umgestellt (standardmäßig ist der . das Trennzeichen in R).

    Um Dir einen Überblick zu verschaffen, was Du eigentlich im Datencontainer „dat“ hast, helfen
    summary(dat)
    dim(dat)
    head(dat)

    summary liefert diverse Kenngrößen: Minimum, Maximum, Median, Mittelwert sowie 25%- und 75%-Quantil bei variablen Merkmalen und eine Auszählung der Gruppen/unterschiedlichen Werte bei attributiven Größen. Zusätzlich wird in einer weiteren Zeile „NA“ angegeben, wie viele fehlende Werte in einer Spalte stehen. („NA“ wird nur angezeigt, wenn es fehlende Werte gibt.)

    dim liefert die Anzahl Zeilen und Anzahl Spalten von „dat“, z. B. 80 1 für 80 Zeilen in 1 Spalte.

    head zeigt Dir die ersten sechs Zeilen an.

    Wenn Du jetzt in Deinen Daten eine Spalte mit Namen „Y“ hast und dafür den Mittelwert und die Standardabweichung berechnen willst, nimmst Du
    mean(dat$Y)
    sd(dat$Y)

    Hilfreich ist ein netter Editor für das Code-Geschreibsel. Mittlerweile gibt es auch spezielle, die direkt mit R kommunizieren (z. B. Tinn-R und R-Studio). Ich mach das mit Notepad++ und kopier die entsprechenden Code-Schnippsel in R.

    Als Einstieg in die Validierung würd ich eher ein kommerzielles Produkt wie Minitab nehmen, weil das einfacher zu erlernen ist, die üblichen industriellen Standards (englischen) berücksichtigt und Dir direkt einen ganzen Haufen von Ergebnissen mit wenigen Klicks liefert. Und es gibt ja eine kostenfreie 30-Tage-Version, die eventuell für den Validierungszeitraum schon ausreicht.

    Lass es uns/mich bitte wissen, wie Du Dich entschieden hast!

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766

    Hallo Sebastian,

    immer gerne. Was verstehst Du denn unter „vergleichende Berechnungen“? Und warum hälst Du R hier für ungeeignet? Hast Du Zugriff auf irgend eine Statistik-Software?

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766

    Hallo Sebastian,

    willkommen im Qualitäter-Forum :)

    Wie Du vermutlich schon in meinen anderen Beiträgen gelesen hast, finde ich die Prozessfähigkeitsbewertung über die Mischverteilung diskussionswürdig. Dasselbe gilt für die automatische Verteilungsauswahl.

    Zu Deinen Fragen:

    Sehe ich das richtig, dass ist wichtiger oder besser ist, ein Verteilungsmodell aufgrund eines bestimmten Fertigungsprozesses zu erwarten und die Güte dann mit den gegebenen Stichproben zu überprüfen als umgekehrt?

    Ja. Eine Software kann niemals wissen, um was für einen Fertigungsprozess es geht und deshalb auch keine Verteilung auswählen, die zu diesem speziellen Fertigungsprozess passt.

    Ich hab vor einigen Tagen mit einem Mitarbeiter eines großen deutschen Automobilherstellers gesprochen, der von seinem Lieferanten bei ähnlichen Messungen (Maße an verschiedenen Punkten eines Bauteils) eine Auswertung mit der automatischen Verteilungsauswahl vorgelegt bekommen hat. Die ausgewählten Verteilungen waren ein buntes Sammelsurium aus allen möglichen Verteilungen: Weibull, Lognormal und natürlich auch ein paar Mischverteilungen.

    Der gesunde Menschenverstand sagt dagegen, dass ähnliche Messaufgaben an gleichen Teilen auch zu einer ähnlichen Verteilung der Messdaten führen sollte (jedenfalls wenn es keine systematischen Einflüsse gibt und das Mess-System etwas taugt).

    Macht eine automatische Bestimmung des Verteilungsmodells überhaupt Sinn?

    Meiner Meinung nach: NEIN. Wenn Du noch weitere Meinungen von anderen Statistik-Fachmenschen lesen möchtest, wirf einen Blick in das englischsprachige elsmar-Forum: http://www.elsmar.com/forum und such z. B. nach Beiträgen von Miner, Bev_D und bobdoering.

    Und dann diese Mischverteilung, dient zur Beschreibung von Verteilungen welche zusammengesetzt sind aus verschiedenen Momentanverteilungen, oder wo kein bekanntes Modell gefunden werden kann.

    Lt. Dietrich & Schulze (s. [1]) gibt es zwei verschiedene Mischverteilungen. Die eine ist eine Kombination von Normalverteilungen mit gleicher Streuung und unterschiedlichen Mittelwerten in den Stichprobengruppen. Die ist eigentlich (nach DIN ISO 21747 [2] und ISO/TR 22514-2 [3]) nur für die Verteilungszeitmodelle B gedacht, soll sich aber laut Dietrich & Schulze für alles mögliche verwenden lassen (u. a. für erweiterte Eingriffsgrenzen bei Regelkarten – noch so ein diskussionswürdiges Konstrukt).

    Und dann gibt es in [1] noch die zweite Mischverteilung, bei der die Datenstruktur durch ein Polynom gefittet wird, das bis zum Grad 27 geht. (Warum gerade ein maximaler Grad 27 gewählt wurde erschließt sich mir nicht.)

    Angeblich sollen diese beiden Mischverteilungs-Funktionsarten alles mögliche abbilden können. Mathematisch sind diese Funktionen trotz des gleichen Namens in etwa so ähnlich wie ein Holzhammer und ein Bananenbrot.

    Tatsächlich habe ich mal versucht, die Berechnungen an Hand von Kundendaten nachzuvollziehen und bin auf etwas Bemerkenswertes gestoßen: Bei den Daten, die ich von Kunden nach Fähigkeitsberechnung mit qs-stat gegenprüfen sollte, konnte ich mit keiner der beiden Mischverteilungs-Funktionsvarianten die Fähigkeitswerte nachbilden. Die berechneten Ergebnisse lagen weit von denen entfernt, die im qs-stat-Bericht standen.

    Wird die Berechnung allerdings anstatt mit einer der Mischverteilungs-Varianten mit einer Kerndichteschätzung gemacht, waren die Ergebnisse erstaunlich ähnliche zu den qs-stat-Berechnungen. (Kerndichteschätzung ist eine nichtparametrische Glättungsfunktion, s. z. B. bei Wikipedia Kerndichteschätzer).

    Kerndichteschätzungen sind schick, weil damit jede beliebige Art von Kurve nachgebastelt werden kann. Die haben allerdings mathematisch überhaupt keine Ähnlichkeit mit den beiden oben genannten Mischverteilungen. Hm.

    Also entweder bin ich blöd (das schließe ICH aus) oder ich hab mich verrechnet (sehr unwahrscheinlich, da mit verschiedenen Datensätzen getestet und immer dasselbe Ergebnis gesehen) oder da passiert doch etwas anderen bei der Berechnung in qs-stat (kann ich nicht beurteilen, weil ich den Code und die Funktionen nicht kenne).

    Außerdem kann so eine Kurvenanpassung maximal für die bereits vorhandenen Werte funktionieren, aber niemals gültig für die nächsten Tage, Wochen oder Monate sein. Egal was auch immer für eine Funktion verwendet wird, um Prozessdaten zu modellieren, wenn der Prozess nicht unter Kontrolle ist, zeigen die Werte maximal die aktuelle Qualitätslage. Eine zuverlässige Vorhersage bzw. belastbare zukünftige Prozess-Absicherung ist nur bei stabilen bzw. vorhersagbaren Prozess-Ergebnissen machbar.

    Kann mir jemand evtl. eine Literaturquelle nennen, die diese Mischverteilung genauer unter die Lupe nimmt und ob es überhaupt Sinn macht einen Prozess mit Hilfe der Mischverteilung hinsichtlich seiner Stabilität zu beurteilen?

    Die zwei oben beschriebenen Mischverteilungen von qs-stat findest Du in [1]. Eine grobe Skizzierung kannst Du auch in der DIN ISO 21747 ([2]) bei M2 und M3 finden, wobei dort weder von Mischverteilungen gesprochen wird noch verraten wird, wie so etwas konkret gerechnet werden soll. Eine Literaturquelle, in der die qs-stat-Mischverteilungen beschrieben werden und die nicht aus dem Hause Q-Das stammt (Dietrich ist und Schulze war Geschäftsführer von Q-Das) oder direkt von denen abgeschrieben worden ist, ist mir nicht bekannt.

    Abgesehen davon ist die ISO 21747 (englisch) schon vor einiger Zeit von der ISO zurückgezogen und durch die ISO 22514-2 ersetzt worden ([3]). Die DIN ISO 21747 (deutsche Variante) ist noch gültig.

    In der ISO/TR 22514-2 (time-dependent process / zeitabhängiger Prozess) finden sich die Verteilungszeitmodelle wieder, sogar inklusive qs-stat-Abbildungen. Die entscheidenden Unterschiede zur DIN ISO 21747 (deutsch) sind, dass dort bei allen Verteilungszeitmodellen bei B, C1, C2, C3, C4 und D steht:
    This process is not under statistical control.

    Das Verteilungszeitmodell A1 ist schlicht eine Normalverteilung (als Momentan- und Gesamtverteilung) und das Verteilungszeitmodell A2 ist eine andere feste Verteilung. Sowohl A1 als auch A2 sind unabhängig von der Zeit.

    Bei der Definition von Prozessfähigkeits-Indizes wird in ISO/TR 22514-2 darauf hingewiesen, dass eine Fähigkeit (Cp, Cpk) nur dann berechnet werden kann, wenn der Prozess nachgewiesenermaßen unter statistischer Kontrolle ist. Ohne diesen Nachweis darf laut ISO/TR 22514-2 nur das Prozesspotential (Pp, Ppk) verwendet werden.

    Die Berechnung eines Prozesspotentials (Prozess ist nicht unter statistischer Kontrolle) zur Bewertung der Prozessqualität ist allerdings sehr umstritten. Das große Ziel, die aktuelle UND zukünftige Qualitätsfähigkeit eines Prozesses zu bewerten, kann imho nur dann zuverlässig erfolgen, wenn der Prozess beherrscht / unter statistischer Kontrolle ist.

    Mal zurück zu Deiner Ausgangsfrage, ob es sinnvoll ist, qs-stat als „Rechenknecht“ einzusetzen. Die wie immer allgemein gültige Antwort lautet: Es kommt darauf an. Wenn es Dir nur darum geht, nach einer scheinbar klaren Vorgabe (deutsche Norm) irgendwelche Kennzahlen berechnen zu lassen, ist das mit qs-stat ziemlich einfach. Wenn Du zuverlässige Prozessfähigkeits-Kennzahlen willst, die Dir belastbare Aussagen zur Qualität Eurer Prozesse liefern, ist das vermutlich mit Software X einfacher.

    Ich hoffe, das hilft Dir bei der Entscheidung ein Stück weiter.

    Viele Grüße

    Barbara

    [1] Dietrich, Edgar; Schulze, Alfred [2009]: Statistische Verfahren zur Maschinen- und Prozessqualifikation. Hanser Fachbuch, 6. Auflage, ISBN 978-3446415256
    [2] DIN ISO 21747:2007-03, Titel (deutsch): Statistische Verfahren – Prozessleistungs- und Prozessfähigkeitskenngrößen für kontinuierliche Qualitätsmerkmale (ISO 21747:2006; Text Deutsch, Englisch, Eintrag im Beuth-Katalog) [Achtung: Die englische Fassung ist zurückgezogen und durch [3] ersetzt worden, s. Eintrag im ISO-Katalog!]
    [3] ISO 22514-1:2009
    Statistical methods in process management — Capability and performance, Eintrag im ISO-Katalog
    (Teil 1-4, zeitabhängige Verteilungen: Teil 2 / Entwurfdes Technical Reports)

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766

    Hallo uglyone2002,

    statistisch gesehen kannst Du unabhängig von einem Fähigkeitswert Werte in der gesamten Toleranz und auch außerhalb bekommen, denn der Fähigkeitswert sagt nur etwas darüber aus, wie wahrscheinlich die Werte innerhalb der Toleranz liegen.

    Damit gibt es auch immer eine Wahrscheinlichkeit für Werte außerhalb der Toleranz, auch wenn sie bei großen Fähigkeitswerten quasi 0 ist, die Wahrscheinlichkeit für außer-Toleranz-Werte ist NIE =0.

    Es gibt so etwas wie den normalen Prozess-Streubereich (manchmal auch „natürlich Toleranz“). Dieser umfasst (theoretisch) 99,73% aller Messwerte in einem Prozess. (Damit liegen 0,27% = 2.700ppm außerhalb des normalen Prozess-Streubereichs.)

    Bei normalverteilten Werten entspricht dieser Bereich dem Intervall
    Mittelwert +/- 3*Standardabweichung

    Der Prozess-Streubereich ist deshalb bei normalverteilten Werten 6*Standardabweichung breit (kurz: 6S).

    Bei einem Fähigkeitswert Cm oder Cp wird der Prozess-Streubereich mit der Toleranzbreite verglichen:
    Cm = Cp = (OTG – UTG) / (6S)
    OTG: obere ToleranzGrenze
    UTG: untere ToleranzGrenze

    Der Unterschied zwischen Cm und Cp liegt nur in den Messdaten, die verwendet werden. Bei Cm (Kurzzeitfähigkeit) läuft der Prozess ohne Eingriff und ohne Wechsel von Werker, Material, Werkzeug, etc. Bei Cp (Langzeitfähigkeit) wird der Prozess inklusive aller üblichen Wechsel und Veränderungen betrachtet.

    Wenn Du die Formel für den Cm/Cmk bzw. Cp/Cpk umstellst und sagst, Du möchtest mindestens 1,67 (=5/3) haben, brauchst Du einen Abstand zwischen Mittelwert und Toleranzgrenze von mindestens 5facher Standardabweichung (5*S).

    Der Prozess darf damit mit seiner „natürlichen“ Streuung (+/-3S) nur einen Bruchteil der Toleranz ausnutzen, genauer 6S/10S=60%, um eine Fähigkeit von 1,67 zu bekommen.

    Soweit hat das Nullkommagarnichts mit Deinem Stichprobenumfang zu tun. Der kommt erst ins Spiel, wenn Du zusätzlich den Unsicherheit-Streubereich bzw. das Konfindenzintervall der Fähigkeitskennzahlen berücksichigst.

    Eine zuverlässige Aussage über die Kurzzeit- oder Langzeit-Fähigkeit eines Prozesses ist erst bei 100 oder mehr Werten möglich, und selbst dann ist eine Diskussion über die zweite Nachkommastelle völliger Mumpitz.

    Bei 50 Werten hast Du eine Unschärfe von ca. +/-0,2 in Deinem Fähigkeitswert. Wenn Du z. B. einen Wert von 1,7 berechnest, liegt die tatsächliche Fähigkeit mit 95% Sicherheit zwischen 1,5 und 1,9.

    Bei 100 Werten und einer Fähigkeit von 1,7 ist die tatsächliche Fähigkeit mit 95% zwischen 1,7 +/-0,15, d. h. zwischen 1,55 und 1,85. Auch 125 Werte liefern nicht den Durchbruch, da ist der 95%-Unsicherheitsbereich nur geringfügig schmaler (1,58 , 1,82).

    Bei 500 Werten hast Du dann einen 95%-Konfidenzbereich von (1,65 , 1,75), also für einen Fähigkeitswert von 1,7 immer noch nicht genug Sicherheit, dass Du tatsächlich über 1,67 liegst. Und das Alles gilt nur und ausschließlich für stabile und normalverteilte Prozessdaten.

    Wenn wir also mal den ganz dicken Daumen nehmen, müsstest Du für einen halbwegs zuverlässigen Nachweis von 1,67 mit 50 Werten
    a) einen Abstand zwischen Mittelwert und jeder Toleranzgrenze <5fache Standardabweichung haben
    b) einen Fähigkeitswert von mindestens 1,87 errechnen, um auch mit einer kleinen Stichprobe von 50 Werten inklusive der Unschärfe tatsächlich über 1,67 zu liegen.

    Ups.

    Da die zweite Forderung b) schärfer als die erste ist, brauchst Du einen Prozess, der einen Abstand zwischen Mittelwert und jeder Toleranzgrenze von ca. 6facher Standardabweichung hat. Damit bleibt für die übliche Prozess-Streubreite +/-3S nur noch die halbe Toleranzbreite (50%) übrig.

    Wie gesagt, dass ist ein ganz dicker Daumen für normalverteilte, stabile Prozesse. Ob diese Abschätzung überhaupt bei der Kurzzeitfähigkeit Cm/Cmk sinnvoll ist, halte ich für diskussionswürdig.

    Ich hoffe, das hilft Dir trotzdem ein Stück weiter :)

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

    Barbara
    Senior Moderator
    Beitragsanzahl: 2766
    als Antwort auf: UT 2012 #61296

    Hallo hagazuza und alle anderen,

    wenn Du/Ihr keinen Urlaub bekommt, könnt Ihr natürlich auch erst am Freitag Abend bzw. Samstag morgen zum Usertreffen kommen. Das wär zwar schade, weil der Erfahrungsaustausch und die Werksbesichtigung richtig gut sind, aber es wär besser als wie nix ;)

    Viele Grüße

    Barbara

    _____________________________________

    Eine gute wissenschaftliche Theorie sollte einer Bardame erklärbar sein.
    (Ernest Rutherford, Physiker)

Ansicht von 15 Beiträgen – 286 bis 300 (von insgesamt 2,697)