C# 计算方差

news/2024/11/17 2:33:52/

50,100,100,60,50 计算他们的方差

为了计算这些数的方差,需要进行以下步骤:

1. 计算平均值,即将这些数相加,然后除以它们的数量。

平均值 = (50 + 100 + 100 + 60 + 50) / 5 = 72

2. 计算每个数与平均值的差值。

50 - 72 = -22 100 - 72 = 28 100 - 72 = 28 60 - 72 = -12 50 - 72 = -22

3. 对每个差值进行平方。

(-22)^2 = 484 28^2 = 784 28^2 = 784 (-12)^2 = 144 (-22)^2 = 484

4. 计算所有平方差的平均值。

(484 + 784 + 784 + 144 + 484) / 5 = 535.2

因此,这些数的方差为535.2。

public static double GetSigma(List<double> dataList){var u = dataList.Average(); //平均值var sum = dataList.Sum(p => Math.Pow(p - u, 2));var sigma = Math.Sqrt(sum / (dataList.Count - 1));return sigma;}

结果:方差为535.2。

要确定异常值的差值,你需要先计算数据的方差。方差是用来衡量一组数据的离散程度,即数据的波动情况。如果方差较大,说明数据的波动很大,而如果方差较小,说明数据的波动较小。

一般来说,如果一个数据点与其它数据点的差值超过了3倍的标准差,那么它就被认为是一个异常值。因此,你可以先计算数据的标准差,然后将其乘以3,即可得到异常值的差值。具体步骤如下:

1.计算数据的方差,公式为:方差 = ∑(Xi - X平均)² / (N - 1),其中Xi为第i个数据点,X平均为所有数据点的平均值,N为数据点的总数。

2.计算数据的标准差,公式为:标准差 = 方差的平方根。

3.将标准差乘以3,即可得到异常值的差值。

例如,如果你有一个数据集合 {50, 100, 100, 60, 50},那么它的方差可以通过以下公式计算:方差 = ((50-72)² + (100-72)² + (100-72)² + (60-72)² + (50-72)²) / (5-1) ≈ 1190.67。

接下来,计算标准差:标准差 = 方差的平方根 ≈ 34.49。

最后,将标准差乘以3,即可得到异常值的差值:异常值的差值 = 34.49 * 3 ≈ 103.47。因此,如果一个数据点与其它数据点的差值超过103.47,那么它就被认为是一个异常值。


http://www.ppmy.cn/news/35224.html

相关文章

ESP8266WiFi模块与Android APP实现数据传输(一)---硬件接线

前言&#xff1a;本文主要介绍一下ESP8266WiFi模块与Andriod APP实现数据传输采用的硬件、接线、注意事项等。所需器件&#xff1a;序号器件型号1安可信ESP8266-12F&#xff08;AT MQTT固件&#xff09;2龙邱多电源模块&#xff08;12V1A转换线&#xff09;3TTL转USB模块4面包板…

基于 PyTorch + LSTM 进行时间序列预测(附完整源码)

时间序列数据&#xff0c;顾名思义是一种随时间变化的数据类型。 例如&#xff0c;24小时内的温度、一个月内各种产品的价格、某家公司一年内的股票价格等。深度学习模型如长短期记忆网络&#xff08;LSTM&#xff09;能够捕捉时间序列数据中的模式&#xff0c;因此可以用于预…

冒泡 VS 插入 VS 选择——谁更胜一筹?(附排序源码)

文章目录什么样的“排序算法”更加优质&#xff1f;排序算法的执行效率排序算法的内存消耗排序算法的稳定性冒泡排序&#xff08;Bubble Sort&#xff09;插入排序&#xff08;Insertion Sort&#xff09;选择排序&#xff08;Selection Sort&#xff09;最终的胜利者&#x1f…

K8s 应用的网络可观测性: Cilium VS DeepFlow

随着分布式服务架构的流行,特别是微服务等设计理念在现代应用普及开来,应用中的服务变得越来越分散,因此服务之间的通信变得越来越依赖网络,很有必要来谈谈实现微服务可观测性中越来越重要的一环——云原生网络的可观测。K8s 是微服务设计理念能落地的最重要的承载体,本文…

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】

文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…

Java stream性能比较

环境 Ubuntu 22.04IntelliJ IDEA 2022.1.3JDK 17CPU&#xff1a;8核 ➜ ~ cat /proc/cpuinfo | egrep -ie physical id|cpu cores physical id : 0 cpu cores : 1 physical id : 2 cpu cores : 1 physical id : 4 cpu cores : 1 physical id : 6 cpu cores : 1 physical id …

hexo 搭建个人博客记录

看B站的程序羊的关于搭建hexo博客的方法自己搭了一个博客&#xff0c;链接是 手把手教你从0开始搭建自己的个人博客 |无坑版视频教程| hexo 下面就视频所讲做做笔记&#xff0c;以后可以回来查看&#xff0c;推荐小伙伴想搭建hexo博客的可以去看看这个视频。 1. 安装Node.js…

javascript基础(二)

17 事件处理JS 事件&#xff08;event&#xff09;是当用户与网页进行交互时发生的事情&#xff0c;例如单机某个链接或按钮、在文本框中输入文本、按下键盘上的某个按键、移动鼠标等等。当事件发生时&#xff0c;您可以使用 JavaScript 中的事件处理程序&#xff08;也可称为事…