Simulation, Estimation and Reliability of Semi-Markov Models
Description:
Performs parametric and non-parametric estimation and
simulation for multi-state discrete-time semi-Markov processes.
For the parametric estimation, several discrete distributions
are considered for the sojourn times: Uniform, Geometric,
Poisson, Discrete Weibull and Negative Binomial. The
non-parametric estimation concerns the sojourn time
distributions, where no assumptions are done on the shape of
distributions. Moreover, the estimation can be done on the
basis of one or several sample paths, with or without censoring
at the beginning or/and at the end of the sample paths.
Reliability indicators such as reliability, maintainability,
availability, BMP-failure rate, RG-failure rate, mean time to
failure and mean time to repair are available as well. The
implemented methods are described in Barbu, V.S., Limnios, N.
(2008) <doi:10.1007/978-0-387-73173-5>, Barbu, V.S., Limnios,
N. (2008) <doi:10.1080/10485250701261913> and Trevezas, S.,
Limnios, N. (2011) <doi:10.1080/10485252.2011.555543>.
Estimation and simulation of discrete-time k-th order Markov
chains are also considered.
This package performs parametric and non-parametric estimation
and simulation for multi-state discrete-time semi-Markov processes. For the
parametric estimation, several discrete distributions are considered for the
sojourn times: Uniform, Geometric, Poisson, Discrete Weibull and Negative
Binomial. The non-parametric estimation concerns the sojourn time
distributions, where no assumptions are done on the shape of distributions.
Moreover, the estimation can be done on the basis of one or several sample
paths, with or without censoring at the beginning or/and at the end of the
sample paths. Estimation and simulation of discrete-time k-th order Markov
chains are also considered.
Semi-Markov models are specified by using the functions smmparametric()
and smmnonparametric() for parametric and non-parametric specifications
respectively. These functions return objects of S3 class (smm,
smmparametric) and (smm, smmnonparametric) respectively (smm class
inherits from S3 classes smmparametric or smmnonparametric). Thus, smm
is like a wrapper class for semi-Markov model specifications.
Based on a model specification (an object of class smm), it is possible to:
simulate one or several sequences with the method
simulate.smm();
plot conditional sojourn time distributions (method
plot.smm());
compute log-likelihood, AIC and BIC criteria (methods
loglik(), aic(), bic());
Estimations of parametric and non-parametric semi-Markov models can be done
by using the function fitsmm(). This function returns an
object of S3 class smmfit. The class smmfit inherits from classes
(smm, smmparametric) or (smm, smmnonparametric).
Based on a fitted/estimated semi-Markov model (an object of class smmfit),
it is possible to:
simulate one or several sequences with the method
simulate.smmfit();
plot estimated conditional sojourn time distributions
(method plot.smmfit());
compute log-likelihood, AIC and BIC criteria (methods
loglik(), aic(), bic());
compute estimated reliability, maintainability,
availability, failure rates and their confidence intervals
(methods reliability(), maintainability(), availability(),
failureRate()).
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
R.E. Barlow, A.W. Marshall, and F. Prochan. (1963). Properties of probability
distributions with monotone hazard rate. Ann. Math. Statist., 34, 375-389.
T. Nakagawa and S. Osaki. (1975). The discrete Weibull distribution.
IEEE Trans. Reliabil., R-24, 300-301.
D. Roy and R. Gupta. (1992). Classification of discrete lives.
Microelectron. Reliabil., 32 (10), 1459-1473.
I. Votsi & A. Brouste (2019) Confidence interval for the mean time to
failure in semi-Markov models: an application to wind energy production,
Journal of Applied Statistics, 46:10, 1756-1773.
The pointwise (or instantaneous) availability of a system
System at time k∈N is the probability that the system
is operational at time k (independently of the fact that the system
has failed or not in [0,k)).
A positive integer giving the time at which the availability
should be computed.
upstates
Vector giving the subset of operational states U.
level
Confidence level of the asymptotic confidence interval. Helpful
for an object x of class smmfit.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic variance.
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
Denote by U={1,…,s1} the subset of operational states of
the system (the up states) and by D={s1+1,…,s} the
subset of failure states (the down states), with 0<s1<s
(obviously, E=U∪D and U∩D=∅,
U=∅,D=∅). One can think of the states
of U as different operating modes or performance levels of the
system, whereas the states of D can be seen as failures of the
systems with different modes.
We are interested in investigating the availability of a discrete-time
semi-Markov system System. Consequently, we suppose that the
evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The state of the system is given
at each instant k∈N by Zk: the event {Zk=i},
for a certain i∈U, means that the system System is in
operating mode i at time k, whereas {Zk=j}, for a
certain j∈D, means that the system is not operational at time
k due to the mode of failure j or that the system is under the
repairing mode j.
The pointwise (or instantaneous) availability of a system System
at time k∈N is the probability that the system is operational
at time k (independently of the fact that the system has failed or
not in [0,k)).
Thus, the pointwise availability of a semi-Markov system at time
k∈N is
A(k)=P(Zk∈U)=∑i∈EαiAi(k),
where we have denoted by Ai(k) the conditional availability of the
system at time k∈N, given that it starts in state i∈E,
Ai(k)=P(Zk∈U∣Z0=i).
Value
A matrix with k+1 rows, and with columns giving values of
the availability, variances, lower and upper asymptotic confidence limits
(if x is an object of class smmfit).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
Function to compute the BMP-failure rate or the RG-failure rate.
Consider a system System starting to work at time
k=0. The BMP-failure rate at time k∈N is the conditional
probability that the failure of the system occurs at time k, given
that the system has worked until time k−1.
The RG-failure rate is a discrete-time adapted failure rate, proposed by
D. Roy and R. Gupta. Classification of discrete lives. Microelectronics
Reliability, 32(10):1459–1473, 1992. We call it the RG-failure rate and
denote it by r(k),k∈N.
A positive integer giving the period [0,k] on which the
BMP-failure rate should be computed.
upstates
Vector giving the subset of operational states U.
failure.rate
Type of failure rate to compute. If failure.rate = "BMP"
(default value), then BMP-failure-rate is computed. If failure.rate = "RG",
the RG-failure rate is computed.
level
Confidence level of the asymptotic confidence interval. Helpful
for an object x of class smmfit.
epsilon
Value of the reliability above which the latter is supposed
to be 0 because of computation errors (see Details).
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic variance.
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
Denote by U={1,…,s1} the subset of operational states of
the system (the up states) and by D={s1+1,…,s} the
subset of failure states (the down states), with 0<s1<s
(obviously, E=U∪D and U∩D=∅,
U=∅,D=∅). One can think of the states
of U as different operating modes or performance levels of the
system, whereas the states of D can be seen as failures of the
systems with different modes.
We are interested in investigating the failure rate of a discrete-time
semi-Markov system System. Consequently, we suppose that the
evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The system starts to work at
instant 0 and the state of the system is given at each instant
k∈N by Zk: the event {Zk=i}, for a certain
i∈U, means that the system System is in operating mode
i at time k, whereas {Zk=j}, for a certain
j∈D, means that the system is not operational at time k
due to the mode of failure j or that the system is under the
repairing mode j.
The BMP-failure rate at time k∈N is the conditional probability
that the failure of the system occurs at time k, given that the
system has worked until time k−1.
Let TD denote the first passage time in subset D, called
the lifetime of the system, i.e.,
TD:=inf{n∈N;Zn∈D}andinf∅:=∞.
For a discrete-time semi-Markov system, the failure rate at time
k≥1 has the expression:
λ(k):=P(TD=k∣TD≥k)
We can rewrite it as follows :
λ(k)=1−R(k−1)R(k),if R(k−1)=0;λ(k)=0,otherwise
The failure rate at time k=0 is defined by λ(0):=1−R(0),
with R being the reliability function (see reliability function).
The calculation of the reliability R involves the computation of
many convolutions. It implies that the computation error, may be higher
(in value) than the "true" reliability itself for reliability close to 0.
In order to avoid inconsistent values of the BMP-failure rate, we use the
following formula:
λ(k)=1−R(k−1)R(k),if R(k−1)≥ϵ;λ(k)=0,otherwise
with ϵ, the threshold, the parameter epsilon in the
function failureRate.
Expressing the RG-failure rate r(k) in terms of the reliability
R we obtain that the RG-failure rate function for a discrete-time
system is given by:
r(k)=−lnR(k−1)R(k),if k≥1;r(k)=−lnR(0),if k=0
for R(k)=0. If R(k)=0, we set r(k):=0.
Note that the RG-failure rate is related to the BMP-failure rate by:
r(k)=−ln(1−λ(k)),k∈N
Value
A matrix with k+1 rows, and with columns giving values of
the BMP-failure rate or RG-failure rate, variances, lower and upper
asymptotic confidence limits (if x is an object of class smmfit).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
R.E. Barlow, A.W. Marshall, and F. Prochan. (1963). Properties of probability
distributions with monotone hazard rate. Ann. Math. Statist., 34, 375-389.
D. Roy and R. Gupta. (1992). Classification of discrete lives.
Microelectron. Reliabil., 32 (10), 1459-1473.
Maximum Likelihood Estimation of the transition matrix and
initial distribution of a k-th order Markov chain starting from one or
several sequences.
Usage
fitmm(sequences, states, k = 1, init.estim = "mle")
fitmm(sequences, states, k =1, init.estim ="mle")
Arguments
sequences
A list of vectors representing the sequences.
states
Vector of state space (of length s).
k
Order of the Markov chain.
init.estim
Optional. init.estim gives the method used to estimate
the initial distribution. The following methods are proposed:
init.estim = "mle": the classical Maximum Likelihood Estimator
is used to estimate the initial distribution init;
init.estim = "stationary": the initial distribution is replaced by
the stationary distribution of the Markov chain (if the order of the
Markov chain is more than one, the transition matrix is converted
into a square block matrix in order to estimate the stationary
distribution);
init.estim = "freq": the initial distribution is estimated by
taking the frequencies of the words of length k for all sequences;
init.estim = "prod": init is estimated by using the product
of the frequencies of each letter (for all the sequences) in the word
of length k;
init.estim = "unif": the initial probability of each state is
equal to 1/s, with s the number of states.
Details
Let X1,X2,...,Xn be a trajectory of length n of
the Markov chain X=(Xm)m∈N of order k=1 with
transition matrix ptrans(i,j)=P(Xm+1=j∣Xm=i). The
maximum likelihood estimation of the transition matrix is
ptrans(i,j)=Ni.Nij, where Nij
is the number of transitions from state i to state j and
Ni. is the number of transition from state i to any state.
For k>1 we have similar expressions.
The initial distribution of a k-th order Markov chain is defined as
μi=P(X1=i). Five methods are proposed for the estimation
of the latter :
Maximum Likelihood Estimator:
The Maximum Likelihood Estimator
for the initial distribution. The formula is:
μi=LNstarti, where Nstarti is
the number of occurences of the word i (of length k) at
the beginning of each sequence and L is the number of sequences.
This estimator is reliable when the number of sequences L is high.
Stationary distribution:
The stationary distribution is used as
a surrogate of the initial distribution. If the order of the Markov
chain is more than one, the transition matrix is converted into a
square block matrix in order to estimate the stationary distribution.
This method may take time if the order of the Markov chain is high
(more than three (3)).
Frequencies of each word:
The initial distribution is estimated
by taking the frequencies of the words of length k for all sequences.
The formula is μi=NNi, where Ni
is the number of occurences of the word i (of length k) in
the sequences and N is the sum of the lengths of the sequences.
Product of the frequencies of each state:
The initial distribution
is estimated by using the product of the frequencies of each state
(for all the sequences) in the word of length k.
Uniform distribution:
The initial probability of each state is
equal to 1/s, with s, the number of states.
Value
An object of class S3 mmfit (inheriting from the S3 class mm).
The S3 class mmfit contains:
states <- c("a", "c", "g", "t")
s <- length(states)
k <- 2
init <- rep.int(1 / s ^ k, s ^ k)
p <- matrix(0.25, nrow = s ^ k, ncol = s)
# Specify a Markov model of order 2
markov <- mm(states = states, init = init, ptrans = p, k = k)
seqs <- simulate(object = markov, nsim = c(1000, 10000, 2000), seed = 150)
est <- fitmm(sequences = seqs, states = states, k = 2)
states <- c("a","c","g","t")
s <- length(states)
k <-2
init <- rep.int(1/ s ^ k, s ^ k)
p <- matrix(0.25, nrow = s ^ k, ncol = s)# Specify a Markov model of order 2
markov <- mm(states = states, init = init, ptrans = p, k = k)
seqs <- simulate(object = markov, nsim = c(1000,10000,2000), seed =150)
est <- fitmm(sequences = seqs, states = states, k =2)
Maximum Likelihood Estimation of a semi-Markov chain starting
from one or several sequences. This estimation can be parametric or
non-parametric, non-censored, censored at the beginning and/or at the end
of the sequence, with one or several trajectories. Several parametric
distributions are considered (Uniform, Geometric, Poisson, Discrete
Weibull and Negative Binomial).
Type of sojourn time (for more explanations, see Details).
distr
By default "nonparametric" for the non-parametric estimation
case.
If the parametric estimation case is desired, distr should be:
A matrix of distributions of dimension (s,s) if type.sojourn = "fij";
A vector of distributions of length s if type.sojourn = "fi" or "fj";
A distribution if type.sojourn = "f".
The distributions to be used in distr must be one of "unif", "geom",
"pois", "dweibull", "nbinom".
init.estim
Optional. init.estim gives the method used to estimate
the initial distribution. The following methods are proposed:
init.estim = "mle": the classical Maximum Likelihood Estimator
is used to estimate the initial distribution init;
init.estim = "limit": the initial distribution is replaced by
the limit (stationary) distribution of the semi-Markov chain;
init.estim = "freq": the initial distribution is replaced by
the frequencies of each state in the sequences;
init.estim = "unif": the initial probability of each state is
equal to 1/s, with s the number of states.
cens.beg
Optional. A logical value indicating whether or not
sequences are censored at the beginning.
cens.end
Optional. A logical value indicating whether or not
sequences are censored at the end.
Details
This function estimates a semi-Markov model in parametric or
non-parametric case, taking into account the type of sojourn time and the
censoring described in references. The non-parametric estimation concerns
sojourn time distributions defined by the user. For the parametric
estimation, several discrete distributions are considered (see below).
The difference between the Markov model and the semi-Markov model concerns
the modeling of the sojourn time. With a Markov chain, the sojourn time
distribution is modeled by a Geometric distribution (in discrete time).
With a semi-Markov chain, the sojourn time can be any arbitrary distribution.
In this package, the available distribution for a semi-Markov model are :
Uniform: f(x)=n1 for 1≤x≤n. n is the parameter;
Geometric: f(x)=θ(1−θ)x−1 for x=1,2,…,n, 0<θ<1, θ is the probability of success.
θ is the parameter;
Poisson: f(x)=x!λxexp(−λ) for x=0,1,2,…,n, with λ>0.
λ is the parameter;
Discrete Weibull of type 1: f(x)=q(x−1)β−qxβ, x=1,2,…,n,
with 0<q<1, the first parameter and β>0 the second parameter.
(q,β) are the parameters;
Negative binomial: f(x)=Γ(α)x!Γ(x+α)pα(1−p)x,
for x=0,1,2,…,n, Γ is the Gamma function,
α is the parameter of overdispersion and p is the
probability of success, 0<p<1. (α,p) are the parameters;
Non-parametric.
We define :
the semi-Markov kernel qij(k)=P(Jm+1=j,Tm+1−Tm=k∣Jm=i);
the transition matrix (ptrans(i,j))i,j∈states of the
embedded Markov chain J=(Jm)m, ptrans(i,j)=P(Jm+1=j∣Jm=i);
the initial distribution μi=P(J1=i)=P(Z1=i), i∈1,2,…,s;
the conditional sojourn time distributions (fij(k))i,j∈states,k∈N,fij(k)=P(Tm+1−Tm=k∣Jm=i,Jm+1=j),
f is specified by the argument param in the parametric case
and by distr in the non-parametric case.
The maximum likelihood estimation of the transition matrix of the embedded
Markov chain is ptrans(i,j)=Ni.Nij.
Five methods are proposed for the estimation of the initial distribution :
Maximum Likelihood Estimator:
The Maximum Likelihood Estimator
for the initial distribution. The formula is:
μi=LNstarti, where Nstarti is
the number of occurences of the word i (of length k) at
the beginning of each sequence and L is the number of sequences.
This estimator is reliable when the number of sequences L is high.
Limit (stationary) distribution:
The limit (stationary)
distribution of the semi-Markov chain is used as a surrogate of the
initial distribution.
Frequencies of each state:
The initial distribution is replaced
by taking the frequencies of each state in the sequences.
Uniform distribution:
The initial probability of each state is
equal to 1/s, with s, the number of states.
Note that qij(k)=ptrans(i,j)fij(k) in the general case
(depending on the present state and on the next state). For particular cases,
we replace fij(k) by fi.(k) (depending on the present
state i), f.j(k) (depending on the next state j) and
f..(k) (depending neither on the present state nor on the next
state).
In this package we can choose different types of sojourn time.
Four options are available for the sojourn times:
depending on the present state and on the next state (fij);
depending only on the present state (fi);
depending only on the next state (fj);
depending neither on the current, nor on the next state (f).
If type.sojourn = "fij", distr is a matrix of dimension (s,s)
(e.g., if the 1st element of the 2nd column is "pois", that is to say we
go from the first state to the second state following a Poisson distribution).
If type.sojourn = "fi" or "fj", distr must be a vector (e.g., if the
first element of vector is "geom", that is to say we go from (or to) the
first state to (or from) any state according to a Geometric distribution).
If type.sojourn = "f", distr must be one of "unif", "geom", "pois",
"dweibull", "nbinom" (e.g., if distr is equal to "nbinom", that is
to say that the sojourn time when going from one state to another state
follows a Negative Binomial distribution).
For the non-parametric case, distr is equal to "nonparametric" whatever
type of sojourn time given.
If the sequence is censored at the beginning and/or at the end, cens.beg
must be equal to TRUE and/or cens.end must be equal to TRUE.
All the sequences must be censored in the same way.
Value
Returns an object of S3 class smmfit (inheriting from the S3
class smm and smmnonparametric class if distr = "nonparametric"
or smmparametric otherwise). The S3 class smmfit contains:
An attribute M which is an integer giving the total length of
the set of sequences sequences (sum of all the lengths of the list
sequences);
An attribute loglik which is a numeric value giving the value
of the log-likelihood of the specified semi-Markov model based on the
sequences;
An attribute sequences which is equal to the parameter
sequences of the function fitsmm (i.e. a list of sequences used to
estimate the Markov model).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
getKernel(x, k, var = FALSE, klim = 10000)
getKernel(x, k, var =FALSE, klim =10000)
Arguments
x
An object of S3 class smmfit or smm.
k
A positive integer giving the time horizon.
var
Logical. If TRUE the asymptotic variance is computed.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic variance.
Value
An array giving the value of qij(k) at each time between 0
and k if var = FALSE. If var = TRUE, a list containing the
following components:
x: an array giving the value of qij(k) at each time
between 0 and k;
sigma2: an array giving the asymptotic variance of the estimator
σq2(i,j,k).
An object for which there exists a loglik attribute if
sequences = NULL. Otherwise, the log-likelihood will be computed using
the model x and the sequences sequences.
sequences
Optional. A list of vectors representing the sequences for
which the log-likelihood will be computed based on x.
For a reparable system System for which the failure
occurs at time k=0, its maintainability at time k∈N is
the probability that the system is repaired up to time k, given that
it has failed at time k=0.
A positive integer giving the period [0,k] on which the
maintainability should be computed.
upstates
Vector giving the subset of operational states U.
level
Confidence level of the asymptotic confidence interval. Helpful
for an object x of class smmfit.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic variance.
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
Denote by U={1,…,s1} the subset of operational states of
the system (the up states) and by D={s1+1,…,s} the
subset of failure states (the down states), with 0<s1<s
(obviously, E=U∪D and U∩D=∅,
U=∅,D=∅). One can think of the states
of U as different operating modes or performance levels of the
system, whereas the states of D can be seen as failures of the
systems with different modes.
We are interested in investigating the maintainability of a discrete-time
semi-Markov system System. Consequently, we suppose that the
evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The system starts to fail at
instant 0 and the state of the system is given at each instant
k∈N by Zk: the event {Zk=i}, for a certain
i∈U, means that the system System is in operating mode
i at time k, whereas {Zk=j}, for a certain
j∈D, means that the system is not operational at time k
due to the mode of failure j or that the system is under the
repairing mode j.
Thus, we take (αi:=P(Z0=i))i∈U=0 and we
denote by TU the first hitting time of subset U, called the
duration of repair or repair time, that is,
TU:=inf{n∈N;Zn∈U}andinf∅:=∞.
The maintainability at time k∈N of a discrete-time semi-Markov
system is
M(k)=P(TU≤k)=1−P(TU>k)=1−P(Zn∈D,n=0,…,k).
Value
A matrix with k+1 rows, and with columns giving values of
the maintainability, variances, lower and upper asymptotic confidence limits
(if x is an object of class smmfit).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function).
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
We are interested in investigating the mean recurrence times of a
discrete-time semi-Markov system System. Consequently, we suppose
that the evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The state of the system is given
at each instant k∈N by Zk: the event {Zk=i}.
Let T=(Tn)n∈N denote the successive time points when
state changes in (Zn)n∈N occur and let also
J=(Jn)n∈N denote the successively visited states at
these time points.
The mean recurrence of an arbitrary state j∈E is given by:
μjj=ν(j)∑i∈Eν(i)mi
where (ν(1),…,ν(s)) is the stationary distribution of the
embedded Markov chain (Jn)n∈N and mi is the mean
sojourn time in state i∈E (see meanSojournTimes function for
the computation).
Value
A vector giving the mean recurrence time
(μi)i∈[1,…,s].
The mean sojourn time is the mean time spent in each state.
Usage
meanSojournTimes(x, states = x$states, klim = 10000)
meanSojournTimes(x, states = x$states, klim =10000)
Arguments
x
An object of S3 class smmfit or smm.
states
Vector giving the states for which the mean sojourn time
should be computed. states is a subset of E.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function).
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
We are interested in investigating the mean sojourn times of a
discrete-time semi-Markov system System. Consequently, we suppose
that the evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The state of the system is given
at each instant k∈N by Zk: the event {Zk=i}.
Let T=(Tn)n∈N denote the successive time points when
state changes in (Zn)n∈N occur and let also
J=(Jn)n∈N denote the successively visited states at
these time points.
The mean sojourn times vector is defined as follows:
Confidence level of the asymptotic confidence interval. Helpful
for an object x of class smmfit.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic variance.
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
Denote by U={1,…,s1} the subset of operational states of
the system (the up states) and by D={s1+1,…,s} the
subset of failure states (the down states), with 0<s1<s
(obviously, E=U∪D and U∩D=∅,
U=∅,D=∅). One can think of the states
of U as different operating modes or performance levels of the
system, whereas the states of D can be seen as failures of the
systems with different modes.
We are interested in investigating the mean time to failure of a
discrete-time semi-Markov system System. Consequently, we suppose
that the evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The system starts to work at
instant 0 and the state of the system is given at each instant
k∈N by Zk: the event {Zk=i}, for a certain
i∈U, means that the system System is in operating mode
i at time k, whereas {Zk=j}, for a certain
j∈D, means that the system is not operational at time k
due to the mode of failure j or that the system is under the
repairing mode j.
Let TD denote the first passage time in subset D, called
the lifetime of the system, i.e.,
TD:=inf{n∈N;Zn∈D}andinf∅:=∞.
The mean time to failure (MTTF) is defined as the mean lifetime, i.e., the
expectation of the hitting time to down set D,
MTTF=E[TD]
Value
A matrix with card(U)=s1 rows, and with columns
giving values of the mean time to failure for each state i∈U,
variances, lower and upper asymptotic confidence limits (if x is an
object of class smmfit).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
I. Votsi & A. Brouste (2019) Confidence interval for the mean time to
failure in semi-Markov models: an application to wind energy production,
Journal of Applied Statistics, 46:10, 1756-1773
Confidence level of the asymptotic confidence interval. Helpful
for an object x of class smmfit.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic variance.
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
Denote by U={1,…,s1} the subset of operational states of
the system (the up states) and by D={s1+1,…,s} the
subset of failure states (the down states), with 0<s1<s
(obviously, E=U∪D and U∩D=∅,
U=∅,D=∅). One can think of the states
of U as different operating modes or performance levels of the
system, whereas the states of D can be seen as failures of the
systems with different modes.
We are interested in investigating the mean time to repair of a
discrete-time semi-Markov system System. Consequently, we suppose
that the evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The system has just failed at
instant 0 and the state of the system is given at each instant
k∈N by Zk: the event {Zk=i}, for a certain
i∈U, means that the system System is in operating mode
i at time k, whereas {Zk=j}, for a certain
j∈D, means that the system is not operational at time k
due to the mode of failure j or that the system is under the
repairing mode j.
Let TU denote the first passage time in subset U, called the
duration of repair or repair time, i.e.,
TU:=inf{n∈N;Zn∈U}andinf∅:=∞.
The mean time to repair (MTTR) is defined as the mean of the repair
duration, i.e., the expectation of the hitting time to up set U,
MTTR=E[TU]
Value
A matrix with card(U)=s1 rows, and with columns
giving values of the mean time to repair for each state i∈U,
variances, lower and upper asymptotic confidence limits (if x is an
object of class smmfit).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
I. Votsi & A. Brouste (2019) Confidence interval for the mean time to
failure in semi-Markov models: an application to wind energy production,
Journal of Applied Statistics, 46:10, 1756-1773
An element of the state space vector x$states giving the current
state in the following cases: type.sojourn = "fij" or type.sojourn = "fi",
otherwise, i is ignored.
j
An element of the state space vector x$states giving the next
state in the following cases: type.sojourn = "fij" or type.sojourn = "fj",
otherwise, j is ignored.
klim
An integer giving the limit value for which the density will be
plotted. If klim is NULL, then quantile or order 0.95 is used.
An element of the state space vector x$states giving the current
state in the following cases: type.sojourn = "fij" or type.sojourn = "fi",
otherwise, i is ignored.
j
An element of the state space vector x$states giving the next
state in the following cases: type.sojourn = "fij" or type.sojourn = "fj",
otherwise, j is ignored.
klim
An integer giving the limit value for which the density will be
plotted. If klim is NULL, then quantile or order 0.95 is used.
...
Arguments passed to plot.
Value
None.
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
Examples
states <- c("a", "c", "g", "t")
states <- c("a","c","g","t")
Consider a system System starting to function at time
k=0. The reliability or the survival function of System
at time k∈N is the probability that the system has functioned
without failure in the period [0,k].
A positive integer giving the period [0,k] on which the
reliability should be computed.
upstates
Vector giving the subset of operational states U.
level
Confidence level of the asymptotic confidence interval. Helpful
for an object x of class smmfit.
klim
Optional. The time horizon used to approximate the series in the
computation of the mean sojourn times vector m (cf.
meanSojournTimes function) for the asymptotic
variance.
Details
Consider a system (or a component) System whose possible
states during its evolution in time are E={1,…,s}.
Denote by U={1,…,s1} the subset of operational states of
the system (the up states) and by D={s1+1,…,s} the
subset of failure states (the down states), with 0<s1<s
(obviously, E=U∪D and U∩D=∅,
U=∅,D=∅). One can think of the states
of U as different operating modes or performance levels of the
system, whereas the states of D can be seen as failures of the
systems with different modes.
We are interested in investigating the reliability of a discrete-time
semi-Markov system System. Consequently, we suppose that the
evolution in time of the system is governed by an E-state space
semi-Markov chain (Zk)k∈N. The system starts to work at
instant 0 and the state of the system is given at each instant
k∈N by Zk: the event {Zk=i}, for a certain
i∈U, means that the system System is in operating mode
i at time k, whereas {Zk=j}, for a certain
j∈D, means that the system is not operational at time k
due to the mode of failure j or that the system is under the
repairing mode j.
Let TD denote the first passage time in subset D, called
the lifetime of the system, i.e.,
TD:=inf{n∈N;Zn∈D}andinf∅:=∞.
The reliability or the survival function at time k∈N of a
discrete-time semi-Markov system is:
A matrix with k+1 rows, and with columns giving values of
the reliability, variances, lower and upper asymptotic confidence limits
(if x is an object of class smmfit).
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
An unsigned int that is the seed one wishes to use.
Value
A set RNG scope.
Examples
set.seed(10)
x <- rnorm(5, 0, 1)
setSeed(10)
y <- rnorm(5, 0, 1)
all.equal(x, y, check.attributes = FALSE)
set.seed(10)
x <- rnorm(5,0,1)
setSeed(10)
y <- rnorm(5,0,1)
all.equal(x, y, check.attributes =FALSE)
An integer or vector of integers (for multiple sequences)
specifying the length of the sequence(s).
seed
Optional. seed for the random number generator.
If no seed is given, then seed is set by using the command
set.seed(round(as.numeric(Sys.time())).
...
further arguments passed to or from other methods.
Details
If nsim is a single integer then a chain of that length is
produced. If nsim is a vector of integers, then length(nsim)
sequences are generated with respective lengths.
## S3 method for class 'mmfit'
simulate(object, nsim = 1, seed = NULL, ...)
## S3 method for class 'mmfit'
simulate(object, nsim =1, seed =NULL,...)
Arguments
object
An object of class mmfit.
nsim
An integer or vector of integers (for multiple sequences)
specifying the length of the sequence(s).
seed
Optional. seed for the random number generator.
If no seed is given, then seed is set by using the command
set.seed(round(as.numeric(Sys.time())).
...
further arguments passed to or from other methods.
Details
If nsim is a single integer then a chain of that length is
produced. If nsim is a vector of integers, then length(nsim)
sequences are generated with respective lengths.
An integer or vector of integers (for multiple sequences)
specifying the length of the sequence(s).
seed
Optional. seed for the random number generator.
If no seed is given, then seed is set by using the command
set.seed(round(as.numeric(Sys.time())).
...
further arguments passed to or from other methods.
Details
If nsim is a single integer then a chain of that length is
produced. If nsim is a vector of integers, then length(nsim)
sequences are generated with respective lengths.
Value
A list of vectors representing the sequences.
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
An integer or vector of integers (for multiple sequences)
specifying the length of the sequence(s).
seed
seed for the random number generator.
...
further arguments passed to or from other methods.
Details
If nsim is a single integer then a chain of that length is
produced. If nsim is a vector of integers, then length(nsim)
sequences are generated with respective lengths.
Value
A list of vectors representing the sequences.
References
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
Matrix of transition probabilities of the embedded Markov
chain J=(Jm)m of dimension (s,s).
type.sojourn
Type of sojourn time (for more explanations, see Details).
distr
Array of dimension (s,s,kmax) if type.sojourn = "fij";
Matrix of dimension (s,kmax) if type.sojourn = "fi" or "fj";
Vector of length kmax if the type.sojourn = "f".
kmax is the maximum length of the sojourn times.
cens.beg
Optional. A logical value indicating whether or not
sequences are censored at the beginning.
cens.end
Optional. A logical value indicating whether or not
sequences are censored at the end.
Details
This function creates a semi-Markov model object in the
non-parametric case, taking into account the type of sojourn time and the
censoring described in references. The non-parametric specification concerns
sojourn time distributions defined by the user.
The difference between the Markov model and the semi-Markov model concerns
the modeling of the sojourn time. With a Markov chain, the sojourn time
distribution is modeled by a Geometric distribution (in discrete time).
With a semi-Markov chain, the sojourn time can be any arbitrary distribution.
We define :
the semi-Markov kernel qij(k)=P(Jm+1=j,Tm+1−Tm=k∣Jm=i);
the transition matrix (ptrans(i,j))i,j∈states of the embedded Markov chain J=(Jm)m, ptrans(i,j)=P(Jm+1=j∣Jm=i);
the initial distribution μi=P(J1=i)=P(Z1=i), i∈1,2,…,s;
the conditional sojourn time distributions (fij(k))i,j∈states,k∈N,fij(k)=P(Tm+1−Tm=k∣Jm=i,Jm+1=j),
f is specified by the argument distr in the non-parametric case.
In this package we can choose different types of sojourn time.
Four options are available for the sojourn times:
depending on the present state and on the next state (fij);
depending only on the present state (fi);
depending only on the next state (fj);
depending neither on the current, nor on the next state (f).
Let define kmax the maximum length of the sojourn times.
If type.sojourn = "fij", distr is an array of dimension (s,s,kmax).
If type.sojourn = "fi" or "fj", distr must be a matrix of dimension (s,kmax).
If type.sojourn = "f", distr must be a vector of length kmax.
If the sequence is censored at the beginning and/or at the end, cens.beg
must be equal to TRUE and/or cens.end must be equal to TRUE.
All the sequences must be censored in the same way.
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.
Matrix of transition probabilities of the embedded Markov
chain J=(Jm)m of dimension (s,s).
type.sojourn
Type of sojourn time (for more explanations, see Details).
distr
Matrix of distributions of dimension (s,s) if type.sojourn = "fij";
Vector of distributions of length s if type.sojourn = "fi" or "fj;
A distribution if type.sojourn = "f".
where the distributions to be used can be one of unif, geom, pois, dweibull or nbinom.
param
Parameters of sojourn time distributions:
Array of distribution parameters of dimension (s,s,2)
(2 corresponds to the maximal number of distribution parameters) if type.sojourn = "fij";
Matrix of distribution parameters of dimension (s,2) if type.sojourn = "fi" or "fj";
Vector of distribution parameters of length 2 if type.sojourn = "f".
When parameters/values are not necessary (e.g. the Poisson distribution has
only one parameter that is λ, leave the value NA for the
second parameter in the argument param).
cens.beg
Optional. A logical value indicating whether or not
sequences are censored at the beginning.
cens.end
Optional. A logical value indicating whether or not
sequences are censored at the end.
Details
This function creates a semi-Markov model object in the parametric
case, taking into account the type of sojourn time and the censoring
described in references. For the parametric specification, several discrete
distributions are considered (see below).
The difference between the Markov model and the semi-Markov model concerns
the modeling of the sojourn time. With a Markov chain, the sojourn time
distribution is modeled by a Geometric distribution (in discrete time).
With a semi-Markov chain, the sojourn time can be any arbitrary distribution.
In this package, the available distribution for a semi-Markov model are :
Uniform: f(x)=1/n for a≤x≤b, with n=b−a+1;
Geometric: f(x)=θ(1−θ)x for x=0,1,2,…,n, 0<θ<1, with n>0 and θ is the probability of success;
Poisson: f(x)=(λxexp(−λ))/x! for x=0,1,2,…,n, with n>0 and λ>0;
Discrete Weibull of type 1: f(x)=q(x−1)β−qxβ,x=1,2,3,…,n, with n>0, q is the first parameter and β is the second parameter;
Negative binomial: f(x)=Γ(α)x!Γ(x+α)pα(1−p)x,
for x=0,1,2,…,n, Γ is the Gamma function,
α is the parameter of overdispersion and p is the
probability of success, 0<p<1;
Non-parametric.
We define :
the semi-Markov kernel qij(k)=P(Jm+1=j,Tm+1−Tm=k∣Jm=i);
the transition matrix (ptrans(i,j))i,j∈states of the embedded Markov chain J=(Jm)m, ptrans(i,j)=P(Jm+1=j∣Jm=i);
the initial distribution μi=P(J1=i)=P(Z1=i), i∈1,2,…,s;
the conditional sojourn time distributions (fij(k))i,j∈states,k∈N,fij(k)=P(Tm+1−Tm=k∣Jm=i,Jm+1=j),
f is specified by the argument param in the parametric case.
In this package we can choose different types of sojourn time.
Four options are available for the sojourn times:
depending on the present state and on the next state (fij);
depending only on the present state (fi);
depending only on the next state (fj);
depending neither on the current, nor on the next state (f).
If type.sojourn = "fij", distr is a matrix of dimension (s,s)
(e.g., if the row 1 of the 2nd column is "pois", that is to say we go from
the first state to the second state following a Poisson distribution).
If type.sojourn = "fi" or "fj", distr must be a vector (e.g., if the
first element of vector is "geom", that is to say we go from the first
state to any state according to a Geometric distribution).
If type.sojourn = "f", distr must be one of "unif", "geom", "pois",
"dweibull", "nbinom" (e.g., if distr is equal to "nbinom", that is
to say that the sojourn times when going from any state to any state follows
a Negative Binomial distribution).
For the non-parametric case, distr is equal to "nonparametric" whatever
type of sojourn time given.
If the sequence is censored at the beginning and/or at the end, cens.beg
must be equal to TRUE and/or cens.end must be equal to TRUE.
All the sequences must be censored in the same way.
V. S. Barbu, N. Limnios. (2008). Semi-Markov Chains and Hidden Semi-Markov
Models Toward Applications - Their Use in Reliability and DNA Analysis.
New York: Lecture Notes in Statistics, vol. 191, Springer.