Skip to main content

SSWSStd - Site-Specific Wind Speed + Standard Deviation Adjustment

Location: tact/adjustments/SSWSStd.py

Overview

The SSWSStd method extends the SSWS approach by adjusting both wind speed AND standard deviation independently before recalculating turbulence intensity. This provides two-parameter correction for comprehensive measurement adjustment.

Methodology

Algorithm Steps

  1. Train Two Independent Regressions (on training data):
  2. Apply Both Adjustments (to test data):
  3. Recalculate Turbulence Intensity:
  4. Calculate Representative TI:

Key Characteristics

  • Dual adjustment: Corrects both WS and SD separately
  • Four parameters: Two slopes + two intercepts
  • Independent corrections: WS and SD adjusted separately, then combined
  • Higher complexity: More parameters than SSWS but potentially better accuracy
  • Error propagation: Still subject to error amplification in division

Usage

Basic Example

Complete Workflow

Parameters

Required Parameters

Configuration Requirements

The config file must specify complete column mappings:

Required Data Columns

The input data must contain:
  • Reference wind speed (e.g., ref_ws)
  • Reference wind speed standard deviation (e.g., ref_sd)
  • Reference turbulence intensity (e.g., ref_ti)
  • RSD wind speed (e.g., rsd_ws)
  • RSD wind speed standard deviation (e.g., rsd_sd)
  • RSD turbulence intensity (e.g., rsd_ti)
  • Train/test split indicator (e.g., split)
  • Wind speed bins (e.g., bins)

Output Format

Returned Dictionary

Adjusted Data Columns

The method adds these columns to your data:

Regression Results

Contains two rows (one for WS model, one for SD model):

Performance Characteristics

When SSWSStd Works Well

  • Both WS and SD have strong linear correlations with reference
  • Systematic bias in both measurements
  • High R² (>0.9) for both regression models
  • Consistent relationships across wind speed ranges

When SSWSStd May Struggle

  • Dual error propagation: Errors from both WS and SD adjustments combine
  • Low wind speeds: Small denominators amplify errors
  • Overfitting risk: Four parameters may overfit to training data
  • Non-linear relationships: Linear models can’t capture complex patterns
  • Poor correlation: Low R² in either model degrades performance

Performance on Example Dataset

Based on DNV RP-0661 LV criteria validation: Ranking: 2nd best MRBE, 3rd best RRMSE (out of 4 methods) Analysis: Better than SSWS but not as good as SS-SF. The dual adjustment adds complexity without improving performance enough to justify it. Error propagation through division still dominates.

Comparison with Other Methods

Performance Comparison

Feature Comparison

Implementation Details

Class Definition

Mathematical Formulation

The method solves two independent least-squares problems: Wind Speed Model:
Standard Deviation Model:
Then combines them:

Troubleshooting

High MRBE/RRMSE Despite Good R² Values

Cause: Error propagation when dividing adjusted SD by adjusted WS Solution:
  • Try SS-SF method (adjusts TI directly, no division)
  • Consider filtering low wind speed data where division errors are largest
  • Check for systematic bias patterns by wind speed bin

Large Differences Between Training and Test Performance

Cause: Overfitting with 4 parameters, or non-representative split Solution:

Negative Adjusted Values

Cause: Large negative intercepts with low WS or SD values Solution:

When to Use SSWSStd

Use SSWSStd When:

  • Both WS and SD show systematic bias vs reference
  • You have large dataset (>2000 points for training)
  • R² > 0.9 for both WS and SD models
  • You need independent control over WS and SD corrections

❌ Don’t Use SSWSStd When:

  • SS-SF performs better (check comparison results)
  • You have limited data (less than 500 points)
  • Either WS or SD has poor correlation (R² less than 0.8)
  • Error propagation is a concern (low wind speeds common)

See Also

References

  • DNV GL: DNV-RP-0661 - Remote Sensing Measurement Verification
  • IEC 61400-12-1 - Wind turbine power performance testing

Source Code

Full implementation: tact/adjustments/SSWSStd.py