Verfasste Forenbeiträge

Ansicht von 13 Beiträgen – 31 bis 43 (von insgesamt 43)
  • Autor
    Beiträge
  • Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Zuständigkeit QMB #61516

    Hallo an alle,

    vielen Dank für euren Zuspruch und die Tips.

    Momentan belastet mich am meisten, dass die Zertifizierung ansteht, ich wegen des Tagesgeschäfts in der normalen Arbeitszeit nichts zur Vorbereitung machen kann. Parallel dazu dann die Projekte SAP und Einführung Arbeitssicherheitssystem.

    Das führt dazu, dass ich oft 50 bis 70 Wochenstunden arbeite (setze mich abends zuhause hin, teilweise bis Mitternacht, dann noch Samstags).

    Ich habe auch selbst schuld, da ich nicht nein sagen kann.

    Ich werde mir ein Konzept erarbeiten und dann mit der GF besprechen.
    Eure Beiträge haben mich dabei auf ein paar Ideen gebracht.

    Viele Grüße

    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46

    Genau so wie Barbara das geschrieben hat, meine ich das auch.

    Das übliche Werkzeug zur Risikoabschätzung ist die FMEA.
    Kann man auf Erfahrungen zurückgreifen, reicht eventuell ein geringer Prüfumfang um das ganze nochmal abzusichern.

    Je weniger das möglich ist, umso mehr muss man testen und das sollte dann statistisch auswerten.

    Beispiel Dauerlauftests von Komponenten (Wann ist irgendwas durchgescheuert oder wann funktioniert der Schalter nicht mehr): Hier testet man eine vorher festgelegte Versuchsreihe und wertet statistisch aus ob die Anforderungen erfüllt werden.

    Wegen der Dauer oder der Kosten von Prüfungen konnten wir da vielleicht nur 30 Teile testen, haben dann aber z.B. daraus den CPK-Wert ermittelt.
    Meist wurden in der Serie die Komponentenprüfungen wiederholt, auch wieder ausgewertet und mit den Daten aus der Entwicklungsphase abgeglichen.

    Für nicht normalverteilte Daten gibt es andere Verfahren zur Berechnung der Ausfallwahrscheinlichkeit.
    Lebensdauertests haben oft eine Weibull-Verteilung. Mangels Kenntnisse habe ich selbst noch nicht damit rumgerechnet, obwohl ich das schon öfter gebraucht hätte.

    Gruß
    Stefan

    geändert von – Stefan741 on 12/11/2012 21:40:40

    Stefan741
    Mitglied
    Beitragsanzahl: 46

    Hallo Aphel,

    aus meiner Erfahrung als Qualitätsvorausplaner in der Automobilindustrie kann ich sagen, dass viele Tests nicht statistisch abgesichert waren.

    Das hatte mit der Dauer der Tests und mit den Kosten zu tun. Bestimmte Tests wurden nur ein- oder zweimal durchgeführt, z.B. Sonnensimulation des Fahrzeugs irgendwo am Äquator.

    Erst die Versuche, die auf die Komponenten heruntergebrochen worden sind, wurden manchmal statistisch abgesichert, z.B. Zugtests um Klebeverbindungen zu prüfen. War dazu aber ein Alterung mittels Klimawechseltet nötig, war der Prüfumfang schon wieder reduziert.

    Es ist halt für alles immer eine Risikoabschätzung des ganzen Systems in Betracht zu ziehen.
    Z.B. In wie weit ähnelt die Konstruktion ähnlichen, die schon funktioniert haben?
    Was passiert beim Ausfall?

    Es braucht viel Erfahrung und GMV, sonst würden die Kosten und die Dauer der Tests ins unendliche Laufen.

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61482

    Hallo Barbara,

    danke für deinen Hinweis zu den 5S-Grenzen.
    Zum „Regeln“ im Sinne von Eingriffsgrenzen sollen die aber nicht dienen. Das geht wie du schon geschrieben hast nicht, weil man bei üblichen Stichprobengrößen (häufig ist n bei 30 bis 50) gar keine solchen Werte haben wird. Dazu bleiben die Eingriffsgrenzen (3s) eingezeichnet.

    Die 5s-Linien sollen nur auf einen Blick zeigen, ob sich die geschätzte Streuung der Grundgesamtheit, bezogen auf CPK 1,67, noch innerhalb der Toleranzgrenzen bewegt.
    Liegen die Linien außerhalb, erfüllt man die Kundenforderung CPK >= 1,67 nicht.

    Viele Grüße

    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46

    Hallo Barbara,

    leider hat dein erster R-Code nicht funktioniert (reg.line).
    Hier die korrigierte Version:
    ###### Beginn R-Syntax ######
    # Ab hier kann die Syntax direkt in R kopiert werden:

    # Messwerte eingeben, x Digits, y Ergebnis
    x <- c(10000,10050,10300)
    y <- c(0.20,0.21,0.24)

    # Ausgleichsgerade bestimmen und in lm.1 speichern
    lm.1 <- lm(y~x)

    # Modell-Werte
    summary(lm.1)

    # Koeffizienten a und b für die Ausgleichsgerade
    # y = a + b*x
    a <- lm.1$coef[1]
    b <- lm.1$coef[2]

    # Bevor das Modell für die Umrechnung verwendet wird, sollte es natürlich
    # validiert werden.
    # Bei nur drei Messwerten ist das schwer möglich, deshalb sollten hier
    # weitere Messwerte gesammelt werden.

    # Die Grafik zu den Messwerten:
    plot(x,y, xlab=“Digits“, ylab=“Ergebnis“)

    # Ausgleichsgerade in die Grafik einzeichnen
    #library(car)
    regLine(lm.1)

    ###### Ende R-Syntax ######

    Gruß
    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61464

    Jetzt habe ich bei meinem Bekannten „R“ installiert und drei Mitarbeiterinnen geschult. Die wurden von der Produktion in die QS „versetzt“ und hatten vorher noch nichts von Statistik, MSA usw. gehört. Erschwerend kam noch dazu, dass sie kaum Computerkenntnisse hatten, da es in ihrer Jugend noch keinen PC gab.

    Die Schulung dauerte einen kompletten Tag:
    Erst allgemein über Norm- und Automobilforderungen, dann MSA, Verteilungsarten, Normalverteilung, und zum Schluss „R“.

    Eine Woche konnten sie dann arbeiten und R testen. Dann gab’s ein paar Stunden Nachbereitung.

    Die Resonanz auf die Schulung war sehr positiv. Das freute mich sehr, weil das für mich auch das erst mal war.

    Zwei Punkte musste ich darauf noch an den Regelkarten ändern:

    1. CPK 1,67
    Die Warngrenzen bei 2S wurden mit 5S-Linien ersetzt und mit 1,67 beschriftet. Solange sich diese innerhalb der Toleranz befinden, kann man ablesen, dass der Prozess mit einem CPK von 1,67 läuft.

    2. Standardabweichung
    qcc hat bei der Standardabweichung immer andere Werte gebracht als sd() oder excel. Die Ursache konnte ich nicht finden (was macht „std.dev = „SD“?) und habe deshalb eine andere Berechnungsfunktion vorgegeben.

    So ist das jetzt ein sehr gutes Werkzeug zum Visualisieren von Stichproben. Falls das sonst noch wer braucht, hier der Code:


    einzelwertkarte_sd=function(daten){
    wert1 = NULL
    Datenbezeichnung = ""
    Temp = names(daten)
    if (is.null(Temp)) {wert1 = daten}
    else {wert1 = daten[[1]]; Datenbezeichnung = Temp[1]}

    library(qcc)

    daten=read.t_able("C:/daten.csv", sep = ";", dec = ",") #Liest die Werte aus daten.csv

    qcc5S=qcc(daten, type="xbar.one", std.dev = sapply(daten, sd), nsigmas=4, plot=FALSE)
    qcc3S=qcc(daten,type="xbar.one", std.dev = sapply(daten, sd), data.name="Messwerte", nsigmas=3)
    #qcc2S=qcc(daten, type="xbar.one", std.dev = sapply(daten, sd), nsigmas=2, plot=FALSE)

    qcc.options("cex"=0.9, "cex.stats"=0.8)

    plot.qcc.deutsch(qcc3S, ylim=range(qcc5S$limits,qcc3S$center,qcc3S$limits,qcc3S$statistics,min(apply(daten, FUN=mean, MARGIN=1)),max(apply(daten, FUN=mean, MARGIN=1)),UTG,OTG))
    abline(h=qcc5S$limits, col="blue", lty=3)
    mtext(c("1,67","1,67"), side = 4, at = qcc5S$limits, las = 1, line = 0.1, col ="blue", cex=qcc.options("cex.stats"))
    #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", lwd = 3)
    mtext(c("UTG","OTG"), side = 4, at = c(UTG,OTG), las = 1, line = 0.1, col = "magenta", cex=qcc.options("cex.stats"))}

    #Daten auswerten:
    einzelwertkarte_sd(daten)

    Die Forumssoftware hat ein Problem mit t_able. Den Unterstrich bitte entfernen.

    Viele Grüße
    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61416

    Hallo Barbara,

    ja, so werde ich das mit dem Einlesen der Daten auch machen, das ist wohl der einfachste Weg.

    Habe mir übrigens r-studio angeschaut. Das finde ich recht übersichtlich. Mit einem Klick kann man Pakete laden, sich vorhandene Daten anschauen, auf Files zugreifen, …
    Nur leider funktionieren darin die Funktionen nicht mehr.
    Beispiel Einzelwertkarte: Fehler in hist.default(daten, col = „azure“, main = „Histogramm“, probability = TRUE) :
    ‚x‘ must be numeric
    Also bleibe ich lieber bei R.

    Die Eingriffsgrenzen in den Regelkarten sind variabel, da sie von der Standardabweichung abhängen. Wird die Streuung größer, kann es sein, dass sie außerhalb der Toleranz liegen.
    Deshalb ist immer vorher eine Prozessfähigkeitsuntersuchung (Messmittelfähigkeit vorausgesetzt) notwendig, bevor man mit der Regelkarte arbeitet. Oder sehe ich da was falsch?

    Viele Grüße
    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61413

    Hallo Barbara,

    ich denke, die Regelkarte an sich wird schon so in Ordnung sein. Ich stelle das am kommenden Samstag vor.

    Nur mit dem Daten einlesen hapert es. Ich möchete, dass der Anwender einfach einen Befehl (z.B. EWerte()) eingibt, um die Werte (Werte, OTG, UTG) aus Excel oder .csv einzulesen und automatisch der Variablen „daten“ zuzuweisen.
    Mit den erstellten Fuktionen kann er die „daten“ dann auswerten.

    Bisher brauchts dazu zwei Schritte:
    EWerte <- function() read.tab_le(„C:/daten.csv“)
    daten <- EWerte() # Aufruf der Funktion EWerte()

    Mal sehen, vielleicht klappts ja auch so.

    Gruß
    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61394

    Das kleine Projekt ist jetzt fertig.

    Die Daten werden aus einer zentral gespeicherten Excel-Tabelle gelesen und je nach Stichprobenumfang mit Einzelwert- oder Mittelwertkarte dargestellt. Die Funktion „normvert_sd()“ habe ich noch um einen Boxplot ergänzt.

    Danke nochmal an Barbara für die Unterstützung.

    Viele Grüße
    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61386

    Hallo Barbara,

    vielen Dank, alles funktioniert wunderbar.

    Für „xbar.one“ muss ich dann nur den type ändern, oder?
    Werde das mit diesen Daten testen:
    werte <- 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)
    OTG=7.79
    UTG=7.39

    Kann ich mit read.tab_le eine Spalte auch so einlesen, dass ein string entsteht? Nur so funktioniert qcc.groups.

    Die nächsten Tage werde ich dran gehen, das Ganze anwenderfreundlich zu gestalten. Die Werte sollen per Funktion aus einer bestimmten Excel-CSV-Tabelle ausgelesen und ausgewertet werden. Einmal mit der Regelkarte und dann mit der „normvert_sd“-Funktion.

    Wegen dem Problem mit den Anführungszeichen habe ich vorher übrigens mit einer älteren R-Version gearbeitet, die da nicht so empfindlich war. Für qcc brauchts aber eine neuere.

    Viele Grüße

    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61383

    Problem gelöst: qcc.groups brauchts gar nicht.

    Einfach die Stichprobenwerte entsprechend in einer Excel-Tabelle anordnen, als .csv abspeichern (voher in Excel Punkt statt Komma einstellen) und mit read.ta_ble auslesen. Dann passt das Format für qcc type „xbar“.

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61382

    Hallo Barbara,

    danke für deine Meinung zu O_penStat und die weiteren Info’s. Notepad++ habe ich jetzt im Einsatz, O_penStat ist gestrichen. Jetzt möchte ich es mit R versuchen.

    Seit Stunden sitze ich jetzt daran, mich in R einzuarbeiten.
    Dein Code für die Urwertkarte funktioniert gut. Man kann auch die Toleranzgrenzen (aber keine zusätzlichen Warngrenzen) angeben:
    plot(qcc(daten, type=“xbar.one“, limits=c(564, 566)), xlab=“Nr.“, ylab=“Messwerte“, title=“Einzelwertkarte“)

    Aber wenn ich eine Regelkarte type „xbar“ haben will, muss ich die Werte wohl erst in einer bestimmten Form gruppieren (qcc.groups). Daran scheitere ich momentan. Versuchsweise wollte ich die 30 Werte einfach in 10 Gruppen aufteilen (Stichprobengröße 3).

    Jetzt frage ich mich, ob das mit r-studio nicht leichter zu lösen wäre. Aber da ich jetzt mit R angefangen habe damit wohl die meisten Möglichkeiten habe, möchte ich eigentlich damit weiterarbeiten. Was meinst du dazu?

    Viele Grüße

    Stefan

    Stefan741
    Mitglied
    Beitragsanzahl: 46
    als Antwort auf: Statistikprogramm #61362

    Hallo Barbara,

    danke für deine Einschätzung zu O_penStat. Nachdem ich darüber im Internet keinerlei Informationen gefunden hatte, war das auch mir nicht mehr ganz geheuer.

    Für die Regelkarte könnte ich ihm ja mit Excel was basteln (da gib’s wohl nichts in R) und ihm für die Auswertung was für R.

    Hier mal mein Normalverteilung-Code für R, falls jemand sowas braucht. Der obere Bereich ist ein Beispiel, wie die Daten eingegeben werden, mit normvert_sd(daten) wird das ganze dann ausgewertet.
    Habe noch nicht herausgefunden, wie ich Daten aus Excel direkt lesen kann, da muss ich noch eine Funktion suchen.

    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)
    OGW_daten <-c(7.79)
    UGW_daten <-c(7.39)

    normvert_sd<-function(x){
    daten <- NULL
    Datenbezeichnung <- ""
    Temp <- names(x)
    if (is.null(Temp))
    {daten <- x}
    else
    {daten <- x[[1]]
    Datenbezeichnung <- Temp[1]}
    Sortiert<-sort(daten)
    Anzahl_Werte<- length(daten)
    min<-min(daten)
    max<-max(daten)
    range<-max(daten)-min(daten)
    sd<-sd(daten)
    mean<-mean(daten)
    median<-median(daten)
    shapiro<-shapiro.test(daten)
    ks_test<-ks.test(daten, "pnorm", mean(daten), sd(daten))
    Cp<-(OGW_daten-UGW_daten)/(6*sd(daten))
    Cpo<-(OGW_daten-mean(daten))/(3*sd(daten))
    Cpu<-(mean(daten)-UGW_daten)/(3*sd(daten))
    Ogw133<-(mean+(1.33*3*sd))
    Ugw133<-(mean-(1.33*3*sd))
    split.screen(c(1,2))
    screen(1)
    hist(daten, col=” azure”, main=”Histogramm”, probability=”TRUE”)
    rug(daten)
    lines(density(daten, kernel = „gaussian“))
    curve(dnorm(x,mean=mean(daten),sd=sd(daten)), mean(daten)-3*sd(daten), mean(daten)+3*sd(daten), add = TRUE, col = "red")
    screen(2)
    qqnorm(daten, main="Wahrscheinlichkeitsnetz")
    qqline(daten, col="blue", lwd=1)
    close.screen(all=TRUE)
    cat("n")
    cat(" Werte sortiert: „,Sortiert, "n")
    cat(" Anzahl Werte: „,Anzahl_Werte, "n")
    cat(" Größtwert: „,max, "n")
    cat(” Kleinstwert: ”,min, ”n”)
    cat(” Streuung: ”,range, ”n”)
    cat(” Standardabweichung: ”,sd, ”n”)
    cat(" Mittelwert: „,mean, "n")
    cat(" Medianwert: „,median, "n")
    cat("n")
    cat(" Kolmogoroff-Smirnov: ", "n")
    cat(" Prüfgröße: ", ks_test$statistic, "n")
    cat("Wahrscheinlichkeit p-Wert): ", ks_test$p.value,"(",round(ks_test $p.value*100, digits = 1) ,"%-iges Zutreffen der Normalverteilung)", "n")
    cat("n")
    cat(" OGW: „,OGW_daten, "n")
    cat(" UGW: „,UGW_daten, "n")
    cat(" Cp: „,Cp, "n")
    cat(" Cpo: „,Cpo, "n")
    cat(" Cpu: „,Cpu, "n")
    cat(" OGW für Cp 1,33: „,Ogw133, "n")
    cat(" UGW für Cp 1,33: „,Ugw133, "n")
    cat("n")
    }

    Genau bei dieser Datenreihe hat übrigens sein Excel-Histogramm keine Normalverteilung dargestellt, obwohl es laut der Auswertung mit R eine ist.

    Danke übrigens für deine Ausführungen auf deiner Seit zum Thema „Test auf Normalverteilung“.

    Was habe ich bei den Formatierungen (<i>, <code>) falsch gemacht?

    Viele Grüße

    Stefan

    geändert von – Stefan741 on 15/09/2012 15:53:53

Ansicht von 13 Beiträgen – 31 bis 43 (von insgesamt 43)