Search for question
Question

Analyzing and Simulating Exponential Reliability Objectives: Analyze time to failure data with the assumption of a constant failure rate • Calculate and plot uncertainty in reliability prediction Simulating component time

to failure with a constant failure rate In this lab activity, we will explore how to analyze real failure data assuming a constant rate of failure, and then how to make predictions with quantified uncertainty of future reliability. Analyze Time to Failure Data Let's say that we have the following data on time to failure for a screen used in a water treatment system. We have records on the operational time accumulated before failure for a total of 10 screens. 4320 hours, 170 hours, 2580 hours, 1660 hours, 570 hours, 6910 hours, 3370 hours, 450 hours, 2030 hours, and 890 hours. Let's make a new scrip... edit lab4dot1script And then enter this data: clear rng('shuffle') TTF_Data = [4320 170 2580 1660 570 6910 3370 450 2030 890];]; Get in the practice here of including the date and the version of MATLAB that you are using to create this script. This is a good practice that can save you hours of time in the future. We will sort our data, use median rank to estimate the reliability at each time point, and then take a visual look at it. TTF_Data_sorted = sort (TTF_Data); TTF_Rank (1:1: size (TTF_Data_sorted,2)); TTF_Reliability = 1 - (TTF_Rank 0.3)./(size(TTF_Data_sorted, 2) + 0.4); figure; plot (TTF_Data_sorted, TTF_Reliability, 'x'); We should see a roughly exponentially decreasing array of x's on this plot. If not, there is something amiss with the sorting or reliability calculations above. Next, let's have MATLAB use this data to estimate our MTTF, and plot that expectation on our graph. %fit an exponential model to our TTF data and calculate the MTTF [MTTF, MTTF_CI] = expfit (TTF_Data_sorted); figure; hold on scatter (TTF_Data_sorted, TTF_Reliability); set (gca, 'YScale', 'log'); %change y-axis to log scale X = 0:10:max (TTF_Data); Y = exp((-1/MTTF)*X); %plot the predicted reliability line plot(X,Y) %plot a red horizontal dashed line showing the MTTF plot (0:10: max(TTF_Data), ones (size(0:10:max(TTF_Data),2)).*0.368, '--r') grid on %turn on major grid lines grid minor %turn on minor grid lines hold off Plot: Properly label both axes on this plot and save it for your final submission. Check that the intersection point between your fitted exponential line and the horizontal dashed line meet at the calculated MTTF. Plotting Reliability Prediction Data with Uncertainty With limited data, we cannot be absolutely sure of the exact MTTF for these screens. Some uncertainty remains. We calculated and saved that data above in the variable "MTTF_CI", but now we will add the limits of that prediction to our plot and examine how that changes our estimate of future reliability. By default the "expfit" function will output the 95% confidence interval, but this can be changed by electing certain options. So, let's add two lines showing the limits of our reliability prediction. Ymin exp((-1/MTTF_CI(1))*X); Ymax = exp((-1/MTTF_CI(2))*X); = figure; hold on; scatter (TTF_Data_sorted, TTF_Reliability); set(gca, 'YScale', 'log'); %change y-axis to log scale plot(X, Ymin, ':b') plot(X, Ymax,':b') plot (0:10:max (TTF_Data), ones(size(0:10:max(TTF_Data),2)).*0.368, '--r') grid on grid minor hold off Question 1: What is the range of possible reliabilities at 5000 hours? Question 2: What is the range of possible times to the median time to failure (50% reliability)? Plot: Properly label this plot and include it in your final results. You should be able to see here how this uncertainty affects the specificity of future prediction, and also how this uncertainty can be considered in either dimension (reliability or time to failure). Simulating Constant Failure Rate Reliability Data A related function in MATLAB, "exprnd" allows us to produce random data drawn from an exponential time to failure distribution. Let's simulate 500 times to failure from a similar distribution, and see how the increased data affects our confidence interval. Sim_Data = Then, we analyze and plot this as we did before. exprnd (MTTF, 1,500); [MTTF_sim, MTTF_CI_sim] figure; hold on = Sim_Rank = (1:1:size (Sim_Data,2)); Sim_Reliability = 1 - (Sim_Rank - 0.3)./(size(Sim_Data, 2) + 0.4); Sim_Data_sorted = sort (Sim_Data); expfit (Sim_Data); scatter (Sim_Data_sorted, Sim_Reliability); set(gca, 'YScale', 'log'); X_sim = 0:10:max(Sim_Data); hold off Ymin_sim = exp((-1/MTTF_CI_sim(1))*X_sim); Ymax_sim = exp((-1/MTTF_CI_sim(2))*X_sim); plot (X_sim, Ymin_sim, ':b') plot (X_sim, Ymax_sim, ':b') plot (0:10:max(Sim_Data), ones (size (0:10:max(Sim_Data),2)).*0.368, '--r') grid on grid minor Plot: Properly label this plot and include it in your final results. Question 3: By how much as the confidence interval contracted at the time point of 5000 hours? Consider this (but you don't have to do it now): how would we test for convergence in this simulation? To submit your lab activity, first answer each of the questions enumerated in the assignment above, then, copy the final output of your script from the MATLAB command window (this should include all of the output created above), and paste it into the text box below. Next, insert a divider, such as a line of dashes or asterisks (or the horizontal line available through in the "Insert" menu). Finally, below that, copy and paste your complete and final script code. Apply the style known as "Preformatted" in the editor to your code. The "Preformatted" style can be found in the drop down box above the text editor marked "Paragraph". Warning: in future lab assignments, completion will be scored partially on whether or not your code successfully executes.