Beruflich Dokumente
Kultur Dokumente
if (!require(tidyverse)) {
install.packages("tidyverse") # Installationsroutine
require(tidyverse) # Einbinden des Packages
}
if (!require(plotly)) {
install.packages("plotly") # Installationsroutine
require(plotly) # Einbinden des Packages
}
```
## Aufgabe Nelson-Verfahren
Bei einem Versuch sind fünf von zehn Probanden ausgefallen. Damit sind fünf
Probanden ohne Schaden geblieben. Die beiliegende Tabelle fasst den Versuch
zusammen.
i | Lastzyklen | Status
:-----: | :-----: | :-----:
1 | 10.000 | F
2 | 18.000 | F
3 | 40.000 | F
4 | 75.000 | F
5 | 90.000 | F
6 | 160.000 | S
7 | 25.000 | S
8 | 50.000 | S
9 | 100.000 | S
10 | 150.000 | S
1. Berechnen Sie mit den Werten der ausgefallenen Probanden die beiden
Weibullparameter b und T. Verwenden Sie zur Schätzung der
Ausfallwahrscheinlichkeiten
den Medianrang-Schätzer und zur Schätzung der Parameter die Medianrang-
Regression.
Visualisieren Sie Ihre Ergebnisse im Weibull-Wahrscheinlichkeitsnetz.
2. Bestimmen Sie die Weibullparameter b und T nun nach dem Nelson-Verfahren.
Nutzen Sie für die Visualisierung das Wahrscheinlichkeitsnetz aus Aufgabenteil
1.
3. Aufgrund eines Irrtums müssen die Lebensdauern der Probanden, die ohne Schaden
überlebt haben, korrigiert werden: Alle Probanden (Survivor) weisen 200.000 cyc
auf.
Bestimmen Sie die Weibullparameter b und T nach dem Nelson-Verfahren. Nutzen Sie
für
die Visualisierung wieder das gleiche Wahrscheinlichkeitsnetz.
4. Was ändert sich, wenn die Survivors nun statt 200.000 cyc bisher 500.000 cyc
gelaufen sind?
5. Sind beim Nelson-Verfahren b-Werte kleiner, gleich oder größer 1 plausibel?
Lösung zu Aufgabenteil 1:
# Daten erzeugen:
cycles <- c(10000, 18000, 40000, 75000, 90000, 160000, 25000, 50000, 100000,
150000)
status <- c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
# Medianrang-Schätzungen:
mr_cycles <- mr_method(x = cycles[1:5])
mr_cycles
# Medianrang-Regression:
mrr_cycles <- rank_regression(x = mr_cycles$characteristic, y = mr_cycles$prob,
event = mr_cycles$status)
mrr_cycles
# Visualisierung:
mrr_plot <- plot_prob(x = mr_cycles$characteristic, y = mr_cycles$prob,
event = mr_cycles$status, title_main = "Weibull - Wahrscheinlichkeitsnetz",
title_x = "Lastzyklen", title_y = "Ausfallwahrscheinlichkeit in %",
title_trace = "Ausfälle (MR)") %>%
plot_mod(x = mr_cycles$characteristic, loc_sc_params =
mrr_cycles$loc_sc_coefficients,
title_trace = "MRR (x on y)")
mrr_plot
```
Lösung zu Aufgabenteil 2:
# Nelson-Verfahren:
nel_cycles <- nelson_method(x = cycles, event = status)
nel_cycles
# Visualisierung:
mrr_plot2 <- mrr_plot %>%
add_trace(data = nel_cycles, type = "scatter", mode = "markers", x =
~characteristic,
y = ~SPREDA::qsev(prob), name = "Ausfälle (Nelson)", color = I("#006400"),
hoverinfo = "text", text = ~paste(paste("Lastzyklen", ":", characteristic),
paste("<br>", paste0("Ausfallwahrscheinlichkeit", ":")), round(prob, digits =
5))) %>%
add_lines(x = c(5000, 150000), y = SPREDA::qsev(plot_nel_reg),
name = "RR - Nelson (x on y)", color = I("#29AB87"),
hoverinfo = "text", hoverinfo = "text",
text = ~paste(paste("T<sub>Nel</sub>", ":", round(mrr_nelson$coefficients[[1]],
digits = 2)),
"<br>", paste("b<sub>Nel</sub>", ":",
round(mrr_nelson$coefficients[[2]], digits = 2))))
mrr_plot2
```
Lösung zu Aufgabenteil 3:
# Nelson-Verfahren:
nel_cycles_corrected <- nelson_method(x = cycles_corrected, event = status)
nel_cycles_corrected
# Visualisierung:
mrr_plot3 <- mrr_plot2 %>%
add_trace(data = nel_cycles_corrected, type = "scatter", mode = "markers", x =
~characteristic,
y = ~SPREDA::qsev(prob), name = "Ausfälle\n(Nelson korrigiert)", color =
I("#FFFB00"),
hoverinfo = "text", text = ~paste(paste("Lastzyklen", ":", characteristic),
paste("<br>", paste0("Ausfallwahrscheinlichkeit", ":")), round(prob, digits =
5))) %>%
add_lines(x = c(5000, 200000), y = SPREDA::qsev(plot_nel_corrected_reg),
name = "RR - Nelson\nkorrigiert (x on y)", color = I("#FFD300"),
hoverinfo = "text", hoverinfo = "text",
text = ~paste(paste("T<sub>Nel</sub>", ":",
round(mrr_nelson_corrected$coefficients[[1]], digits = 2)),
"<br>", paste("b<sub>Nel</sub>", ":",
round(mrr_nelson_corrected$coefficients[[2]], digits = 2))))
mrr_plot3
```
Lösung zu Aufgabenteil 4:
# Nelson-Verfahren:
nel_cycles_corrected2 <- nelson_method(x = cycles_corrected2, event = status)
nel_cycles_corrected2
Lösung zu Aufgabenteil 5:
Die Ausfallrate nach Nelson berechnet sich durch die Gleichung $\lambda_{Nel, i}=\
frac{1}{r_i}$.
$r_i$ ist hierbei der inverse Rang einer Beobachtung. Somit wird durch die
Einführung
von Nelsons Ausfallrate implizit vorausgesetzt, dass die Ausfallrate eine monoton
steigende Funktion ist. Solche Ausfallratenverläufe passen jedoch nur zu einem
Weibullparameter b, der echt größer als 1 ist. Daher ist das Nelson-Verfahren im
vorliegenden Fall als ungeeignet zu betrachten.