fitting {brainwaver} | R Documentation |
Fits three laws (exponential, power and truncated power laws) to an empirical distribution using the maximum likelihood estimators.
fitting(degree.dist, nmax)
degree.dist |
vector of the distribution to be fitted. |
nmax |
maximum of the value of degree.dist . |
The fitted laws are :
This function plots the histogram of degree.dist
(dist.ps).
This function plots also the cumulative distributions of the empirical and three fitted laws in a log-log scale (fitting.ps).
Finally, all the parameters are exported to the file fitting.txt.
mu |
parameter of the exponential law. |
gamma |
parameter of the power law. |
alpha, beta |
parameter of the truncated power law. |
AIC |
vector containing the Akaike's criterion for the fitting of the three laws. |
S. Achard
Akaike, H. (1974) A new look at the statistical model identification IEEE Transactions on Automatic Control Vol. 19, N. 6,pages 716-723.
data(brain) brain<-as.matrix(brain) # WARNING : To process only the first five regions brain<-brain[,1:5] n.regions<-dim(brain)[2] #Construction of the correlation matrices for each level of the wavelet decomposition wave.cor.list<-const.cor.list(brain, method = "modwt" ,wf = "la8", n.levels = 6, boundary = "periodic", p.corr = 0.975) #Construction of the adjacency matrices associated to each level of the wavelet decomposition wave.adj.list<-const.adj.list(wave.cor.list, sup = 0.44, proc.length=dim(brain)[1]) # For scale 4 degree.dist<-rowSums(wave.adj.list[[4]]) par(cex=1.5,cex.lab=1.2,font.lab=2) hist(degree.dist,xlab="Degree", ylab="Number of regions",main=NULL,col=1,border=8) nmax<-50 tmp<-hist(degree.dist,breaks=c(0:nmax)) cum.dist<-1-cumsum(tmp$counts)/n.regions # cumulative distribution of degree.dist d<-fitting(degree.dist,nmax) exp.trace<-exp(-d$mu*(0:nmax)) # cumulative distribution of the exponential law power.trace<-(1:(nmax+1))^(-d$gamma+1) # cumulative distribution of the power law gamma.trace<-1-pgamma((0:nmax),shape=d$alpha,scale=d$beta) # cumulative distribution of the truncated power law par(cex=1.5,cex.lab=1.2,font.lab=2) plot(log(1:(nmax)),log(cum.dist),pch=3,xlab="log(k)",ylab="log(cumulative distribution)") lines(log(1:(nmax+1)),log(exp.trace),lty=3,lwd=2) lines(log(1:(nmax+1)),log(power.trace),lty=2,lwd=2) lines(log(1:(nmax+1)),log(gamma.trace),lty=1,lwd=2) #text(c(0.5,0.5,0.5,0.5),c(-3,-3.5,-4,-4.5),labels=c("+ data","-- power law", # ".. exponential law","- truncated power law"),pos=4)