REGRESSION BASED SMOOTHING OF CURVE

Smooths a curve using locally-weighted regression (LOESS), fitting a polynomial of selectable order within a sliding window whose size is expressed as a percentage of total points. Supports multiple smoothing iterations, tri-cube or linear weighting schemes, and optional derivative-domain smoothing.

When to use

Classification: process.

Tagged: curve_smoothing, locally_weighted_regression, loess, lowess, polynomial_fit, regression_smooth, signal_smoothing, transformations.

Inputs

Label ID Type Default Required Description
Curve In curve_in vector   Input curve (X/Y vector) to be smoothed; accepts any dimensioned time-history or force-displacement curve.
Percentage Of Points percentageof_points scalar 5   LOESS window size as a percentage of total points (default 5 = 5%); if a negative value is supplied it is interpreted as an absolute point count instead.
Weight Type weight_type scalar linear   Weighting kernel applied to points within the local window — ‘linear’ (default) for linear decay, ‘tri-cube’ for the standard LOESS tricube kernel, which down-weights outliers more aggressively.
Iterations iterations scalar 1   Number of successive LOESS smoothing passes applied to the curve (1–10); default is 1; higher values increase smoothing at the cost of detail.
Order Of Fit orderof_fit scalar 1   Order of fit. Linear is a good default
Digitize dig_points scalar 100   No. of points in final output curve
Retain First Point retain_first_point string yes   Option to always retain the first raw x and y points for the output curve
Optimize optimize string no   Optimize smoothing; Find the optimal values to provide the best smoothing globally or locally
Digitize digitize string yes   No. of points in final output curve
Use Derivative For Smoothing smooth_derivative string no   Smooth derivative and then integrate
Derivative Threshold derivative_th scalar 0   High derivative points larger than this factor over the range of the derivative will be skipped for smoothing. A value of 0.2-0.3 is recommended for stress vs strain curves
Ratio Of Difference ratio_max scalar 0   If the new smoothed value is out of this ratio, the original value will be used
Optimize Locally (Deprecated) optimize_locally string no   Based on the window-size, optimize locally. Retained for backward compatibility.
Choose Optimization Parameters (Deprecated) optimize_params string no   Limit optimization to these. If not selected, all options will be used for optimization
Use Variable Window Size use_variable_window_size string no   This helps in a variable window size that is useful for highly varying derivative
Start X start_x string   Only Smooth points whose X-value is greater than this value
Max Window Size max_ws string 8   Used when variable window size is specified
Use Variable Order use_variable_order string no   This helps in a variable order for nonlinear curve
Max Order Size max_order string 3   Used when variable order is specified
Use Shadow Points use_shadow_points string no   This helps in more accurate boundary points

Outputs

Label ID Type Description
curve_regression_smooth_output_1 curve_regression_smooth_output_1 vector Smoothed output curve (X/Y vector) with the same domain as the input curve, transformed by the LOESS regression pass(es).

Disciplines

  • data.curve.transform
  • data.signal_processing

Runnable example

A runnable example is registered for this worker. Open the example workflow on the d3VIEW canvas: /api/workflow/example?id=curve_regression_smooth


Auto-generated from transformation schema. Worker id: curve_regression_smooth. Schema hash: 99c8d98c8cf6. Hand-curated docs in workerexamples/ override this page when present.