博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法--样本方差、样本标准差、方差、标准方差与加权平均
阅读量:6256 次
发布时间:2019-06-22

本文共 2892 字,大约阅读时间需要 9 分钟。

样本方差与样本标准差

 1、定义:样本中各数据与样本平均数的差的平方和的平均数叫做样本方差;样本方差的算术平方根叫做样本标准差。

      注:样本方差和样本标准差都是衡量一个样本波动大小的量,样本方差或样本标准差越大,样本数据的波动就越大。

标准差与标准方差

1、定义:方差是各个数据与平均数之差的平方和的平均数。在概率论和数理统计中,方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。标准差在概率统计中最常使用作为统计分布程度上的测量。标准差定义为方差的算术平方根,反映组内个体间的离散程度。

加权平均

1、定义:加权平均数(weighted average)是不同比重数据的平均数,就是把原始数据按照合理的比例来计算。

 

算法代码如下:

public static double StandardDeviation(this IList
source) { if (source == null) { throw new ArgumentNullException("source"); } if (source.Count == 0) { return double.NaN; } double variance = source.Variance(); return Math.Sqrt(variance); } public static double SampleStandardDeviation(this IList
source) { if (source == null) { throw new ArgumentNullException("source"); } if (source.Count == 0 || source.Count == 1) { return double.NaN; } double variance = source.SampleVariance(); return Math.Sqrt(variance); } public static double Variance(this IList
source) { if (source == null) { throw new ArgumentNullException("source"); } if (source.Count == 0) { return double.NaN; } int count = source.Count(); double deviation = CalculateDeviation(source, count); return deviation / count; } public static double SampleVariance(this IList
source) { if (source == null) { throw new ArgumentNullException("source"); ; } if (source.Count == 0 || source.Count == 1) { return double.NaN; } int count = source.Count(); double deviation = CalculateDeviation(source, count); return deviation / (count - 1); } public static double WeightedAverage(this IList
source, IList
factors) { if (source == null) { throw new ArgumentNullException("source"); } if (source.Count != factors.Count) { throw new ArgumentException("source count is not equal to factors count."); } if (source.Count == 0) { return double.NaN; } double sum = factors.Sum(); if (sum == 0) { return double.NaN; } double weight = 0; for (int index = 0; index < factors.Count; index++) { weight += source[index] * (factors[index] / sum); } return weight; } private static double CalculateDeviation(IList
source, int count) { double avg = source.Average(); double deviation = 0; for (int index = 0; index < count; index++) { deviation += (source[index] - avg) * (source[index] - avg); } return deviation; }

以上在金融方面用得比较多.....

转载地址:http://istsa.baihongyu.com/

你可能感兴趣的文章
【Android】3.9 覆盖物功能
查看>>
MySQL也有潜规则 – Select 语句不加 Order By 如何排序?
查看>>
搭建SolrCloud的详细步骤
查看>>
svn的安装与使用
查看>>
基于Linux下Iptables限制BT下载的研究
查看>>
Android对话框-中篇-之建立自己的对话框
查看>>
华为交换机VRP用户界面配置及Telnet登录实验
查看>>
作为一个程序员我最大的遗憾
查看>>
《SolidWorks 2012中文版从入门到精通》一6.5 综合实例——斜齿圆柱齿轮
查看>>
storm集群的监控
查看>>
Vue学习笔记(2)—— Vue的生命周期
查看>>
RHCE 6.0学习笔记-2 RHEL 6 使用光盘配置本地YUM源
查看>>
Mongodb定期备份
查看>>
Confluence 6 数据库设置
查看>>
刨根问底-struts-怎么加载配置的相应的信息
查看>>
解决mysql数据库大小写敏感问题
查看>>
PPT制作技巧
查看>>
《.NET最佳实践》与Ext JS/Touch的团队开发
查看>>
Spring知识点小结汇总
查看>>
maven安装报错
查看>>