方差

2023-11-13

方差在概率统计中有很重要的作用:


2公式

方差

方差

方差是实际值与 期望值之差 平方的期望值,而 标准差是方差算术 平方根[1]   在实际计算中,我们用以下公式计算方差。
方差是各个数据与 平均数之差的平方的和的平均数,即  ,其中,x_表示 样本的平均数,n表示样本的数量,xn表示个体,而s^2就表示方差。
而当用  作为样本X的方差的估计时,发现其 数学期望并不是X的方差,而是X方差的  倍,  的数学期望才是X的方差,用它作为X的方差的估计具有“ 无偏性”,所以我们总是用  来估计X的方差,并且把它叫做“ 样本方差”。
方差,通俗点讲,就是和 中心偏离的程度!用来衡量一批数据的波动大小(即这批数据偏离平均数的大小)并把它叫做这组数据的方差。记作S 2。 在 样本容量相同的情况下,方差越大,说明数据的波动越大,越不稳定。


根据我的需要,我已经方差定义 写了一个算法,每个人可以根据实际情况修改算法:


C++ 实现:

1: 根据定义的算法:

//计算平均数

int get_Average(  short * pszShortBuf, int nShortBufLen )
{
if ( !pszShortBuf || nShortBufLen <= 0 )
{
return 0;
}

int nAverage = 0;

for ( int  i = 0; i < nShortBufLen; i++ )
{
nAverage = nAverage + pszShortBuf[i] ;
}


nAverage = nAverage / nShortBufLen;


return nAverage;
}


//计算方差

int get_Variance( short * pszShortBuf, int nShortBufLen )
{
if ( !pszShortBuf || nShortBufLen <= 0 )
{
return 0;
}


int nAverage = get_Average( pszShortBuf, nShortBufLen ) ;

unsigned int nVariance = 0;
for ( int i = 0; i<nShortBufLen; i++ )
{
int ntemp = pszShortBuf[i] - nAverage;
nVariance = nVariance + ( ntemp * ntemp );
}


nVariance = nVariance / nShortBufLen;


return nVariance;
}


2:修改算法:

根据我的需要,修改算法,将其中的数据修改为正整数:


//计算平均数

int get_Average(  short * pszShortBuf, int nShortBufLen )
{
if ( !pszShortBuf || nShortBufLen <= 0 )
{
return 0;
}

int nAverage = 0;

for ( int  i = 0; i < nShortBufLen; i++ )
{
nAverage = nAverage + abs( pszShortBuf[i] ) ;
}


nAverage = nAverage / nShortBufLen;


return nAverage;
}


//计算方差

int get_Variance( short * pszShortBuf, int nShortBufLen )
{
if ( !pszShortBuf || nShortBufLen <= 0 )
{
return 0;
}


int nAverage = get_Average( pszShortBuf, nShortBufLen ) ;

unsigned int nVariance = 0;
for ( int i = 0; i<nShortBufLen; i++ )
{
int ntemp = abs( pszShortBuf[i] ) - nAverage;
nVariance = nVariance + ( ntemp * ntemp );
}


nVariance = nVariance / nShortBufLen;


return nVariance;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

方差 的相关文章

  • Qt5实现与单片机ATS89S51通信

    Qt实现与单片机直接的通信上位机 单片机代码 测试环境 项目目标 实现效果 关键通信类 QSerialport 总结 这是我大二下学期的单片机课设做的一个小项目 实现上位机与下位机之间的通信 测试环境 开发环境 Qt5 96 Mingw32
  • 每天都在谈SOA和微服务,但你真的理解什么是服务吗?

    近几年来 我一直从事着和面向服务相关的底层软件研发工作 逐渐的形成了一些自己的看法 其中我觉得比较重要的看法就是服务需要一个更准确细致的定义 简单来说 服务的本质就是行为 业务活动 的抽象 为了更好的阐述新服务的概念 并方便与传统的SOA中
  • 五. python面向对象(多态 和metaclass=abc.ABCMeta)

    一 多态 多肽 一种事物的多种形态 叫多肽 例如 动物 animal 猫 狗 animal py 文件 动物类 都有名字这个属性 和吃这个方法 class Animal object def init self name self name
  • C语言pcre库的使用及验证IP地址的合法性

    PCRE是一个用C语言编写的正则表达式函数库 它十分易用 同时功能也很强大 性能超过了POSIX正则表达式库和一些经典的正则表达式库 在使用PCRE库时 首先肯定是需要安装pcre的 不过一般的系统都会有自带的PCRE库 不过如果想使用最新
  • c/c++入门教程 - 1.基础c/c++ - 1.0 Visual Studio 2019安装环境搭建

    推荐视频课程 https www bilibili com video BV1et411b73Z p 2 已投币三连 b站果然是个学习的网站 本来是想在linux环境下运行QT 于是先学了几个月linux嵌入式驱动开发 后来发现太底层了 与
  • JNA模拟复杂的C类型——Java映射char*、int*、float*、double*

    文章目录 引言 Java Native Type Conversions Java和C基本类型指针对应关系 Pointer的具体用法 引言 最近项目在用Java调用C写的一些三方库 没办法直接调 用Java封装一下C的接口 这就少不了要用到
  • c++得到窗口句柄

    include
  • 简析多级指针解引用

    转自 简析多级指针解引用 指针是C语言中公认的最为强大的语法要素 但同时也是最难理解的语法要素 它曾给程序员带来了无数麻烦和痛苦 以致于在C语言之后诞生的很多新兴 语言中我们再也难觅指针的身影了 下面是一个最简单的C语言指针的例子 int
  • 如何学好C语言的数据结构与算法?

    C语言的数据结构与算法 难就难在链表 学会了链表 可能后面就一点都不难了 书籍推荐 数据结构与算法分析 C语言描述版 要深入学习的话可以选择这本书 因为针对链表的讲解是比较详细的 所以可以很快理解链表 跟着书上一点点实现基本操作 增删改查
  • GDAL多光谱与全色图像融合简单使用

    目录 简述 C 代码 效果对比 GDAL融合效果和原始多光谱波段对比 GDAL融合效果和原始全色波段对比 ARCGIS融合效果与原始全色和多光谱对比 GDAL融合效果与ArcGIS融合效果对比 简述 最近在GDAL的代码中看见了gdalpa
  • C++中的RTTI

    文章目录 dynamic cast运算符 指针类型的dynamic cast 引用类型的dynamic cast typeid运算符 使用RTTI type info类 参考资料 RTTI Runtime Type Information
  • Dev-C++之开启装逼效果

    Dev C 是个不错的C IDE 在10年前 它是很不错 在现在 它是个以界面丑陋和调试像吃粑粑这两点著称 如下图 实在是丑到离谱 丑到无法忍受 可是没办法呀 人家CCF规定比赛用这个 你个小蒟蒻吵什么 我现在就来讲讲怎么把你的Dev C
  • stat 函数解析

    stat 函数的简单使用 stat 函数是用来获取文件的各种属性的一个linux下的常用API函数 函数原型为int stat const char path struct stat buf stat定义如下 struct stat dev
  • enable_shared_from_this使用介绍

    文章目录 enable shared from this定义 使用场合 源码实现 注意 enable shared from this定义 定义于头文件 template lt class T gt class enable shared
  • 【C++】运算符重载

    加号运算符重载 include
  • C/C++编程:令人印象深刻的高级技巧案例

    C C 编程语言在软件开发领域有着悠久的历史 由于其高效 灵活和底层访问能力 至今仍然被广泛应用 本文将介绍一些在C C 编程中令人印象深刻的高级技巧 帮助读者提升编程水平 更加高效地使用这两种强大的编程语言 一 指针运算与内存管理 C C
  • C/C++编程中的算法实现技巧与案例分析

    C C 编程语言因其高效 灵活和底层的特性 被广大开发者用于实现各种复杂算法 本文将通过10个具体的算法案例 详细探讨C C 在算法实现中的技巧和应用 一 冒泡排序 Bubble Sort 冒泡排序 Bubble Sort 是一种简单的排序
  • C++常见STL容器基本用法

    1 vector include
  • C++ 中 const 和 constexpr 关键字解析:常量、函数和指针

    很多 C 的初学者看到 const 这个关键字的第一反应都是一头雾水 主要是因为 const 可 以出现在很多的位置 以及后面加入的 constexpr 更是常常感到困惑 今天就为大家一一解释出现它们的含义和以及作用 const 关键字 c
  • 在 Solaris 上,使用 gcc 编译的库与使用 cc 生成的库的使用方式是否相同?

    我目前正在尝试编译 libxml2在 Solaris 上 当我运行源代码提供的 configure 脚本时 会自动使用 gcc 和 g 编译器 但是 我想使用 cc 和 CC 编译器 所以我跑 configure CC cc CXX CC

随机推荐

  • 深入学习jquery源码之isFunction()和isPlainObject()

    深入学习jquery源码之isFunction 和isPlainObject isArray obj 概述 测试对象是否为数组 参数 obj Object 用于测试是否为数组的对象 b append isArray b true b isF
  • 网关Netfilx Zuul:---(Eureka高可用操作)

    之前我们创建完成了3个Eureka的客户端的服务操作 你会发现我们还是没有能够通过微服来进行对他访问 还是必须通过自己服务的端口号来进行访问 那么我们的微服务是没有能够完成的 这个时候我们就需要通过网关进行操作 其实网关就是为客户端提供统一
  • 使用IntelliJ IDEA中的Spring Initializr来快速构建Spring Boot/Cloud工程

    我相信许多初学者都看了Spring Boot和Spring Cloud相关的博文中 都会涉及Spring Boot工程的创建的问题 而一般所看到的都是使用IntelliJ IDEA 工具来创建 并且方便许多 而创建的方式多种多样之前我是通过
  • 标签下载文件重命名失败,download 无效

    最近用到 a 标签实现文件下载并对文件进行重新命名 遇到了一些问题 文件重命名一直失败 所幸最终还是解决了 在此记录一下 避免后来者踩坑 HTML a 元素可以创建一个到其他网页 文件 同一页面内的位置 电子邮件地址或任何其他URL的超链接
  • 极验滑块识别-通用滑块识别

    遇到滑块问题 在写爬虫的时候 经常会遇到滑块问题 很多次都想过尝试如何攻破滑块 但是每次都没成功 除了最开始的极验滑块 当时通过原图和滑块图的对比 能够得出缺口坐标 但是随着极验 网易 腾讯滑块的更新 已经不能够找到原图了 下面给出滑块通杀
  • MATLAB中表示点形状、颜色的常见符号

    颜色字符串有 c m y r g b w 和k 分别表示青 红紫 黄 红 绿 白和黑 线型字符串有 为实线 为虚线 为点线 为点虚线 及 none 表示不用线型 标记形式有 o 和 x 填入 s 代表正方形 d 代表菱形 A 为上三角形 v
  • 2020第十一届蓝桥杯10月份省赛真题(JavaB组题解)

    2020第十一届蓝桥杯10月份省赛真题 JavaB组题解 试题 A 门牌制作 试题 B 寻找 2020 试题 C 蛇形填数 试题 D 七段码 试题 E 排序 试题 F 成绩分析 试题 G 单词分析 试题 H 数字三角形 试题 I 子串分值和
  • 代码质量的评价标准

    如何评价代码质量 代码质量的评价比较主观 一般会使用以下几个词汇 可读性 可扩展性 可维护性 灵活 优雅 可重用性 可测试性 这些是从不同方面来评价 但是各个维度都彼此关联 譬如可读性和可扩展性好 我们就说这段代码的可维护性比较好 代码质量
  • QT多线程下的信号与槽机制

    目录 1 QThread类 2 创建并启动线程 3 多线程信号与槽 4 信号与槽的调用线程 5 调整信号与槽所在线程的依附关系 6 信号与槽的连接方式 QT 中 QObject 作QT中类的最终父类 具有自定义信号与槽的能力 只要继承自这个
  • javaj经典程序编程50题

    JAVA基础编程练习50题 本文对50道经典的java程序题进行详细解说 对于初学者可以跳过一些逻辑性太强的题目 比如第一题用到了方法的递归 初学者可能不理解 最好先看那些有if for while可以简单解决的程序题 但是 对于比较深入学
  • 4键电子手表说明书_4键电子手表怎么调时间的方法

    现在除了很多喜欢购买机械表以外 还有很多人喜欢购买石英表 其中就有很多人购买了4键电子手表 但是很多人往往却并不知道4键电子手表怎么调时间 那么我们今天拿卡西欧4键电子手表为例子 给大家讲解以下4键电子手表怎么调时间 首先 我们可以轻松观察
  • Linux删除文件夹命令

    Linux删除文件夹命令 linux删除目录很简单 很多人还是习惯用rmdir 不过一旦目录非空 就陷入深深的苦恼之中 现在使用rm rf命令即可 直接rm就可以了 不过要加两个参数 rf 即 rm rf 目录名字 r 就是向下递归 不管有
  • milvus笔记01--部署测试版本 milvus

    milvus笔记01 部署测试版本milvus 1 milvus 简介 2 milvus cpu 部署 2 1 基于sqlite部署milvus 2 2 基于mysql部署milvus 3 常见命令 3 1 api 案例 3 2 RESTf
  • 使用 Github Action 将 github 仓库同步到 gitee

    背景 最近将 CI CD 流程改造了一波 使用 ArgoCD 做 gitops 这样所有的集群 Yaml 文件就都存放在了 github 上的一次仓库里 但是小服务器放在家里 从 github 上拉代码时总是时不时有网络问题 导致集群资源无
  • -1. HTML&CSS 基础总结

    HTML CSS Favorite 1 基础知识 1 HTML 1 1基本结构标签 1 骨架 2 排版标签 标题标签 h1 标题文本 h1 h1 gt h1 h6 段落标签 p 段落文本内容 p 水平线标签 hr 水平线 换行标签 br 换
  • Android 解析软件包时出现问题 -- Error staging apk from content URI

    Android Version 8 1 使用场景 在Rk3288w Android 8 1 的测试设备上安装 文件管理器 应用程序 若打开 apk文件 会出现 解析包错误 提示 即安装失败 影响使用 如下为ActivityManagerSe
  • 华为OD机试真题-找出重复代码【2023.Q1】

    题目描述 小明负责维护项目下的代码 需要查找出重复代码 用以支撑后续的代码优化 请你帮助小明找出重复的代码 重复代码查找方法 以字符串形式给出两行代码 字符审长度1 lt length lt 100 由英文字母 数字和空格组成 找出两行代码
  • 扩展磁盘大小

    各个系统可能会有些差异 主要存在于文件系统和卷组名上 一定要注意 如果要进行扩展大小的话 一定要先把原来的那个卷的数据进行保存好 数据 bin bash 使用这个脚本时 只需将第一个参数设置为想扩展多大即可 但是需要注意的是 若移植到位置的
  • java char长度_Java中char的字节数

    以前一直以为char占一个字节 后来发现远没这么简单 Java中char的字节数 和编码有关 使用UTF 8 英文字符占1个字节 中文占3个字节 下面在是在Ubuntu中测试的结果 public static void main Strin
  • 方差

    方差在概率统计中有很重要的作用 2公式 方差 方差是实际值与 期望值之差 平方的期望值 而 标准差是方差算术 平方根 1 在实际计算中 我们用以下公式计算方差 方差是各个数据与 平均数之差的平方的和的平均数 即 其中 x 表示 样本的平均数