# ::Free Statistics and Forecasting Software::

v1.1.23-r7
Secure website (SSL) | Donate to wessa.net

### :: Maximum-likelihood Fitting - Beta Distribution - Free Statistics Software (Calculator) ::

All rights reserved. The non-commercial (academic) use of this software is free of charge. The only thing that is asked in return is to cite this software when results are used in publications.

This free online software (calculator) computes the shape1 and shape2 parameter of the Beta distribution fitted against any data series that is specified. The computation is performed by means of the Maximum-likelihood method. In addition the PPCC Contour Plot (Probability Plot Correlation Coefficient Contour Plot) is shown.

Note: it is often not possible to find optimal values for shape1 and shape2. The reason is that the estimation algorithm need good starting values.

Special thanks to 'Kyle' for pointing out the missing 'xbar' in line 39 of the R code!

Enter (or paste) your data delimited by hard returns.

 Send output to: Browser Blue - Charts White Browser Black/White CSV MS Excel MS Word Data (click to load default data) 0.224565646 0.261571480 0.253029834 0.033938060 0.353208554 0.033295045 0.002171707 0.084136132 0.077468368 0.010160325 0.079746191 0.263485597 0.460389066 0.132348066 0.529154319 0.032287005 0.472190992 0.037985170 0.019795866 0.053763887 0.086771175 0.143764004 0.202780264 0.006932185 0.124637036 0.116166293 0.037363442 0.416532177 0.612491026 0.012781084 0.163992436 0.212717925 0.092409609 0.150134816 0.047430792 0.022017328 0.350262865 0.013821921 0.578796918 0.030264300 0.090627282 0.029354226 0.182663201 0.372085552 0.235142217 0.311617946 0.030548270 0.068424450 0.043757662 0.238109173 0.465951209 0.127494709 0.010810575 0.230141979 0.426687450 0.175605499 0.005595384 0.203565169 0.236888269 0.153586896 0.027445414 0.026240968 0.299075759 0.171469487 0.016355307 0.220064442 0.137054994 0.034683689 0.085767702 0.119746590 0.223347602 0.026601623 0.063485064 0.467803972 0.012650088 0.048496183 0.047170846 0.043196485 0.095073370 0.538513979 0.045034181 0.427235474 0.289835816 0.150884924 0.176887675 0.369202741 0.178461483 0.077501113 0.281105892 0.051375864 0.357311398 0.561861189 0.028342902 0.326209843 0.303994601 0.020530542 0.278139180 0.582716856 0.071720238 0.237546024 Sample Range:(leave blank to include all observations) From: To: minimum value of shape1 parameter maximum value of shape1 parameter minimum value of shape2 parameter maximum value of shape2 parameter Chart options Width: Height:

Click here to edit the underlying code of this R Module.

 Source code of R module library(MASS) PPCCBeta <- function(shape1, shape2, x) { x <- sort(x) pp <- ppoints(x) cor(qbeta(pp, shape1=shape1, shape2=shape2), x) } par1 <- as.numeric(par1) par2 <- as.numeric(par2) par3 <- as.numeric(par3) par4 <- as.numeric(par4) if (par1 < 0.1) par1 <- 0.1 if (par1 > 10) par1 <- 10 if (par2 < 0.1) par2 <- 0.1 if (par2 > 10) par2 <- 10 if (par3 < 0.1) par3 <- 0.1 if (par3 > 10) par3 <- 10 if (par4 < 0.1) par4 <- 0.1 if (par4 > 10) par4 <- 10 par1h <- par1*10 par2h <- par2*10 par3h <- par3*10 par4h <- par4*10 sortx <- sort(x) c <- array(NA,dim=c(par2h,par4h)) for (i in par1h:par2h) { for (j in par3h:par4h) { c[i,j] <- cor(qbeta(ppoints(x), shape1=i/10,shape2=j/10),sortx) } } bitmap(file="test1.png") filled.contour((par1h:par2h)/10,(par3h:par4h)/10,c[par1h:par2h,par3h:par4h],xlab="shape1",ylab="shape2",main="PPCC Contour Plot - Beta") dev.off() xbar <- mean(x) xvar <- var(x) (a <- (xbar*(1-xbar)/xvar - 1)*xbar) (b <- (1-xbar)*a/xbar) (f<-fitdistr(x, "beta",list(shape1=a,shape2=b))) xlab <- paste("Beta(shape1=",round(f\$estimate[[1]],2)) xlab <- paste(xlab,", shape2=") xlab <- paste(xlab,round(f\$estimate[[2]],2)) xlab <- paste(xlab,")") bitmap(file="test2.png") myser <- qbeta(ppoints(x), shape1=f\$estimate[[1]], shape2=f\$estimate[[2]]) qqplot(myser, x, main="QQ plot (Beta)", xlab=xlab ) grid() dev.off() load(file="createtable") a<-table.start() a<-table.row.start(a) a<-table.element(a,"Parameter",1,TRUE) a<-table.element(a,"Estimated Value",1,TRUE) a<-table.element(a,"Standard Deviation",1,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,"shape1",header=TRUE) a<-table.element(a,f\$estimate[1]) a<-table.element(a,f\$sd[1]) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,"shape2",header=TRUE) a<-table.element(a,f\$estimate[2]) a<-table.element(a,f\$sd[2]) a<-table.row.end(a) a<-table.end(a) table.save(a,file="mytable.tab")
 Top | Output | Charts | References | History | Feedback

 Cite this software as: Wessa P., (2009), Maximum-likelihood Beta Distribution Fitting (v1.0.4) in Free Statistics Software (v1.1.23-r7), Office for Research Development and Education, URL http://www.wessa.net/rwasp_fitdistrbeta.wasp/ The R code is based on : Venables, W. N. and Ripley, B. D. (2002), Modern Applied Statistics with S., Fourth edition., Springer.
 Top | Output | Charts | References | History | Feedback
 Top | Output | Charts | References | History | Feedback