ritwik_r at isical.ac.in
2011-Oct-20 19:25 UTC
[R] R code Error : Hybrid Censored Weibull Distribution
Dear Sir/madam, I'm getting a problem with a R-code which calculate Fisher Information Matrix for Hybrid Censored Weibull Distribution. My problem is that: when I take weibull(scale=1,shape=2) { i.e shape>1} I got my desired result but when I take weibull(scale=1,shape=0.5) { i.e shape<1} it gives error : Error in integrate(int2, lower = 0, upper = t) : the integral is probably divergent. I could not found any theoretical interpretation of it. I'm sending the code : ######################################################################################### f3<-function(t,r){ #calculation for t1 fb1<-function(t,r){ v1<-numeric(0) for(j in 1:r){ int1<-function(x1){ int_1<- (1/p+log(x1/lamda))^2 * j * choose(n,j) * (pweibull(x1,shape=p,scale=lamda))^(j-1) * (1 - pweibull(x1,shape=p,scale=lamda))^(n-j) * dweibull(x1,shape=p,scale=lamda) int_1 } v1[j]<-integrate(int1,lower=0,upper=t)$value } sum(v1) } #calculation for t2 fb2<-function(t,r){ v2<-numeric(0) for(j in 1:r){ int2<-function(x2){ int_2<- (1/p+log(x2/lamda))*(-p/lamda) * j * choose(n,j) * (pweibull(x2,shape=p,scale=lamda))^(j-1) * (1 - pweibull(x2,shape=p,scale=lamda))^(n-j) * dweibull(x2,shape=p,scale=lamda) int_2 } v2[j]<-integrate(int2,lower=0,upper=t)$value } sum(v2) } #calculation for t3 fb3<-function(t,r){ v3<-numeric(0) for(j in 1:r){ int3<-function(x3){ int_3<- (p/lamda)^2 * j * choose(n,j) * (pweibull(x3,shape=p,scale=lamda))^(j-1) * (1 - pweibull(x3,shape=p,scale=lamda))^(n-j) * dweibull(x3,shape=p,scale=lamda) int_3 } v3[j]<-integrate(int3,lower=0,upper=t)$value } sum(v3) } a<-c(fb1(t,r),fb2(t,r),fb2(t,r),fb3(t,r)) A<-matrix(a,nrow=2,ncol=2,byrow="TRUE") C<-solve(A) func1<-function(u1){ u11<- (log(-log(1-u1)))^2 u11 } m1<-(C[1,1]/p^4)*integrate(func1,lower=0,upper=1)$value func2<-function(u2){ u22<- log(-log(1-u2)) u22 } m2<- (-2)*C[1,2]*(1/(p^2 *lamda))*integrate(func2,lower=0,upper=1)$value m3<- C[2,2]/lamda^2 m<-m1+m2+m3 m } output=f3(5,10) ################################################################################################## Moreover When I consider f3,fb1,fb2,fb3 all are functions of single variable "t" ,desired results come but in case of two variables the problem arises. Here "t" is Real Number and "r" is Integer. I'm suffering this problem since last three months. Please anyone help me out. Thanking you in advance. Regards Ritwik Bhattacharya Senior Research Fellow SQC & OR UNIT, KOLKATA INDIAN STATISTICAL INSTITUTE Voice : +91 9051253944 This mail is scanned by Ironport
peter dalgaard
2011-Oct-21 09:43 UTC
[R] R code Error : Hybrid Censored Weibull Distribution
On Oct 20, 2011, at 21:25 , ritwik_r at isical.ac.in wrote:> Dear Sir/madam, > > I'm getting a problem with a R-code which calculate Fisher Information > Matrix for Hybrid Censored Weibull Distribution. My problem is that: > > when I take weibull(scale=1,shape=2) { i.e shape>1} I got my desired > result but when I take weibull(scale=1,shape=0.5) { i.e shape<1} it gives > error : Error in integrate(int2, lower = 0, upper = t) : the integral is > probably divergent. I could not found any theoretical interpretation of > it. I'm sending the code :The code doesn't work...> output=f3(5,10)Error in f(x, ...) : object 'p' not found Furthermore, if I guess p=.5, lamda=1, n=10, the code doesn't even break:> output=f3(5,10) > output[1] 1.155917 So what do you expect _us_ to do about it? I strongly suspect that actually testing the code (in a clean R session) would have revealed issues causing you not to have to submit the post at all... -pd -- Peter Dalgaard, Professor Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com