public double GetCovariance(TimeSeries series) { EnsureNotNull(series); var m1 = GetMean(); var m2 = series.GetMean(); int count = 0; double sum = 0; for (int i = 0; i < Count; ++i) { var dateTime = GetDateTime(i); if (series.Contains(dateTime)) { sum += (this[i] - m1) * (series[dateTime, SearchOption.ExactFirst] - m2); ++count; } } return(count <= 1 ? 0 : sum / (count - 1)); }
public double GetCovariance(TimeSeries series) { EnsureNotNull(series); var m1 = GetMean(); var m2 = series.GetMean(); int count = 0; double sum = 0; for (int i = 0; i < Count; ++i) { var dateTime = GetDateTime(i); if (series.Contains(dateTime)) { sum += (this[i] - m1) * (series[dateTime, SearchOption.ExactFirst] - m2); ++count; } } return count <= 1 ? 0 : sum / (count - 1); }