R/mcs_delay.R
mcs_delay.default.Rd
In general, the amount of available information about units in the field is very different. During the warranty period, there are only a few cases with complete data (mainly failed units) but lots of cases with incomplete data (usually censored units). As a result, the operating time of units with incomplete information is often inaccurate and must be adjusted by delays.
This function reduces the operating times of incomplete observations by simulated delays (in days). A unit is considered as incomplete if the later of the related dates is unknown. See 'Details' for some practical examples.
Random delay numbers are drawn from the distribution determined by complete cases (described in 'Details' of dist_delay).
Further arguments passed to or from other methods. Currently not used.
A vector of class character
or Date
, in the format "yyyy-mm-dd",
representing the earlier of the two dates belonging to a particular delay.
Use NA
for missing elements.
If more than one delay is to be considered, use a list where the first element is the earlier date of the first delay, the second element is the earlier date of the second delay, and so forth (see 'Examples').
A vector of class character
or Date
in the format "yyyy-mm-dd".
date_2
is the counterpart of date_1
and is used the same as date_1
, just with
the later date(s) of the particular delay(s). Use NA
for missing elements.
Operating times. Use NA
for missing elements.
Optional argument. If used, it must contain binary data (0 or 1) indicating whether a unit is a right censored observation (= 0) or a failure (= 1).
If status
is provided, class wt_reliability_data
is assigned to the
output of mcs_delay, which enables the direct application of estimate_cdf
on operating times.
Identification of every unit.
Supposed distribution of the respective delay.
A list with class wt_mcs_delay
containing the following elements:
data
: A tibble
returned by mcs_delay_data where two modifications
has been made:
If the column status
exists, the tibble
has additional classes
wt_mcs_data
and wt_reliability_data
. Otherwise, the tibble
only has
the additional class wt_mcs_data
(which is not supported by estimate_cdf).
The column time
is renamed to x
(to be in accordance with
reliability_data) and contains the adjusted operating times for incomplete
observations and input operating times for the complete observations.
sim_data
: A tibble
with column sim_delay
that holds the simulated
delay-specific numbers for incomplete cases and 0
for complete cases.
If more than one delay was considered multiple columns with names sim_delay_1
,
sim_delay_2
, ..., sim_delay_i
and corresponding delay-specific random
numbers are presented.
model_estimation
: A list returned by dist_delay.
In field data analysis time-dependent characteristics (e.g. time in service) are often imprecisely recorded. These inaccuracies are caused by unconsidered delays.
For a better understanding of the MCS application in the context of field data, two cases are described below.
Delay in registration: It is common that a supplier, which provides
parts to the manufacturing industry does not know when the unit, in which
its parts are installed, were put in service (due to unknown registration or
sales date (date_2
)). Without taking the described delay into account, the
time in service of the failed units would be the difference between the
repair date and the production date (date_1
) and for intact units the
difference between the present date and the production date. But the real
operating times are (much) shorter, since the stress on the components have
not started until the whole systems were put in service. Hence, units with
incomplete data (missing date_2
) must be reduced by the delays.
Delay in report:: Authorized repairers often do not immediately
notify the manufacturer or OEM of repairs that were made during the warranty
period, but instead pass the information about these repairs in collected
forms e.g. weekly, monthly or quarterly. The resulting time difference between
the reporting (date_2
) of the repair in the guarantee database and the
actual repair date (date_1
), which is often assumed to be the failure
date, is called the reporting delay. For a given date where the analysis
is made there could be units which had a failure but the failure isn't
reported and therefore they are treated as censored units. In order to take
this into account and according to the principle of equal opportunities, the
lifetime of units with missing report date (date_2[i] = NA
) is reduced by
simulated reporting delays.
Verband der Automobilindustrie e.V. (VDA); Qualitätsmanagement in der Automobilindustrie. Zuverlässigkeitssicherung bei Automobilherstellern und Lieferanten. Zuverlässigkeits-Methoden und -Hilfsmittel.; 4th Edition, 2016, ISSN:0943-9412
dist_delay for the determination of a parametric delay distribution and estimate_cdf for the estimation of failure probabilities.
# Example 1 - MCS for delay in registration:
mcs_regist <- mcs_delay(
date_1 = field_data$production_date,
date_2 = field_data$registration_date,
time = field_data$dis,
status = field_data$status,
distribution = "lognormal"
)
# Example 2 - MCS for delay in report:
mcs_report <- mcs_delay(
date_1 = field_data$repair_date,
date_2 = field_data$report_date,
time = field_data$dis,
status = field_data$status,
distribution = "exponential"
)
#> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step!
# Example 3 - Reproducibility of random numbers:
set.seed(1234)
mcs_report_reproduce <- mcs_delay(
date_1 = field_data$repair_date,
date_2 = field_data$report_date,
time = field_data$dis,
status = field_data$status,
distribution = "exponential"
)
#> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step!
# Example 4 - MCS for delays in registration and report with same distribution:
mcs_delays <- mcs_delay(
date_1 = list(field_data$production_date, field_data$repair_date),
date_2 = list(field_data$registration_date, field_data$report_date),
time = field_data$dis,
status = field_data$status,
distribution = "lognormal"
)
#> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step!
# Example 5 - MCS for delays in registration and report with different distributions:
## Assuming lognormal registration and exponential reporting delays.
mcs_delays_2 <- mcs_delay(
date_1 = list(field_data$production_date, field_data$repair_date),
date_2 = list(field_data$registration_date, field_data$report_date),
time = field_data$dis,
status = field_data$status,
distribution = c("lognormal", "exponential")
)
#> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step!