最尤法を使った逆ガウス分布のフィッティング
このブログへコメントがあったので,こちらで。
逆ガウス分布をデータに対して最尤法を使用してフィットする方法について。
statmodパッケージに逆ガウス分布の関数があって,それをfitdistrplusパッケージで使う。
#使うパッケージ library(statmod) library(fitdistrplus) #データの作成 dat<-rinvgauss(1000,1,4) #mu=1, lambda=4, n=1000の擬似乱数 #ヒストグラム hist(dat,col="lightblue", main="", xlab="value",freq=F,breaks=10,ylim=c(0,1.2)) #要約 summary(dat) #最尤推定 fit<-fitdist(dat,"invgauss",start=c(1,1)) #初期値をここではmu=1,lambda=1としている #結果 fit summary(fit) #Fitting of the distribution ' invgauss ' by maximum likelihood #Parameters : # estimate Std. Error #1 0.9950217 0.01505621 #2 4.3455699 0.19433979 #Loglikelihood: -520.8145 AIC: 1045.629 BIC: 1055.445 #だいたいよさげ #ヒストグラムに描き足し x<-seq(0,5,.01) lines(x,dinvgauss(x,fit$estimate[1],fit$estimate[2]),col="red",lty=2,lwd=3)