Praktisch en per versie beheerd

Equarith-documentatie.

Installeer Equarith, voer je eerste zoekopdracht uit, begrijp de resultaten, automatiseer workflows en exporteer vergelijkingen.

Deze inhoud is momenteel beschikbaar in het Engels.Documentatie in deze taal is nog niet gepubliceerd. De Engelse versie wordt hieronder weergegeven.

Configuring a search

Search configuration defines the modeling question, validation design, allowed expression language, complexity pressure, and stopping conditions. Save or export the configuration when a result must be reproducible.

Target and inputs

Choose exactly one numerical target and at least one numerical input. The target is excluded from the normal input list. A filter appears when the dataset has many candidate columns.

Search cannot start until the selected columns provide enough eligible finite rows for the requested split. In Demo mode, select no more than four inputs and remember that only the first 200 source rows are considered before invalid rows are removed.

Options affecting variable use include:

  • Force all selected variables: every published expression must contain each input at least once.
  • Minimum distinct variables and Maximum distinct variables: optional structural bounds.
  • Occurrences per variable: an optional repetition bound.
  • Allow target variable in history functions: enables autoregressive terms only inside history operators. Use it deliberately because it can create leakage if future evaluation does not have past target values.

Regression objectives

The selected metric guides training selection. Test values are reported independently when a test partition exists.

  • RMSE, root mean squared error: square root of the mean squared residual. Lower is better. It has the target's units and penalizes large errors.
  • MSE, mean squared error: mean of squared residuals. Lower is better and its units are squared.
  • MAE, mean absolute error: mean absolute residual. Lower is better and it is less dominated by a few large residuals than RMSE.
  • NMSE, normalized mean squared error: MSE normalized by target variance. Lower is better and values are scale-independent.
  • SSE, residual sum of squares: total squared residual. Lower is better; it grows with row count.
  • R², coefficient of determination: one minus residual error relative to target variation. Higher is better. It can be negative. For a constant target, an exact prediction scores 1 and any other prediction scores 0.
  • C², squared correlation: squared Pearson correlation between prediction and target. Higher is better. Because the sign is removed, inspect the actual fit as well.
  • Pearson correlation: signed linear correlation. Higher is better. For a constant series, an exact prediction scores 1 and a non-exact prediction scores 0.
  • Correlation/RMSE hybrid: scale-normalized RMSE plus one minus Pearson correlation. Lower is better.

RMSE is a sensible general first choice. Choose a metric that matches the decision cost, not simply the one that gives the most attractive number. Custom expression-defined objectives are not executed by the v1.0.3 engine.

Train and test split

Built-in percentage choices include no test set, 50/50, 60/40, 70/30, 75/25, and 80/20. You can also request fixed training counts such as 100, 1,000, 10,000, or 100,000 rows, or enter a custom count when the eligible dataset permits it.

  • Random split shuffles eligible row identities using the split seed. It is appropriate for exchangeable observations.
  • Sequential split preserves source order. Use it to train on earlier rows and test on later rows when chronology matters.
  • No test uses all eligible rows for training. It gives the search more data but provides no internal held-out estimate.

The test set is for validation. Search selection is driven by training results, although live test display can help reveal overfitting. Repeatedly choosing a formula because it looks best on the same test set gradually turns that set into training information.

Complexity and function selection

Maximum formula complexity is 65 by default. Expression complexity is the sum of its variables, constants, and enabled operation costs under the engine's structural rules. The Pareto front keeps error and complexity as separate objectives.

The Functions panel enables operation families and lets you change individual complexity costs. Select Defaults explicitly to apply the conservative recommended set: addition, subtraction, multiplication, safe division, square, cube, sine, cosine, safe logarithm, safe square root, and absolute value. The initial capability load can otherwise leave all non-history functions selected.

A larger function set can express more shapes but greatly expands the search space and increases the risk of accidental fits. Start with operations supported by domain knowledge. Complexity cost changes are part of the configuration and checkpoint identity; they also directly change Pareto comparison.

See Function reference for domains, protected semantics, costs, and history behavior.

Coefficients and constants

  • Optimize coefficients (LM) is enabled by default. It adjusts numerical constants after structural candidates are generated.
  • Fast favors structural throughput, Balanced keeps moderate polishing, and Accurate spends more effort on coefficient fitting.
  • Integer constants only restricts discovered constants to integers.
  • Limit decimal places rounds optimized constants to 0 through 12 decimal places. It is unavailable when integer-only mode is active.
  • Minimum and maximum constant counts can impose optional structural bounds.

More accurate coefficient optimization can improve a fixed structure but evaluates fewer structures in a fixed time. Rounded coefficients make formulas easier to communicate, but can measurably worsen error; always evaluate the published rounded formula.

Evaluation and normalization

Normalization transforms numerical columns internally to improve conditioning. Published formulas are converted back to original data units.

Evaluation strategy has three choices:

  • Auto uses full evaluation for smaller data and progressive screening when it is worthwhile.
  • Disabled evaluates every eligible training row for every candidate.
  • Enabled screens candidates on a rotating stratified sample and fully evaluates promising candidates.

Progressive screening never makes a sampled score the final published score. A promoted candidate must be evaluated on the complete training partition before selection and Pareto publication.

Structural controls

Optional controls include maximum expression depth, occurrences per variable, distinct variable count, and constant count. Tighter bounds can make results more interpretable and reduce search time, but they can also exclude the true relationship.

Prioritise low-complexity formulas starts with a small active complexity ceiling and raises it after a configurable plateau. The plateau window and improvement threshold decide when the ceiling advances. This is useful when simple explanations should be exhausted before complex ones.

Maximum history size defaults to 20 and accepts values from 1 to 1,000. It bounds delays and rolling windows. Increasing it removes more warm-up rows and increases the amount of preceding data each evaluation may need.

Stop conditions and resources

Enable Time limit (optional, minutes) and enter a duration when you need a bounded interactive run; the limit is disabled by default. A search can also be stopped manually. Desktop search uses every processor exposed to the application. The CPU workers preference controls other shared background calculations after restart; it is not a desktop search-thread limit. Use the headless CLI with an explicit --threads value when a search itself must have bounded parallelism.

Search can consume substantial CPU and memory. Candidate rates are not directly comparable across different datasets, functions, metrics, sampling strategies, processor counts, or hardware.

Reproducibility

Set the split seed to repeat a random partition and the optional search seed to repeat the search's random choices. For a defensible record, retain:

  • the exact dataset or its verified fingerprint;
  • target and input identities;
  • all filtering and split settings;
  • metric, functions, and complexity costs;
  • constraints, normalization, optimization preset, and seeds;
  • Equarith and Java runtime versions; and
  • worker count and machine environment.

Seeded runs are designed to be deterministic under equivalent conditions. Different thread scheduling, worker count, runtime, hardware, or version can still change discovery order and which equivalent candidate enters the bounded Pareto archive.

Next, read Running a search.