Index: branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/DeviationTransformation.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/DeviationTransformation.cs	(revision 10784)
+++ branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/DeviationTransformation.cs	(revision 10784)
@@ -0,0 +1,72 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.DataAnalysis.Transformations {
+  [Item("DeviationTransformation", "Represents a linear Transformation using deviation Parameters")]
+  public class DeviationTransformation : LinearTransformation {
+    protected const string MeanParameterName = "Mean";
+    protected const string VarianceParameterName = "Variance";
+
+    #region Parameters
+    public IValueParameter<DoubleValue> MeanParameter {
+      get { return (IValueParameter<DoubleValue>)Parameters[MeanParameterName]; }
+    }
+    public IValueParameter<DoubleValue> VarianceParameter {
+      get { return (IValueParameter<DoubleValue>)Parameters[VarianceParameterName]; }
+    }
+    #endregion
+
+    #region properties
+    public double Mean {
+      get { return MeanParameter.Value.Value; }
+    }
+    public double Variance {
+      get { return VarianceParameter.Value.Value; }
+    }
+    #endregion
+
+    [StorableConstructor]
+    protected DeviationTransformation(bool deserializing) : base(deserializing) { }
+    protected DeviationTransformation(Transformation<double> original, Cloner cloner)
+      : base(original, cloner) {
+    }
+    public DeviationTransformation(IEnumerable<string> allowedColumns)
+      : base(allowedColumns) {
+      MultiplierParameter.Hidden = true;
+      AddendParameter.Hidden = true;
+      Parameters.Add(new ValueParameter<DoubleValue>(MeanParameterName, "Mean value for the target deviation.", new DoubleValue(0.0)));
+      Parameters.Add(new ValueParameter<DoubleValue>(VarianceParameterName, "Variance for the target deviation.", new DoubleValue(1.0)));
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new DeviationTransformation(this, cloner);
+    }
+
+    public override IEnumerable<double> Apply(IEnumerable<double> data) {
+      ConfigureParameters(data);
+      return base.Apply(data);
+    }
+
+    public override bool Check(IEnumerable<double> data, out string errorMsg) {
+      ConfigureParameters(data);
+      return base.Check(data, out errorMsg);
+    }
+
+    protected void ConfigureParameters(IEnumerable<double> data) {
+      double standardDeviation = data.StandardDeviation();
+      double middle = data.Average();
+      // TODO:
+      // http://en.wikipedia.org/wiki/Standard_deviation
+      // http://www.statistics4u.info/fundstat_germ/ee_ztransform.html
+      // https://www.uni-due.de/~bm0061/vorl12.pdf p5
+      throw new NotImplementedException();
+    }
+
+  }
+}
Index: branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/HeuristicLab.Problems.DataAnalysis.Transformations-3.3.csproj
===================================================================
--- branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/HeuristicLab.Problems.DataAnalysis.Transformations-3.3.csproj	(revision 10782)
+++ branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/HeuristicLab.Problems.DataAnalysis.Transformations-3.3.csproj	(revision 10784)
@@ -48,4 +48,5 @@
   <ItemGroup>
     <Compile Include="CopyColumnTransformation.cs" />
+    <Compile Include="DeviationTransformation.cs" />
     <Compile Include="ExponentiationTransformation.cs" />
     <Compile Include="ExponentialTransformation.cs" />
Index: branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/ReciprocalTransformation.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/ReciprocalTransformation.cs	(revision 10782)
+++ branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/ReciprocalTransformation.cs	(revision 10784)
@@ -10,4 +10,5 @@
   public class ReciprocalTransformation : Transformation<double> {
 
+    //TODO: is a special case of Linear
     [StorableConstructor]
     protected ReciprocalTransformation(bool deserializing) : base(deserializing) { }
