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.