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
-
Train Two Independent Regressions (on training data):
-
Apply Both Adjustments (to test data):
-
Recalculate Turbulence Intensity:
-
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
| Parameter | Type | Description |
|---|---|---|
config_path | str | Path to configuration JSON file |
split | bool | Whether to split data into train/test sets |
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:| Column | Description |
|---|---|
RSD_adjWS | Adjusted RSD wind speed |
RSD_adjSD | Adjusted RSD standard deviation |
adjTI_RSD_TI | Adjusted turbulence intensity |
adjRepTI_RSD_RepTI | Adjusted representative TI |
Regression Results
Contains two rows (one for WS model, one for SD model):| Column | Description |
|---|---|
sensor | Sensor identifier (WS or SD) |
height | Measurement height |
adjustment | Adjustment method name |
m | Regression slope |
c | Regression intercept |
rsquared | R² value |
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:| Metric | Value | Target | Pass |
|---|---|---|---|
| MRBE | +37.73% | ≤5% | ❌ |
| RRMSE | 121.61% | ≤15% | ❌ |
| N observations | 3,137 | - | - |
Comparison with Other Methods
Performance Comparison
| Method | MRBE | RRMSE | Complexity | Rank |
|---|---|---|---|---|
| SS-SF | 37.80% | 111.13% | Low | 🥇 1st |
| SSWSStd | 37.73% | 121.61% | High | 🥈 2nd |
| SSWS | 92.06% | 189.39% | Medium | 🥉 3rd |
| Baseline | 90.39% | 183.04% | None | - |
Feature Comparison
| Aspect | SSWSStd | SS-SF | SSWS |
|---|---|---|---|
| Parameters | 4 (m_ws, c_ws, m_sd, c_sd) | 2 (m, c) | 2 (m, c) |
| Adjusts | WS + SD | TI directly | WS only |
| Error Propagation | Yes (dual) | No | Yes |
| Training Complexity | Two models | One model | One model |
| Best For | Complex bias in both WS and SD | General purpose | WS-only bias |
Implementation Details
Class Definition
Mathematical Formulation
The method solves two independent least-squares problems: Wind Speed Model: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
- SS-SF Method - Simpler, better-performing alternative
- SSWS Method - Simpler version (WS adjustment only)
- Baseline Method - No adjustment reference
- Method Comparison Tool - Compare all methods
- DNV Validation - Validation framework
References
- DNV GL: DNV-RP-0661 - Remote Sensing Measurement Verification
- IEC 61400-12-1 - Wind turbine power performance testing

