/** * Compute the variance of timeseries. * * @param series The timeseries. * @return The variance. */ public double var(double[] series) { double res = 0D; double mean = mean(series); int count = 0; for (double tp : series) { res += (tp - mean) * (tp - mean); count += 1; } if (count > 0) { return res / ((Integer) (count - 1)).doubleValue(); } return Double.NaN; }
/** * Compute the variance of timeseries. * * @param series The timeseries. * @return The variance. */ public double var(double[] series) { double res = 0D; double mean = mean(series); int count = 0; for (double tp : series) { res += (tp - mean) * (tp - mean); count += 1; } if (count > 0) { return res / ((Integer) (count - 1)).doubleValue(); } return Double.NaN; }
/** * Z-Normalize routine. * * @param series the input timeseries. * @param normalizationThreshold the zNormalization threshold value. * @return Z-normalized time-series. */ public double[] znorm(double[] series, double normalizationThreshold) { double[] res = new double[series.length]; double sd = stDev(series); if (sd < normalizationThreshold) { // return series.clone(); // return array of zeros return res; } double mean = mean(series); for (int i = 0; i < res.length; i++) { res[i] = (series[i] - mean) / sd; } return res; }
/** * Z-Normalize routine. * * @param series the input timeseries. * @param normalizationThreshold the zNormalization threshold value. * @return Z-normalized time-series. */ public double[] znorm(double[] series, double normalizationThreshold) { double[] res = new double[series.length]; double sd = stDev(series); if (sd < normalizationThreshold) { // return series.clone(); // return array of zeros return res; } double mean = mean(series); for (int i = 0; i < res.length; i++) { res[i] = (series[i] - mean) / sd; } return res; }