diff --git a/R/utils_functions.R b/R/utils_functions.R index 8d7d3177deef026074aeb691efcd562d36712d14..0adf66ef4d48aaa19d57b0417ae72969d9b468ed 100644 --- a/R/utils_functions.R +++ b/R/utils_functions.R @@ -1,6 +1,5 @@ #------------------------------------------------------------------- -# utils_functions.R -# some useful functions for kfino method +# utils_functions.R: some useful functions for kfino method # loi_outlier() # KBO_known() # KBO_L() @@ -227,8 +226,9 @@ KBO_known<-function(param,threshold,kappa=10,Y,Tps,N){ } #------------------------------------------------------------------------ -#' KBO_L a function to calculate a likelihood on optimized parameters -#' +#' KBO_L a function to calculate a likelihood on initial parameters +#' optimized by a grid search +#' #' @param param a list of 10 input parameters mm, pp and m0 #' @param kappaOpt numeric, truncation setting, default 7 #' @param Y character, name of the numeric variable to predict in the @@ -298,7 +298,6 @@ KBO_L<-function(param,kappaOpt=7,Y,Tps,N,dix){ #iteration (1.1.2) #----------------------- - #// Pour l'instant, je fais comme si kappa<N-1 mettre un if sinon # before truncation for (k in 1:(kappa-1)){ mnew=rep(0,2^(k+1)) @@ -308,7 +307,7 @@ KBO_L<-function(param,kappaOpt=7,Y,Tps,N,dix){ # CR: renormalization constant that intervenes in the denominator of the pu qnew=rep(0 ,2^(k+1)) diffTps<-Tps[k+1] - Tps[k] - #--- numérateur de pu0 + #--- numerator of pu0 tpbeta<-loi_outlier(Y[k+1],K,expertMin,expertMax) pnew[1:(2^k)]=p[1:(2^k)]*(1-pp)*tpbeta Lnew[1:(2^k)]=L[1:(2^k)]*tpbeta @@ -328,14 +327,14 @@ KBO_L<-function(param,kappaOpt=7,Y,Tps,N,dix){ sigma2=sigma2new p=pnew/sum(pnew) - L=dix*Lnew # fois 2 pr le grandir + L=dix*Lnew q=dix*qnew } # after truncation #---------------------- for (k in kappa:(N-1)){ - # je cree le vecteur des nouveaux m, + # creation of the 'new m' vector mnew=rep(0,2^(kappa+1)) sigma2new=rep(0 ,2^(kappa+1)) pnew=rep(0 ,2^(kappa+1)) @@ -343,7 +342,7 @@ KBO_L<-function(param,kappaOpt=7,Y,Tps,N,dix){ # CR: renormalization constant that intervenes in the denominator of the pu qnew=rep(0 ,2^(kappa+1)) diffTps<-Tps[k+1] - Tps[k] - #--- numérateur de pu0 + #--- numerator of pu0 tpbeta<-loi_outlier(Y[k+1],K,expertMin,expertMax) pnew[1:(2^kappa)]=p[1:(2^kappa)]*(1-pp)*tpbeta Lnew[1:(2^kappa)]=L[1:(2^kappa)]*tpbeta @@ -365,7 +364,7 @@ KBO_L<-function(param,kappaOpt=7,Y,Tps,N,dix){ m=mnew[selection] sigma2=sigma2new[selection] p=pnew[selection]/sum(pnew[selection]) - L=dix*Lnew[selection] #fois 2 pr le grandir + L=dix*Lnew[selection] q=dix*qnew[selection] } @@ -375,8 +374,8 @@ KBO_L<-function(param,kappaOpt=7,Y,Tps,N,dix){ } #------------------------------------------------------------------------ -#' KBO_EM a function to calculate a likelihood on optimized parameters by -#' an Expectation-Maximization (EM) algorithm +#' KBO_EM a function to calculate a likelihood on initial parameters +#' optimized by an Expectation-Maximization (EM) algorithm #' #' @param param a list of 10 input parameters mm, pp and m0 #' @param kappaOpt numeric, truncation setting, default 7 @@ -451,9 +450,6 @@ KBO_EM<-function(param,kappaOpt,Y,Tps,N,dix){ L=dix*c(l0,loinorm1) #Attention *2 pr le grandir q=c(1,1) #attention - #Pmean=c(p1)#A VIRER - - #nouveaux paramètres a=c(1,sigma2_pp/(sigma2_m0+sigma2_pp)) b=c(0,0) c=c(0, Y[1]*sigma2_m0/(sigma2_m0+sigma2_pp)) @@ -468,7 +464,6 @@ KBO_EM<-function(param,kappaOpt,Y,Tps,N,dix){ #----------------------- # kappa < N-1 for now. add an if condition if necessary # before truncation - for (k in 1:(kappa-1)){ mnew=rep(0,2^(k+1)) sigma2new=rep(0 ,2^(k+1)) @@ -507,9 +502,6 @@ KBO_EM<-function(param,kappaOpt,Y,Tps,N,dix){ bnew[(1+2^k):2^(k+1)]= b[1:(2^k)]*sigma2_pp/sommevar cnew[(1+2^k):2^(k+1)]= c[1:(2^k)]*sigma2_pp/sommevar + Y[k+1]*sigma2new[1:(2^k)]/sommevar - #Proba1<-sum(pnew[(1+2^k):2^(k+1)])#A VIRER - #Pmean=c(Pmean,Proba1/sum(pnew))#A VIRER - m=mnew sigma2=sigma2new p=pnew/sum(pnew) @@ -578,9 +570,6 @@ KBO_EM<-function(param,kappaOpt,Y,Tps,N,dix){ selection=order(pnew, decreasing=T)[1:2^kappa] - #Proba1<-sum(pnew[(1+2^kappa):2^(kappa+1)]) #A VIRER - #Pmean=c(Pmean,Proba1/sum(pnew))#A VIRER - m=mnew[selection] sigma2=sigma2new[selection] p=pnew[selection]/sum(pnew[selection]) diff --git a/man/KBO_EM.Rd b/man/KBO_EM.Rd index 578b5da552eb0455fddcf0d575d9ddfffde12d2f..1b5835a667468928b63322c1c1189c66ec6f3fdc 100644 --- a/man/KBO_EM.Rd +++ b/man/KBO_EM.Rd @@ -2,8 +2,8 @@ % Please edit documentation in R/utils_functions.R \name{KBO_EM} \alias{KBO_EM} -\title{KBO_EM a function to calculate a likelihood on optimized parameters by -an Expectation-Maximization (EM) algorithm} +\title{KBO_EM a function to calculate a likelihood on initial parameters +optimized by an Expectation-Maximization (EM) algorithm} \usage{ KBO_EM(param, kappaOpt, Y, Tps, N, dix) } @@ -33,8 +33,8 @@ a list: } } \description{ -KBO_EM a function to calculate a likelihood on optimized parameters by -an Expectation-Maximization (EM) algorithm +KBO_EM a function to calculate a likelihood on initial parameters +optimized by an Expectation-Maximization (EM) algorithm } \details{ uses the same input parameter list than the main function diff --git a/man/KBO_L.Rd b/man/KBO_L.Rd index ba5adeffc353c0ecd44a958ed84701ba31805a49..a951cb6f39db6d8628725d2b64b67b391794bb22 100644 --- a/man/KBO_L.Rd +++ b/man/KBO_L.Rd @@ -2,7 +2,8 @@ % Please edit documentation in R/utils_functions.R \name{KBO_L} \alias{KBO_L} -\title{KBO_L a function to calculate a likelihood on optimized parameters} +\title{KBO_L a function to calculate a likelihood on initial parameters +optimized by a grid search} \usage{ KBO_L(param, kappaOpt = 7, Y, Tps, N, dix) } @@ -26,7 +27,8 @@ Tvar can be expressed as a proportion of day in seconds} a likelihood } \description{ -KBO_L a function to calculate a likelihood on optimized parameters +KBO_L a function to calculate a likelihood on initial parameters +optimized by a grid search } \details{ uses the same input parameter list than the main function