F79MA 2018-19: Assessed Project 1 Report
Introduction and Summary
This project is aim to look at parameter estimation for an inverse gamma model, which can be considered as a survival distribution. Also, we will show that computer simulation can be a very useful tool to characterize the performance of statistical estimators.
Analysis
The probability density function of inverse distribution is
where is a shape parameter, is a scale parameter, and is the gamma function.
Let be a random sample from an inverse gamma distribution with shape parameter and unknown scale parameter .
Task 1
As is i.i.d, the joint density function is
Then
Differentiating with respect to , we get the likelihood equation
Differentiating again, we get
Which is negative for all , and any n.
Solving equation (1.3) for , we get
因部分公式不兼容请查看doc文档
r code:
rm(list=ls(all=TRUE)) library('invgamma') # task 3 alpha<-10 beta<-1 #true value ntime<-1000 nmax<-50 betahat<-rep(0,ntime) vac<-rep(0,nmax) MSE<-rep(0,nmax) for (n in 1:nmax){ # repeat times for (t in 1:ntime){ Y<-rinvgamma(n,alpha,rate=1) betahat[t]<-alpha/mean(1/Y) } vac[n]<-var(betahat) MSE[n]<-1/ntime*sum(betahat-beta)^2 } n<-c(1:50) plot(n,MSE,main='MSE vs n') # task 5 crbound<-beta^2/alpha/n^2 plot(MSE-crbound) abline(h=0,col='red') # task 6 betas<-c(0.3,0.5,0.8,1,1.2) MSEMME<-matrix(0,nrow=5,ncol=3) MSEMLE<-matrix(0,nrow=5,ncol=3) ns<-c(20,40,60) for (i in 1:5){ beta<-betas[i] for (j in 1:3){ n<-ns[j] mme<-rep(0,100) mle<-rep(0,100) for (t in 1:100){ sp<- rinvgamma(n,alpha,beta) mme[t]<-mean(sp)*((mean(sp))^2/var(sp)+1) mle[t]<-alpha/mean(1/sp) } MSEMME[i,j]<-1/100*sum((mme-beta)^2) MSEMLE[i,j]<-1/100*sum((mle-beta)^2) } } round(MSEMME,4) round(MSEMLE,4) # task 7 betas<-c(0.3,0.5,0.8,1,1.2) AVsMLE<-matrix(0,nrow=5,ncol=3) ns<-c(20,40,60) for (i in 1:5){ beta<-betas[i] for (j in 1:3){ n<-ns[j] mle<-rep(0,100) for (t in 1:100){ sp<- rinvgamma(n,alpha,beta) mle[t]<-alpha/mean(1/sp) } AVsMLE[i,j]<-sd(mle) } } round(AVsMLE,4)