| To: | S NEWS <s-news@lists.biostat.wustl.edu> |
|---|---|
| Subject: | MLE for Burr distribution |
| From: | meteor_shahab@yahoo.com |
| Date: | Sat, 18 Aug 2007 11:04:16 -0700 (PDT) |
| Domainkey-signature: | a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Message-ID; b=47YqjpNzGwFDOAkYVsLU4FskMVNi19AEU7vyc4HlkQvTYx6ptn3WkfLhALCS1gdwwnAX9lTMz2V/VTu0ghsCb8wyCDee+ZCjKJZrhb0MB0+iLlIG+er1s7ETzdvoShefDv3hdgfpnQpVezNikfG7enhGyhRA41NkIJLxy8mHNdI=; |
|
Dear All,
I am using these codes to calculate MLE of Burr parameters,
lburrm <- deriv3( ~ -log(c * a * b^a * x^(c - 1) * (b + x^c)^(-(a + 1))), c("a", "b", "c"), function(x, a, b, c) NULL)
f.like <- function(p, x) { e <- p[3] * p[1] * p[2]^p[1] * x^(p[3] - 1) * (p[2] + x^p[3])^(-(p[1] + 1)) -sum(log(e)) }
f.grh <- function(p, x) { e <- lburrm(x, p[1], p[2], p[3]) g <- colSums(attr(e, "gradient")) H <- colSums(attr(e, "hessian"), 2) list(gradient = g, hessian = H[row(H) <= col(H)]) }
p0 <- c(a=0.20, b=3e30, c=4) mix.nl2 <- nlminb(p0, f.like, f.grh, hessian = T, scale = c(1000, 1, 100), lower = c(0, 0, 0), upper = c(rep(Inf, 3)), x = dd) mix.nl2[c("parameter", "objective")]
but as my dataset contains extreme valus like:
2051009700 2082314400 2299479500 14389535000 18514194000 the algorithm does not work properly, I know that parameter b is about 3e+30 but Splus always return 1+e20 for this parameter
Send instant messages to your online friends http://uk.messenger.yahoo.com |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Problem with importData function, Michael Camilleri |
|---|---|
| Next by Date: | Timezones, Steve S |
| Previous by Thread: | Problem with importData function, Doug Bolgiano |
| Next by Thread: | Timezones, Steve S |
| Indexes: | [Date] [Thread] [Top] [All Lists] |