Versionnée et pratique

Documentation d’Equarith.

Installez Equarith, lancez votre première recherche, comprenez les résultats, automatisez vos processus et exportez des équations.

Référence des fonctions

Equarith 1.0.3 cherche dans un catalogue typé d’opérations numériques. Chaque opération possède un coût de complexité par défaut et un domaine numérique. Un candidat qui produit une valeur non finie sur une ligne requise est rejeté, sauf si l’opération choisie définit explicitement un comportement protégé.

Les identifiants ci-dessous sont également les noms canoniques utilisés dans les formules analysées. Les coûts sont ceux de la v1.0.3 ; vous pouvez les modifier avant la recherche.

Sélection recommandée par défaut

Sélectionnez Valeurs par défaut dans le catalogue de fonctions pour appliquer cet ensemble prudent recommandé :

  • add, subtract et multiply ;
  • safe_div ;
  • square et cube ;
  • sin et cos ;
  • safe_log et safe_sqrt ;
  • abs.

Lors du chargement initial des capacités, la sélection courante peut comprendre toutes les fonctions non historiques. Valeurs par défaut la réduit volontairement à la liste ci-dessus. Ne conservez les autres fonctions que si elles sont cohérentes avec les variables, les unités et la relation attendue.

Arithmétique

  • add(a,b), coût 1 : addition ; opérandes et résultat doivent être finis.
  • subtract(a,b), coût 1 : soustraction.
  • multiply(a,b), coût 1 : multiplication ; un dépassement rejette le candidat.
  • divide(a,b), coût 2 : division stricte ; |b| doit être supérieur à 1e-12.
  • safe_div(a,b), coût 3 : renvoie normalement a / b, mais renvoie a lorsque |b| <= 1e-12.
  • aq(a,b), coût 4 : quotient analytique a / sqrt(1 + b²), sans singularité pour des entrées finies.

La division protégée évite une valeur indéfinie, mais change le sens mathématique près de zéro. Vérifiez que cette branche est défendable dans le domaine étudié.

Puissances

  • square(x), coût 2 : .
  • cube(x), coût 3 : .
  • inv(x), coût 2 : 1/x ; l’entrée doit être non nulle.
  • pow(x,n), coût 4 : puissance réelle. Les exposants générés par la recherche sont des entiers non nuls contraints à [-3, 3] ; le résultat doit être un réel fini.

Fonctions trigonométriques

  • sin(x) et cos(x), coût 2 chacune.
  • tan(x), coût 3 ; un résultat non fini rejette le candidat.
  • asin(x) et acos(x), coût 3 chacune ; x doit appartenir à [-1, 1].
  • atan(x), coût 3.
  • atan2(y,x), coût 3 : angle tenant compte du quadrant.
  • sinc(x), coût 4 : sin(x)/x avec sinc(0) = 1.

Les arguments sont en radians. Un ajustement trigonométrique peut extrapoler périodiquement bien au-delà de toute justification physique.

Fonctions hyperboliques

  • sinh(x), cosh(x) et tanh(x), coût 3 chacune.
  • asinh(x), coût 4.
  • acosh(x), coût 4 ; x >= 1.
  • atanh(x), coût 4 ; -1 < x < 1.

Un dépassement ou une violation de domaine rejette le candidat.

Exponentielles, logarithmes et racines

  • exp(x), coût 3 ; un dépassement rejette le candidat.
  • expm1(x), coût 3 : calcul précis de exp(x) - 1 près de zéro.
  • safe_exp(x), coût 4 : calcule l’exponentielle après avoir borné x dans [-60, 60].
  • log(x), coût 3 : logarithme naturel pour x > 0.
  • log2(x) et log10(x), coût 4 chacune, pour x > 0.
  • log1p(x), coût 3 : calcul précis de log(1 + x) pour x > -1.
  • safe_log(x), coût 4 : log(abs(x) + 1e-12).
  • sqrt(x), coût 3, pour x >= 0.
  • cbrt(x), coût 3 : racine cubique réelle.
  • safe_sqrt(x), coût 4 : sqrt(abs(x)).

Les variantes sûres produisent une valeur finie sur un domaine plus large, mais les valeurs absolues, bornes et termes epsilon modifient leur sens. Préférez une opération stricte lorsque la contrainte de domaine est elle-même pertinente et respectée par les données.

Fonctions de forme et d’agrégation

  • abs(x), coût 2.
  • relu(x), coût 2 : max(0,x).
  • sigmoid(x), coût 4 : transition logistique stable dans [0,1].
  • softplus(x), coût 4 : log(1 + exp(x)) calculé de manière stable.
  • gaussian(x), coût 4 : exp(-x²).
  • ceil(x) et floor(x), coût 2 chacune.
  • round(x), coût 3 : les valeurs exactement à mi-chemin sont arrondies en s’éloignant de zéro.
  • sign(x), coût 2.
  • min(a,b) et max(a,b), coût 2 chacune.
  • hypot(a,b), coût 3 : calcul de sqrt(a² + b²) résistant aux dépassements.
  • clamp(x,lower,upper), coût 3 ; la borne basse ne doit pas dépasser la borne haute.

Les opérations discontinues comme l’arrondi, le signe, min, max et clamp peuvent décrire des régimes, mais aussi créer des frontières instables.

Fonctions spéciales

  • fmod(a,b), coût 4 : reste en virgule flottante ; b doit être non nul.
  • tgamma(x), coût 4 : fonction gamma ; ses pôles et dépassements sont invalides.
  • lgamma(x), coût 4 : logarithme de la valeur absolue de gamma ; ses pôles sont invalides.
  • erf(x), coût 4 : fonction d’erreur.
  • erfc(x), coût 4 : fonction d’erreur complémentaire avec calcul stable dans la queue gaussienne.

Fonctions logiques et conditionnelles

Ces opérations renvoient des nombres et permettent de construire des formules par morceaux :

  • smaller(a,b) et greater(a,b), coût 4 : renvoient 0 ou 1.
  • equal(a,b) et different(a,b), coût 4 : utilisent l’égalité exacte en virgule flottante et renvoient 0 ou 1.
  • logical_or(a,b) et logical_and(a,b), coût 4 : zéro est faux et toute valeur non nulle est vraie.
  • if_else(condition,when_true,when_false), coût 5 : choisit le deuxième opérande si la condition est non nulle, sinon le troisième.

L’égalité exacte est rarement robuste pour des mesures continues. Une comparaison à un seuil est généralement plus significative.

Fonctions d’historique

Les fonctions d’historique sont désactivées par défaut et utilisent la chronologie des lignes source d’origine, même lorsque l’entraînement est séparé aléatoirement ou évalué sur des échantillons progressifs. rolling_std et rolling_slope ont un coût de 5 ; toutes les autres fonctions historiques ci-dessous ont un coût de 4.

  • delay(expr,N) : valeur de l’expression N lignes source avant la ligne actuelle.
  • moving_average(expr,N) : moyenne des N lignes précédentes, sans inclure la ligne actuelle.
  • difference(expr,N) : valeur actuelle moins celle située N lignes auparavant.
  • rolling_std(expr,N) : écart-type de population sur les N lignes précédentes.
  • rolling_min(expr,N) et rolling_max(expr,N) : extrême sur les N lignes précédentes.
  • rolling_slope(expr,N) : pente des moindres carrés sur les N lignes précédentes ; N doit valoir au moins 2.
  • decay(expr,r) : somme pondérée exponentiellement de la valeur actuelle et des précédentes avec les puissances de r, tronquée à la taille maximale de l’historique.
  • ema(expr,r) : moyenne pondérée exponentiellement et normalisée de la valeur actuelle et des précédentes.

Les tailles de fenêtre sont des entiers de 1 à la taille maximale de l’historique, configurable entre 1 et 1 000. Les taux de décroissance vérifient 0 < r < 1.

Les premières lignes de chauffe et toute ligne dont l’historique requis est invalide sont exclues avant la séparation entraînement/test. Une grande taille maximale d’historique peut donc réduire fortement les données admissibles.

Autoriser la cible dans les fonctions d’historique rend possibles les formules autorégressives. Une telle formule peut être valable pour une prédiction à un pas si les cibles observées précédentes sont disponibles, mais invalide dans un déploiement qui n’en dispose pas.

Les expressions historiques fonctionnent pour l’évaluation d’un jeu de données, les projets et les checkpoints compatibles. Elles sont indisponibles pour les points personnalisés sans ordre et ne peuvent pas être exportées sous forme de source exécutable autonome dans la v1.0.3. Les exports de présentation comme le texte de formule et LaTeX restent disponibles.

Coûts de complexité

Un coût exprime une préférence d’interprétabilité, pas seulement un coût d’exécution. La complexité de chaque formule contribue directement au front de Pareto. Augmenter le coût d’une fonction place ses formules à une complexité supérieure ; le diminuer facilite leur conservation.

Utilisez un schéma de coûts cohérent pendant toute une expérience. Leur modification peut réordonner le front de Pareto et rend un checkpoint existant incompatible.

Pour les autres réglages, consultez Configurer une recherche. Pour les restrictions du code généré, consultez Exporter les données et les formules.