MathNet用到的一些功能

1、計算一元線性函數

Tuple<double, double> myLineTuple = MathNet.Numerics.Fit.Line(myXArray, myYArray);
double myA = myLineTuple.Item1;
double myB = myLineTuple.Item2;

2、常用統計函數

統計最小值、最大值、平均值、分位數等

double myMinimum = MathNet.Numerics.Statistics.Statistics.Minimum(myValueList);
double myMean = MathNet.Numerics.Statistics.Statistics.Mean(myValueList);
double myMaximum = MathNet.Numerics.Statistics.Statistics.Maximum(myValueList);
double myLowerQuartile = MathNet.Numerics.Statistics.Statistics.LowerQuartile(myValueList);
double myMedian = MathNet.Numerics.Statistics.Statistics.Median(myValueList);
double myUpperQuartile = MathNet.Numerics.Statistics.Statistics.UpperQuartile(myValueList);
MathNet.Numerics.Statistics.Statistics.Quantile(this.ValueList,0.2)

3、求兩組樣品的相關係數

MathNet.Numerics.Statistics.Correlation.Pearson(pValueList1, pValueList2);

4、根據相關性矩陣,求特徵值以及特徵向量

public void CalEigenValue(double[,] pCorrelationArray)
{
    var myCorrelationMatrix = DenseMatrix.OfArray(pCorrelationArray);
    var myEvd = myCorrelationMatrix.Evd();
    for (int i = 0; i < this.FactorList.Count; i++)
    {
        FactorAnalysisFactor myFactor = this.FactorList[i];
        myFactor.EigenValue = myEvd.D[i, i];
        myFactor.EigenValueArray = myEvd.EigenVectors.Column(i).ToArray();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章