-
大小: 1KB文件類型: .zip金幣: 2下載: 1 次發(fā)布日期: 2021-06-11
- 語言: C#
- 標(biāo)簽: 計(jì)算??相關(guān)系數(shù)??C#??源碼??
資源簡介
計(jì)算相關(guān)系數(shù) 標(biāo)準(zhǔn)差 離散系數(shù) 均值
計(jì)算相關(guān)系數(shù)的相關(guān)靜態(tài)方法,包括求均值,標(biāo)準(zhǔn)差,相關(guān)系數(shù),離散系數(shù),預(yù)警區(qū)間

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Web;
namespace?HUBU.Statistics
{
????///?
????///?求相關(guān)系數(shù)的相關(guān)靜態(tài)方法,包括求均值,標(biāo)準(zhǔn)差,相關(guān)系數(shù),離散系數(shù),預(yù)警區(qū)間
????///?
????public?static?class?Correlation
????{
????????///?
????????///?獲取均值,求傳入數(shù)組的算數(shù)均值
????????///?
????????public?static?double?GetAverage(double[]?data)
????????{
????????????int?len?=?data.Length;
????????????if?(len?==?0)
????????????????throw?new?Exception(“No?data“);
????????????double?sum?=?0;
????????????for?(int?i?=?0;?i?????????????????sum?+=?data[i];
????????????return?sum?/?len;
????????}
????????///?
????????///?獲取標(biāo)準(zhǔn)差,求傳入數(shù)組的標(biāo)準(zhǔn)差
????????///?
????????public?static?double?GetStdev(double[]?data)
????????{
????????????//?return?Math.Sqrt(GetVariance(data));
????????????double?x2?=?0;
????????????double?sumx?=?0;
????????????int?n?=?data.Length;
????????????foreach?(double?d?in?data)
????????????{
????????????????x2?+=?d?*?d;
????????????????sumx?+=?d;
????????????}
????????????return?Math.Sqrt((x2?*?n?-?sumx?*?sumx)?/?(n*(n-1)));
????????}
????????///?
????????///?求兩列數(shù)據(jù)的相關(guān)系數(shù)
????????///?
????????public?static?double?GetCorrelation(double[]?x?double[]?y)
????????{
????????????if?(x.Length?!=?y.Length)
????????????????throw?new?Exception(“Length?of?sources?is?different“);
????????????double?avgX?=?0;
????????????double?avgY?=?0;
????????????double?sumx?=?0;
????????????double?sumy?=?0;
????????????double?xy?=?0;
????????????double?x2?=?0;
????????????double?y2?=?0;
????????????int?len?=?x.Length;
????????????for?(int?i?=?0;?i?????????????{
????????????????sumx?+=?x[i];
????????????????sumy?+=?y[i];
????????????????xy?+=?x[i]?*?y[i];
????????????????x2?+=?x[i]?*?x[i];
????????????????y2?+=?y[i]?*?y[i];
????????????}
????????????avgX?=?sumx/len;
????????????avgY?=sumy/len;
????????????double?exy?=?xy?/?len;
????????????double?exey?=?avgX?*?avgY;
????????????double?ex2?=?x2?/?len;
????????????double?e2x?=?avgX?*?avgX;
????????????double?ey2?=?y2?/?len;
????????????double?e2y?=?avgY?*?avgY;
????????????double?fm1=?Math.Sqrt(ex2?-?e2x)?;
????????????double?fm2?=Math.Sqrt(ey2?-?e2y);
????????????return?(exy?-?exey)?/?(fm1?*?fm2);
????????}
????????///?
????????///?獲取離散系數(shù),求傳入數(shù)組的標(biāo)準(zhǔn)差/均值即離散系數(shù)。
????????///?
????????///?
????????///?
????????public?static?double?GetCoefficientofVariation(double[]?x)
????????{
????????????double?x2?=?0;
????????????double?sumx?=?0;
????????????int?n?=?x.Length;
????????????foreach?(double?d?in?x)
????????????{
????????????????x2?+=?d?*?d;
????????????????sumx?+=?d;
????????????}
????????????return?Math.Sqrt((x2?*?n?-?sumx?*?sumx)?/?(n?*?(n?-?1)))?/?(sumx/n);
????????}
????????
????????///?
????????///?獲取預(yù)警區(qū)間,(均值-標(biāo)準(zhǔn)差,均值+標(biāo)準(zhǔn)差)
????????///?
????????///?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????3838??2010-08-24?13:25??Correlation.cs
評(píng)論
共有 條評(píng)論