From 6d7ee5d676827bed7f3fbd41b51e4c5e27df6bb1 Mon Sep 17 00:00:00 2001 From: Paul-Corbalan <58653590+Paul-Corbalan@users.noreply.github.com> Date: Tue, 5 Apr 2022 11:20:46 +0200 Subject: [PATCH] Add local score function --- Comparaison_of_methods.rmd | 52 +++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/Comparaison_of_methods.rmd b/Comparaison_of_methods.rmd index bd428c7..ff994d1 100644 --- a/Comparaison_of_methods.rmd +++ b/Comparaison_of_methods.rmd @@ -128,7 +128,7 @@ NbSeqH1=NbSeqH0 DataH0=vector("list") DataH1=vector("list") lambda0=3 -lambda1=5 +lambda1=30 T=10 tau=1 @@ -209,20 +209,17 @@ ScS_H1 # Calcul du choix de E E = 1 maxXk = floor(E*(log(lambda1/lambda0))) -maxXk while (maxXk < 3) { E = E+1 maxXk = floor(E*(log(lambda1/lambda0))) } -print(E) ppH0 = PoissonProcess(lambda0,10^4) n1 = length(ppH0) tbe0 = ppH0[2:n1]-ppH0[1:n1-1] -print(ks.test(tbe0,'exp')) +print(ks.test(tbe0, 'exp')) + xp = floor(E*(log(lambda1/lambda0)+(lambda0-lambda1)*tbe0)) # ne pas mettre le floor ni le E (certes égale à 1) -#hist(x) -#print(summary(x)) min_X = min(xp) max_X = max(xp) @@ -239,6 +236,42 @@ print(Mean_xp) #print(P_X) ``` +```{r} +ComputeE <- function(lambda0, lambda1){ + E = 1 + maxXk = floor(E*(log(lambda1/lambda0))) + while (maxXk < 3) { + E = E+1 + maxXk = floor(E*(log(lambda1/lambda0))) + } + + return (E) +} +``` + +```{r} +ScoreDistrib <- function(lambda0, lambda1, n_sample, T){ + E = ComputeE(lambda0, lambda1) + + ppH0 = PoissonProcess(lambda0,T) + n1 = length(ppH0) + tbe0 = ppH0[2:n1]-ppH0[1:n1-1] + print(ks.test(tbe0, 'exp')) + + X = floor(E*(log(lambda1/lambda0)+(lambda0-lambda1)*tbe0)) # ne pas mettre le floor ni le E (certes égale à 1) + + min_X = min(X) + max_X = max(X) + + vect.score = min_X:max_X + + P_X = table(factor(X, levels = min_X:max_X)) + P_X = P_X/sum(table(X)) + + return (list("X" = X, "P_X" = P_X)) +} +``` + ### Calcul du local score ```{r} library("localScore") @@ -247,6 +280,13 @@ E = 10 pvalue=c() X=c() +Score = ScoreDistrib(lambda0, lambda1, n_sample, 10**4) +xp = Score$X +P_X = Score$P_X + +min_X = min(xp) +max_X = max(xp) + for (i in 1:NbSeqH0){ x = floor(E*log(dexp(tbe0[[i]], rate = lambda1)/dexp(tbe0[[i]], rate = lambda0))) X=c(X,x)