The New Weibull Handbook Fifth Edition Download UPDATED

The New Weibull Handbook Fifth Edition Download

Using abrem

Functions of the abrem packet provide an awarding layer for entering life data, selecting various options for the treatment of that data, generation of a graphical display, and presenting meaningful statistical output in a legend. This application layer is executed in the R panel, based on scripts that are likely prepared in a split up editor.

Bundle abrem makes employ of the R object model to ready objects for plotted output. Various options are handled to extend the object with parametric fitting, preparation of confidence interval bounds, and preparation of the graphical output.

Using abrem with defaults for 2-parameter Weibull plotting

Preliminary steps for using abrem involve installing the package and its dependencies into your R organization. This topic is discussed separately in the How-To page.

For a rapid Weibull 2-parameter fit and display, an object is constructed using the Abrem() function on the data of interest. Then a fit element is added using object method abrem.fit(). This object can so be plotted with the R function plot(). To demonstrate this uncomplicated employ, the initial trouble sets from Chapter 2 of "The New Weibull Handbook" are shown below.

For each example copy the code script in the gray shaded area and paste it into the R Console to execute and view every bit intended.

library(abrem)
Prob2.1Data<-c(150,85,250,240,135,200,190)
Prob2.1Object<-Abrem(Prob2.1Data)
Prob2.1Object<-abrem.fit(Prob2.1Object)
plot(Prob2.1Object, principal="Problem 2-1")

This is a start, simple, plotting example. In the script above the first line merely assures that the abrem parcel and all its dependencies accept been loaded in this R session.

The second line places the example data into a vector.

The third line uses function Abrem() to construct an abrem object from the data. The Abrem function has been designed for some flexibility of data input. In this case, a single numeric vector has been passed every bit the first argument, so it is taken to be a set of complete failure times. This initial object could have been plotted at this point and one would detect the points, only, plotted on the default canvas for a Weibull analysis. Since we are using the default options.abrem list, the plotting distribution is "weibull2p", and the plotting positions have been determined using the beta binomial function for most technically accurate median rank positions. These positions are minimally different than the Benard approximation method used in the "Handbook" text.

The fourth line of the script adds a fit of the data into the abrem object using the abrem.fit() method on the object. According to defaults of the options.abrem listing, this fit is by rank regression using the preferred X on Y ordering convention.

Finally, the fifth line plots the object based on the exposed elements of the abrem object, which has been provided every bit a first argument to the plot() part. In this case the master title of the chart has been specified. Upon execution of this line an R Graphics Device window is opened with the resulting display.

Now consider example Problem 2-2 from the text:

library(abrem)
Serials<-c(831,832,833,834,835,836,837,838)

Times<-c(9,6,14.half dozen,1.1,20,7,65,8)
Events<-c(i,1,0,i,i,0,ane,0)
Prob2.2Data<-data.frame(serial=Serials,
time=Times,event=Events)
Prob2.2Object<-Abrem(Prob2.2Data, col="ruddy")
Prob2.2Object<-abrem.fit(Prob2.2Object)
plot(Prob2.2Object, master="Problem 2-2")

In the script above the data is entered into iii vectors in the exact order as presented in a tabular array in the text. These vectors are used to create a dataframe to present the data with specifically named fields of 'time' and 'event'. Note that the result vector is fabricated upwards of 1's for failures and 0's for suspensions. The Abrem() function will accept this format as a first argument. It volition parse the dataframe for the ii specifically named fields every bit shown singular and all lower case. Additional information that may be stored in the dataframe is not used on the abrem object that will be created by role Abrem(). In this example some color has been added to the object. A default rank regression fit is and so added to the object as in the previous instance. Finally the plot is executed providing a new primary championship for the chart.

Placing more than ane fitted object on one chart.

library(abrem)
Prob2.1Data<-c(150,85,250,240,135,200,190)
Prob2.1Object<-Abrem(Prob2.1Data,
col="bluish",label="Problem 2-one")
Prob2.1Object<-abrem.fit(Prob2.1Object)
P2.2Failures<-c(9.0,vi.0,1.1,20.0,65.0)
P2.2Suspensions<-c(14.6,vii.0,viii.0)
Prob2.2Object<-Abrem(fail=P2.2Failures, susp=P2.2Suspensions,
col="cerise", label="Trouble 2-2")
Prob2.2Object<-abrem.fit(Prob2.2Object)
title<-"Chapter 2 Bug"
plot.abrem(list(Prob2.2Object, Prob2.1Object), chief=title)

In this script some color is added to each trouble object and identifying labels are added for the fable. The data for the second trouble has been prepared for an alternate input means for object initialization past the Abrem() function. Past this convention two vectors of fourth dimension values are prepared; one for complete failures, the other for break information (also known equally correct-censored data). These 2 vectors must then be assigned to the specifically named arguments 'fail' and 'susp' in the Abrem() function call.

The procedure for placing ii or more than abrem objects into a chart is to pass the objects in a list to the plot.abrem() method. This is a special case for plotting abrem objects. The generic R plot() part cannot recognize such a listing of abrem objects.

Adding conviction intervals and B-life determinations to abrem objects

Standing a convention of recalculating examples from our reference text, two examples are provided below plotting recalculations for Effigy C-ane and Figure vii-5 (from Section 7.5.1) from the "New Weibull Handbook, 5th Edition" below:

## Figure C-1
library(abrem)
AppBCData<-data.frame(
time=c(1500,1750,2250,4000,4300,5000,7000),
event=c(1,0,i,1,one,0,1))
FigC.ane<-Abrem(AppBCData, pch=two)
FigC.1<-abrem.fit(FigC.1, col="bluish")
FigC.one<-abrem.conf(FigC.1, col="darkgreen")
FigC.1<-abrem.conf(FigC.1, method.conf.blives="bbb",
lty=2, lwd=1, col="black")
plot(FigC.i, xlim=c(1,500000), ylim=c(.01,.90),
main="Figure C-1 with added Beta Binomial Bounds")

The Effigy C-1 script demonstrates graphic control over the individual elements of a single abrem object. During the object construction using Abrem() the point character, pch, is set to a value of 2 to generate upright triangles. Past typing ?points in the R console a help page will appear in which all of the pch options are divers. Equally the default fit element is created it is assigned the color blue. As the default MCpivotal confidence bounds are created they are assigned a dark green color. Then, every bit a 2nd conviction interval element is added as the beta binomial premises, the line type, lty, and line width, lwd, are customized according to options that tin be explored by typing ?par in the R console. So, it is demonstrated that each abrem object tin have multiple elements and each of those elements tin be graphically controlled.

A final observation can be noted in that the ranges for X and Y axes for Figure C-1 were altered to provide a more than pleasing presentation than default lawmaking would have given.

Comparing datasets

## Figure seven-five (Department seven.5.i)
library(abrem)
set up.seed(1234)
## part mrank is to be depreciated in favor of getPPP from abremPivotals
ppp<-getPPP(rep(ane,8))[,ii]
data1<-unlist(lapply(ppp,function℗qweibull(p,2.09,985.8)))
data2<-unlist(lapply(ppp,function℗qweibull(p,iii.666,1984)))
Obj1<-abrem.conf(abrem.fit(Abrem(data1, pch=2, col="orangish")), blives=0.1)
Obj2<-abrem.conf(abrem.fit(Abrem(data2, pch=6, col="forestgreen")), blives=0.1)
plot.abrem(listing(Obj1,Obj2),
main="Compare Data Sets at B10 with 95% Confidence")

The script for Effigy 7-5 begins with a seed setting establishing a uniform state for the random number generator (RNG) equally the function is called. This setting assures consistent numeric output of the Monte Carlo output regardless of any previous RNG activity. The next iii lines establish ideal points for the given Weibull parameter pairs. This example demonstrates R's lapply() function ability to loop through a vector of input values to a given role and return a listing of output values. The qweibull() role returns the time value for a given Weibull parameter pair at a given unreliability percentage, this is called the quantile function. In this case, it was known that the result values were atomic vector elements, and so the desired event was an unlist() of the output from lapply().

The 2 data sets, data1 and data2, are formed equally vectors of complete failure time values. And then, a nested approach has been used to construct each object with all desired elements and their graphical features. Detect that the blives output was limited to a unmarried report at B10 for this instance. The blives choice could have been prepare at any signal in the construction of the objects in this case. Association with the abrem.conf just seemed nearly appropriate. Finally, as seen before, these objects were passed in a list to the object method plot.abrem() with a definition for the main chart title.

The bespeak of this figure is to demonstrate a method of determining statistical distinctness of ii data sets similar to a method presented in 1994 by Jim Lempke of Ford Motor Visitor. It is hard to come across the distinction that exists at the B10 level (x% unreliability) between the upper bound of the orange set and the lower leap of the green set past the graph itself. It is hard to meet this in the book also. Withal, the B-lives brandish in the legend clearly shows the 95% upper-bound B10 value to exist 590.one for the orangish set, while the 95% lower-spring B10 value is 597.1 for the green set. Since the confidence limit, cl, has been defined equally a xc% double-sided interval, the single-sided confidence levels are each 95%.

At this time training of pivotal conviction interval premises for data sets with suspensions is a field of study of some on-going study. The user is cautioned that bounds and B-Life determinations prepared for such abrem objects may exist unlike than other software presentations. An open up invitation is made here for participation in this study.

Models beyond two-parameter Weibull

1 of the few lognormal information examples from the text is provided in Figure
three-thirteen.With the appropriate data entered into R as a vector named F3.13da the
following script tin can be run to generate the lognormal fit on the log-log canvas
for depicting linear regression.

library(abrem)
F3.13da <- c(iii.46623, iii.732711,
four.052996, 4.628703, iv.8157,
five.84517, v.888313, 5.892967,
8.168362, 10.02799, 10.06062,
10.49785, 11.11493, 11.87369,
12.21122, 12.51854, 12.91357,
xviii.04246, eighteen.20712, xix.57305,
21.20873, 30.03917, 34.88001,
36.87355, 53.91168)
F3.13ln2 <- abrem.fit(Abrem(F3.13da),
dist="lognormal",col="magenta")
plot(F3.13ln2,log="xy",
master="Lognormal Plot")

#

Continuing the agile R session with vector F3.13da and abrem object F3.13ln2 in memory, the lognormal fit we just made can exist re-plotted on the Weibull canvas along with ii-parameter and iii-parameter Weibull fitted objects constructed from the aforementioned data.

F3.13w2<-abrem.fit(Abrem(F3.13da), col="blue")
F3.13w3<-abrem.fit(Abrem(F3.13da, dist="weibull3p"), col="cherry")
plot.abrem(list(F3.13w2,F3.13ln2,F3.13w3),
main="Multi-distribution Plot")

This is a somewhat unexpected display. The instance was specifically provided equally a lognormal representation, but we notice a much more disarming curve fit with the iii-parameter Weibull. A fiddling exam with SuperSMITH reveals that use of the PVE for fit option will favor the lognormal (due to a somewhat penalized 3p Weibull MC pivotal determination), but if fitting is performed using MLE, the likelihood ratio test reveals a 90% significance for the 3p Weibull over the lognormal. The abrem package is neutral on this topic as of yet. For at present, in that location is no CCC^2 nor prr value displayed for the iii-parmameter model. In the hereafter provision of a log-likelihood value is expected as a goodness-of-fit measure out fifty-fifty for models fit by rank regression.

Exploratory work using third parameter optimization

At times sets of component life data can be too big for unproblematic navigation in a spreadsheet. The side by side set of data is provided every bit plain text in a .csv file, which can be read into R for farther processing This file can be downloaded using this link.  da.csv
For uniform example it is suggested that this file be placed in a C:\temp\ folder location. The advisable script for reading this unmarried column of data is provided beneath. This method would have been the same for a .txt file also however your browser would have displayed, not downloaded, the file.

daDF<-read.table("C:/temp/da.csv")
da<-every bit.vector(daDF[,1])

#

Notice the opposite management of the slashes in the file folder naming hither. This is a chip of POSIX legacy. Also, the read.table() function will load the data into a dataframe of merely one cavalcade in this case. This is then converted to a vector for our purposes. Now, with the information entered, the script for abrem use follows:

#

crave(abrem)
dafit<-Abrem(da)
dafit<-abrem.fit(dafit,col="red")
plot(dafit, master="Bathtub Life Information")

#

Followed by these next lines calculation
vertical marker lines.

#

abline(five=107, col="orangish", lty=5, lwd=ii)
abline(v=1750, col="orange", lty=v, lwd=2)

This complete set of life information fits poorly as a Weibull. Non only is the prr less than 10, information technology is even less than one.0! We find, even so that the information takes on somewhat expected behavior at the extremes of life. An early on period of "babe mortality" appears to give style to a more uniform life profile. Finally, at some later point it appears that wear-out is ultimately over whelming. The orange vertical markers take been placed simply by center, with some added help of examination of the data in the vicinity of the markers. In accordance with this observation, the information prepare is split into three parts for examination equally three-parameter Weibulls. Each segment of life data, so divided, is treated as representing a mode of failure; the other segments of data are considered as suspension data for that particular manner.

earlyda<-da[one:10]
midda<-da[eleven:131]
endda<-da[132:200]
da<-as.vector(daDF[,one])

#

earlyfit<-abrem.fit(Abrem(fail=earlyda,
susp=c(midda,endda),dist="weibull3p"),
col="orange")

#

midfit<-abrem.fit(Abrem(fail=midda,
susp=c(earlyda,endda),dist="weibull3p"),
col="magenta")

#

endfit<-abrem.fit(Abrem(fail=endda,
susp=c(earlyda,midda),dist="weibull3p"),
col="blue")

#

plot.abrem(listing(earlyfit,midfit,endfit), legend.text.size=0.5,
principal="Division of Life Data Using 3p Weibull")

The resulting plot demonstrates much closer plumbing fixtures to the segmented data. Currently abrem objects will only plot actual data points, not points modified by subtraction of t0. In order to prepare an alternate view depicting the linear fit of these iii life-mode segments the next script has been prepared. This script calls on the aforementioned underlying part in packet pivotals that abrem calls in order to identify the t0 value. Aye, one could take viewed these values from the legend of the last plot and proceeded by utilizing those observed t0 values as constants, merely this script has an elegance of working directly off the data itself.

1 may notation the negative t0 value for the early data upon evaluation for the 3rd parameter. This may advise some kind of pre-wear or pre-stress placed on the component before it was placed in service. It is not wise to ignore three-parameter a fit with negative t0. A review of the physics of failure may yield a plausible caption. In this instance the component was the diaphragm on an acid gas compressor. Further review resulted in changes to maintenance methods for installing this component.

## pivotals role MRRw3pxy is to be
## depreciated in favor of MRRw3p
earlyw3pfit<-MRRw3p(earlyda,c(midda,endda))
earlyt0<-earlyw3pfit[iii]
earlymodfit<-abrem.fit(Abrem(
fail=(earlyda-earlyt0),
susp=c((midda-earlyt0),(endda-earlyt0)),
col="orange"),label="Early Life")

#

midw3pfit<-MRRw3p(midda,c(earlyda,endda))
midt0<-midw3pfit[3]
midmodfit<-abrem.fit(Abrem(
fail=(midda-midt0),
susp=(endda-midt0),
col="magenta"),label="Mid Life")

#

endw3pfit<-MRRw3p(endda,c(earlyda,midda))
endt0<-endw3pfit[three]
endmodfit<-abrem.fit(Abrem((endda-endt0),
col="bluish"),label="Terminate Life")

#

plot.abrem(list(earlymodfit,midmodfit,endmodfit),legend.text.size=0.6,
chief="Linear 3p Weibull Fits by t0 Information Aligning")

Maximum Likelihood Estimation (MLE) plumbing equipment with abrem

At this fourth dimension MLE plumbing equipment has only rudimentarily been implemented in the abrem package. It is possible to assign method.fit options of either "mle" or "mle-rba" to a 2-parameter Weibull abrem object, only. A simple example is drawn from Appendix C of the text using the very small instance data set plant there.

crave(abrem)
mle_ex<-Abrem(
fail=c(1500,2250,4000,4300,7000),
susp=c(1750,5000))
mle_ex<-abrem.fit(mle_ex,
method.fit="mle", col="blue")
mle_ex<-abrem.fit(mle_ex,
method.fit="mle-rba", col="purple")
plot(mle_ex, xlim=c(500,10000),
primary="MLE and MLE-RBA Fitting")

Farther evolution with MLE contours and likelihood ratio bounds is available in the underlying debias package. This is i of the frontiers of the Abernethy Reliability Methods projection.

The options.abrem list

The various options used as named arguments to the Abrem() constructor function, the 2 element addition methods, abrem.fit() and abrem.conf(), and the plot() or plot.abrem() functions are selected from a listing of options available for implementation within abrem. While information technology is more often than not possible to add these choice arguments in any of the higher up function calls, at that place is a sure local applicability of each option to specific steps of object creation and display. Options entered during object definition and display in this way do not persistently alter the default list, only graphic settings will comport though a given object definition until changed again. The post-obit list has been prepared to assist understanding of the options.abrem list. Clicking on the first image will initiate a download of the Excel file used to generate these images.

#



#


#


#


#


#


It is possible to change the default listing for a session or serial of related scripts to avoid repetitious statement placement in individual scripts. When this is done it is recommended to shop the default listing before such alteration and returning the defaults when washed.

The following case code sets the default distribution model to lognormal, using the lognormal sheet, and Benard's approximation for plotting position ranking (to lucifer some commercial software product defaults, perhaps).

default.options<-options.abrem()
options.abrem(dist="lognormal", log="xy", method.fit="benard")

Later such a session the following restoration code is recommended.

options.abrem(default.options)

Amending of the options.abrem list is not recommended within any specific object definition script.

DOWNLOAD HERE

Posted by: andreathaventinsom.blogspot.com

0 Komentar

Post a Comment




banner