Interpolation monotone, fonction $\R^2\to\R$

Bonjour
Je vous soumets un problème pratique.

Je dispose d'une fonction $f(x,y)$ avec $0<x<50$ et $0<y<50$ dont j'observe les points entiers ($x,y\in \N$). Ces données observées sont empiriques et peuvent donc être bruitées.
Je cherche, informatiquement parlant, à retrouver la fonction $f$ qui doit vérifier les conditions suivantes $\forall x,\ y\mapsto f(x,y)$ est croissante et $\forall y,\ x\mapsto f(x,y)$ est croissante aussi.

Connaîtriez-vous un algorithme (type moindre carrés sous contrainte) pour trouver ce type de fonction ($C^0$ et affine par morceaux au besoin).
Merci.

Réponses

  • Bonjour.

    Il existe à priori une infinité de types de fonctions croissantes sur chaque variable qui pourraient convenir; et pour chaque type de fonction une meilleure fonction au sens des moindres carrés.
    Pour un modèle affine par morceaux, si tes données ne sont pas trop contrariantes (*), tu peux redresser les valeurs éventuelles qui posent problème (décroissance locale) au minimum, puis prendre la fonction d'interpolation linéaire.

    Cordialement.

    (*) on peut espérer que grossièrement les valeurs mesurées $\tilde f(x,y)$ sont croissantes suivant x à y fixé et suivant y à x fixé, sauf éventuellement quelques unes.
  • Merci.

    Mais justement, comment faire ce redressement en minimisant les mouvements au total (éventuellement pondérés) ?

    Merci
  • Pour que la suite $u$ grossièrement croissante (en général, $u_n\ge u_i$ pour tout $i<n$) devienne croissante, on teste les $u_n$ dans l'ordre, et si $u_n<u_{n-1}$, on rectifie en prenant $u_n=u_{n-1}$. je te laisse généraliser pour deux dimensions.

    Cordialement.
Connectez-vous ou Inscrivez-vous pour répondre.