phfit.group {mapfit} | R Documentation |
PH fitting with grouped data
Description
Estimates PH parameters from grouped data.
Usage
phfit.group(ph, counts, breaks, intervals, instants, ...)
Arguments
ph |
An object of R6 class. The estimation algorithm is selected depending on this class. |
counts |
A vector of the number of points in intervals. |
breaks |
A vector for a sequence of points of boundaries of intervals.
This is equivalent to |
intervals |
A vector of time lengths for intervals.
This is equivalent to |
instants |
A vector of integers to indicate whether sample is drawn at
the last of interval. If instant is 1, a sample is drawn at the last of interval.
If instant is 0, no sample is drawn at the last of interval.
By using instant, point data can be expressed by grouped data.
If instant is missing, it is given by |
... |
Further options for EM steps. |
Value
Returns a list with components, which is an object of S3 class phfit.result
;
model |
an object for estimated PH class. |
llf |
a value of the maximum log-likelihood. |
df |
a value of degrees of freedom of the model. |
aic |
a value of Akaike information criterion. |
iter |
the number of iterations. |
convergence |
a logical value for the convergence of estimation algorithm. |
ctime |
computation time (user time). |
data |
an object for data class |
aerror |
a value of absolute error for llf at the last step of algorithm. |
rerror |
a value of relative error for llf at the last step of algorithm. |
options |
a list of options used in the fitting. |
call |
the matched call. |
Note
In this method, we can handle truncated data using NA
and Inf
;
phfit.group(ph=cf1(5), counts=c(countsdata, NA), breaks=c(breakdata, +Inf))
NA
means missing of count data at the corresponding interval, and Inf
is allowed to put
the last of breaks or intervals which represents a special interval [the last break point,infinity).
Examples
## make sample
wsample <- rweibull(n=100, shape=2, scale=1)
wgroup <- hist(x=wsample, breaks="fd", plot=FALSE)
## PH fitting for general PH
(result1 <- phfit.group(ph=ph(2), counts=wgroup$counts, breaks=wgroup$breaks))
## PH fitting for CF1
(result2 <- phfit.group(ph=cf1(2), counts=wgroup$counts, breaks=wgroup$breaks))
## PH fitting for hyper Erlang
(result3 <- phfit.group(ph=herlang(3), counts=wgroup$counts, breaks=wgroup$breaks))
## mean
ph.mean(result1$model)
ph.mean(result2$model)
ph.mean(result3$model)
## variance
ph.var(result1$model)
ph.var(result2$model)
ph.var(result3$model)
## up to 5 moments
ph.moment(5, result1$model)
ph.moment(5, result2$model)
ph.moment(5, result3$model)