Summary: I experimented the sample size. For 50 cells, the Gompertz model may be the better fit 4 out of 5 times. For 100 cells, Gompertz is better than Weibull maybe 9 out of 10 times. For 500 cells, Gompertz is always bettern than the Weibull model.
Conclusion: For most yeast life span assay, it is not always easy to tell whether Gompertz or Weibull is a better fit.
Comments: The actual results probably also depend on R and G, which determine the variance.
code: 20131221.gompertz.simulation.R
# generate gompertz random numbers
# fit with flexsurv Gompertz and weibull models
#inverse of gompertz CDF
# see http://hongqinlab.blogspot.com/2013/06/median-lifespan-of-2-parameter-gompertz.html
inverse.gomp.CDF = function(R,G,y) { (1/G)*log(1 - (G/R)*log(1-y) ) }
#see generate random number with a given distribution
# http://hongqinlab.blogspot.com/2013/12/generate-gompertz-random-numbers.html
x.uniform = runif(60)
hist(x.uniform)
x.gompertz = inverse.gomp.CDF(0.001,0.2, x.uniform)
hist(x.gompertz)
summary(x.gompertz)
source("lifespan.r")
tb = calculate.s(x.gompertz)
plot(tb$s ~ tb$t)
require(flexsurv)
require(flexsurv)
lifespan = x.gompertz
lifespanGomp = flexsurvreg(formula = Surv(lifespan) ~ 1, dist = 'gompertz')
lifespanWeib = flexsurvreg(formula = Surv(lifespan) ~ 1, dist = 'weibull')
c(lifespanWeib$AIC, lifespanGomp$AIC, lifespanWeib$AIC - lifespanGomp$AIC )
No comments:
Post a Comment