public virtual double GetAutoCovariance(int lag)
{
if (lag >= Count)
throw new ArgumentException("Not enough data points in the series to calculate autocovariance");
var m = GetMean();
return Enumerable.Range(lag, Count - lag).Sum(i => (this[i, 0] - m)*(this[i - lag, 0] - m))/(Count - lag);
}