emmakopp1 / phylogeny_trust

This project aims to validate (or invalidate) a phylogenetic tree estimation.
0 stars 0 forks source link

Calcul des infimums #6

Closed tpellard closed 3 months ago

tpellard commented 3 months ago

@emmakopp1 pourrais-tu expliquer le code du calcul des infimums?

find_t_value <- function(k, Q, n, tolerance = 1e-6, max_iter = 1000) {
  objective_function <- function(t) {
    return(compute_upper_bound_topology(t, k, Q, n) - 1)
  }

  result <- uniroot(objective_function, interval = c(0, 20), tol = tolerance, maxiter = max_iter)

  return(result$root)
}

Pourquoi retrancher 1 au résultat de compute_upper_bound_topology() et que fait uniroot()?

emmakopp1 commented 3 months ago

uniroot prend en argument une fonction f définit sur un interval et trouve t tel que f(t) = 0 Dans notre cas f(t) = max(pi0,pi1) + N e^{-qt} De plus on s'intéresse au moment on f (notre majorant) passe en dessous de 1. (puisque f est décroissante dans notre cas, cela arrive une seule fois) Donc on cherche t tel que f(t) = 1 soit, on cherche t tel que f(t) - 1 = 0 Donc on met en argument f(t)-1.