日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

基于c#的相关性分析_开源Math.NET基础数学类库使用(11)C#计算相关系数

發布時間:2025/3/20 C# 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于c#的相关性分析_开源Math.NET基础数学类库使用(11)C#计算相关系数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據集的基本統計計算是應用數學,以及統計應用中最常用的功能。如計算數據集的均值,方差,標準差,最大值,最小值,熵等等。Math.NET中的MathNet.Numerics.Statistics命名空間就包括了大量的這些統計計算的函數。今天就為大家介紹的是使用Math.NET計算相關系數的類:Correlation。

1.Math.NET計算相關系數的類

Correlation類在Math.NET在MathNet.Numerics.Statistics的命名空間下:

Correlation,靜態類,計算2個數據集的相關度,如皮爾遜積差相關系數,加權皮爾遜積差相關系數,皮爾遜積差相關矩陣等;

相關系數的定義如下:

相關系數,或稱線性相關系數、皮氏積矩相關系數(Pearson product-moment correlation coefficient, PPCC)等,是衡量兩個隨機變量之間線性相關程度的指標。它由卡爾·皮爾森(Karl Pearson)在1880年代提出[1],現已廣泛地應用于科學的各個領域。 相關系數計算公式中,取值范圍為[-1,1],r>0表示正相關,r<0表示負相關,|r|表示了變量之間相關程度的高低。特殊地,r=1稱為完全正相關,r=-1稱為完全負相關,r=0稱為不相關。通常|r|大于0.8時,認為兩個變量有很強的線性相關性。

Correlation類中的相關系數類型,如加權皮爾遜積差相關系數,皮爾遜積差相關矩陣的含義大家自己進行百度或者根據需要選擇閱讀。

2.Correlation的實現

在介紹其使用之前,還是介紹一下Correlation類型的實現和源碼。該類型是靜態類,其中的靜態方法都是每一個類型的相關系數的計算,因此在使用的時候,根據需要進行調用即可。其包含的內容如下,為了方便大家觀看,已經將其中的注釋翻譯為英文了,也相對于說明吧。

/// 2個數據集的相關度計算類

public static classCorrelation

{

/// 計算皮爾遜積差相關系數

/// 數據樣本A.

/// 數據樣本B.

/// 返回皮爾遜積差相關系數.

public static double Pearson(IEnumerable dataA, IEnumerabledataB)

{

int n = 0;

double r = 0.0;

double meanA = 0;

double meanB = 0;

double varA = 0;

double varB = 0;

using (IEnumerator ieA =dataA.GetEnumerator())

using (IEnumerator ieB =dataB.GetEnumerator())

{

while(ieA.MoveNext())

{

if (!ieB.MoveNext())

{

throw new ArgumentOutOfRangeException("dataB", Resources.ArgumentArraysSameLength);

}

double currentA =ieA.Current;

double currentB =ieB.Current;

double deltaA = currentA -meanA;

double scaleDeltaA = deltaA/++n;

double deltaB = currentB -meanB;

double scaleDeltaB = deltaB/n;

meanA +=scaleDeltaA;

meanB +=scaleDeltaB;

varA += scaleDeltaA*deltaA*(n - 1);

varB += scaleDeltaB*deltaB*(n - 1);

r += (deltaA*deltaB*(n - 1))/n;

}

if(ieB.MoveNext())

{

throw new ArgumentOutOfRangeException("dataA", Resources.ArgumentArraysSameLength);

}

}

return r/Math.Sqrt(varA*varB);

}

/// 計算加權皮爾遜積差相關系數.

/// 數據樣本A.

/// 數據樣本B.

/// 數據權重.

/// 加權皮爾遜積差相關系數.

public static double WeightedPearson(IEnumerable dataA, IEnumerable dataB, IEnumerableweights)

{

int n = 0;

double meanA = 0;

double meanB = 0;

double varA = 0;

double varB = 0;

double sumWeight = 0;

double covariance = 0;

using (IEnumerator ieA =dataA.GetEnumerator())

using (IEnumerator ieB =dataB.GetEnumerator())

using (IEnumerator ieW =weights.GetEnumerator())

{

while(ieA.MoveNext())

{

if (!ieB.MoveNext())

{

throw new ArgumentOutOfRangeException("dataB", Resources.ArgumentArraysSameLength);

}

if (!ieW.MoveNext())

{

throw new ArgumentOutOfRangeException("weights", Resources.ArgumentArraysSameLength);

}

++n;

double xi =ieA.Current;

double yi =ieB.Current;

double wi =ieW.Current;

double temp = sumWeight +wi;

double deltaX = xi -meanA;

double rX = deltaX*wi/temp;

meanA +=rX;

varA += sumWeight*deltaX*rX;

double deltaY = yi -meanB;

double rY = deltaY*wi/temp;

meanB +=rY;

varB += sumWeight*deltaY*rY;

sumWeight =temp;

covariance += deltaX*deltaY*(n - 1)*wi/n;

}

if(ieB.MoveNext())

{

throw new ArgumentOutOfRangeException("dataB", Resources.ArgumentArraysSameLength);

}

if(ieW.MoveNext())

{

throw new ArgumentOutOfRangeException("weights", Resources.ArgumentArraysSameLength);

}

}

return covariance/Math.Sqrt(varA*varB);

}

/// 計算皮爾遜積差相關矩陣

/// 數據矩陣

/// 皮爾遜積差相關矩陣.

public static Matrix PearsonMatrix(params double[][] vectors)

{

var m = Matrix.Build.DenseIdentity(vectors.Length);

for (int i = 0; i < vectors.Length; i++)

{

for (int j = i + 1; j < vectors.Length; j++)

{

var c =Pearson(vectors[i], vectors[j]);

m.At(i, j, c);

m.At(j, i, c);

}

}

returnm;

}

/// 計算皮爾遜積差相關矩陣

總結

以上是生活随笔為你收集整理的基于c#的相关性分析_开源Math.NET基础数学类库使用(11)C#计算相关系数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色xxxx| 啪啪天堂 | 免费看黄色a级片 | 毛片免费全部无码播放 | 欧美黑人一区二区三区 | 一级黄色片在线看 | 欧美美女色图 | 日韩在线播放中文字幕 | 亚洲色图欧美色 | 粉嫩aⅴ一区二区三区 | 男女啪啪网站免费 | 日本一区二区三区欧美 | 黄色网av| 色视频在线免费观看 | 青青草激情| 亚洲视频免费在线观看 | 精品国产日本 | 精品一区二区三区成人免费视频 | 精品福利一区二区三区 | 免费看黄色网址 | 色婷婷丁香 | 999国产精品| 91免费影片 | 欧美黑人疯狂性受xxxxx野外 | 香蕉视频在线观看网站 | 久久精品色妇熟妇丰满人妻 | 成人开心激情 | 黄色a一级片 | 日韩欧美大片在线观看 | 91精品久久久久久久99蜜桃 | a天堂资源在线观看 | 国产精品日本一区二区在线播放 | 国产综合亚洲精品一区二 | 成人性生交大免费看 | 国产极品在线观看 | 欧美999 | 午夜美女网站 | 欧美色图另类 | 免费在线观看成年人视频 | 日本不卡影院 | 亚洲男人天堂电影 | 另类小说av| 久久精品国产亚洲av麻豆色欲 | 国产不卡av在线 | 黄色不卡视频 | 免费aa视频 | 黄色特级毛片 | 成年人的毛片 | 黄色理伦 | 欧洲精品在线观看 | 国模无码大尺度一区二区三区 | 亚洲久久在线观看 | 国产亚洲精品久久久久四川人 | 在线观看成年人网站 | 久久青青热 | 99er精品视频| ,国产精品国产三级国产 | 久久精品视频8 | 亚洲一区二三区 | 91香蕉视频在线 | 国产一区二区片 | 污免费视频 | 老狼影院伦理片 | 女人高潮被爽到呻吟在线观看 | 亚洲男人的天堂在线观看 | 欧美亚洲一区 | 91网址在线观看 | 亚洲欧美日本另类 | 日日爽视频 | 亚洲欧美一区二区三区在线 | 国产日本欧美在线观看 | 精品少妇人妻av一区二区三区 | 亚洲第一成年网 | 成人精品视频99在线观看免费 | h官场少妇第三部分 | 一级片免费看视频 | 欧美激情 亚洲 | 天堂在线观看免费视频 | 免费在线观看黄色片 | 国产一极片| 亚洲 日本 欧美 中文幕 | 在线麻豆视频 | 亚洲天堂一区二区三区 | 日本japanese丰满白浆 | 青青草www| 无码人妻精品一区二区三区温州 | 欧美 日韩 国产 亚洲 色 | 丰满人妻一区二区三区免费视频棣 | 久久成人乱码欧美精品一区二区 | 日韩欧美视频免费观看 | 国产精品9999| 探花视频在线免费观看 | 国产精品免费视频一区 | wwwwww在线观看 | 天天色天天射天天干 | 操日本老太太 | 久久影院精品 | 在线播放你懂的 | 日本在线观看一区 |