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();
    }
}
复制代码

 

posted @   mytudousi  阅读(672)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示