/// <summary> /// Calculates the central moments to order 4 on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <returns>4 x data.Cols matrix.</returns> public static matrix MomentsCentral4(matrix data) { var moments = new matrix(4, data.Cols); ThrowHelper.Check(Vsl.MomentsCentral4(data.Rows, data.Cols, data.Array, moments.Array)); return(moments); }
/// <summary> /// Calculates the standard moments to order 3 on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <returns>3 x data.Cols matrix.</returns> public static matrix MomentsStandard3(matrix data) { var moments = new matrix(3, data.Cols); ThrowHelper.Check(Vsl.MomentsStandard3(data.Rows, data.Cols, data.Array, moments.Array)); return(moments); }
/// <summary> /// Calculates the weighted raw moments to order 4 on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <param name="weight">The weights to use on the data columns (must be length data.Rows).</param> /// <returns>4 x data.Cols matrix.</returns> public static matrix MomentsRaw4(matrix data, vector weight) { var moments = new matrix(4, data.Cols); ThrowHelper.Check(Vsl.MomentsRaw4Weighted(data.Rows, data.Cols, data.Array, weight.Array, moments.Array)); return(moments); }
/// <summary> /// Calculates the sum on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <returns>The sum vectorT.</returns> public static vectorT Sum(matrix data) { var r = new vectorT(data.Cols); ThrowHelper.Check(Vsl.Sum(data.Rows, data.Cols, data.Array, r.Array)); return(r); }
/// <summary> /// Calculates the weighted median on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <param name="weight">The weights to use on the data columns (must be length data.Rows).</param> /// <returns>The median vectorT.</returns> public static vectorT Median(matrix data, vector weight) { var r = new vectorT(data.Cols); ThrowHelper.Check(Vsl.MedianWeighted(data.Rows, data.Cols, data.Array, weight.Array, r.Array)); return(r); }
/// <summary> /// Calculates the weighted sum ... sum ^ 4 on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <param name="weight">The weights to use on the data columns (must be length data.Rows).</param> /// <returns>4 x data.Cols matrix.</returns> public static matrix Sum4(matrix data, vector weight) { var r = new matrix(4, data.Cols); ThrowHelper.Check(Vsl.SumRaw4Weighted(data.Rows, data.Cols, data.Array, weight.Array, r.Array)); return(r); }
/// <summary> /// Calculates the sum ... sum ^ 4 on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <returns>4 x data.Cols matrix.</returns> public static matrix Sum4(matrix data) { var r = new matrix(4, data.Cols); ThrowHelper.Check(Vsl.SumRaw4(data.Rows, data.Cols, data.Array, r.Array)); return(r); }
/// <summary> /// Calculates the weighted correlation on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <param name="weight">The weights to use on the data columns (must be length data.Rows).</param> /// <param name="mean">The calculated mean.</param> /// <returns>data.Cols x data.Cols matrix.</returns> public static matrix Correlation(matrix data, vector weight, out vectorT mean) { mean = new vectorT(data.Cols); var cor = new matrix(data.Cols, data.Cols); ThrowHelper.Check(Vsl.CorrelationWeighted(data.Rows, data.Cols, data.Array, weight.Array, mean.Array, cor.Array)); return(cor); }
/// <summary> /// Calculates the weighted covariance on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <param name="weight">The weights to use on the data columns (must be length data.Rows).</param> /// <param name="mean">The calculated mean.</param> /// <returns>data.Cols x data.Cols matrix.</returns> public static matrix Covariance(matrix data, vector weight, out vectorT mean) { mean = new vectorT(data.Cols); var cov = new matrix(data.Cols, data.Cols); ThrowHelper.Check(Vsl.CovarianceWeighted(data.Rows, data.Cols, data.Array, weight.Array, mean.Array, cov.Array)); return(cov); }
/// <summary> /// Calculates the weighted median and MAD on the columns of data. /// </summary> /// <param name="data">The data columns to calculate on.</param> /// <param name="weight">The weights to use on the data columns (must be length data.Rows).</param> /// <param name="mad">The calculated MAD.</param> /// <returns>The median vectorT.</returns> public static vectorT MedianMAD(matrix data, vector weight, out vectorT mad) { var median = new vectorT(data.Cols); mad = new vectorT(data.Cols); ThrowHelper.Check(Vsl.MedianMADWeighted(data.Rows, data.Cols, data.Array, weight.Array, median.Array, mad.Array)); return(median); }