首页 > 其他分享 >已知两个数列各自的均值和方差,如何快速求出两个数列拼合后的均值和方差

已知两个数列各自的均值和方差,如何快速求出两个数列拼合后的均值和方差

时间:2024-02-25 10:13:51浏览次数:20  
标签:count 数列 方差 均值 batch var mean

问题:

数列A为[1, 2, 3, 4, 5, 6, 7, 8, 9],已知数列A的均值和方差和个数为mean_x,var_x,size_x

数列B为[20, 21, 22, 23, 24, 25, 26, 27, 28, 29],已知数列B的均值和方差和个数为mean_y,var_y,size_y

现在将数列A与数列B拼合为数列Z,则数列Z为[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]

现在要求数列Z的均值和方差



这里的重点是要快速求出数列Z的均值方差,或者可以换一种问法,那就是知道数列A的均值和方差和个数,也知道数列B的均值和方差和个数,但是不知道数列A和数列B的具体值,现在要求拼合后的数列Z的均值和方差。


给出代码:(代码地址:https://github.com/openai/baselines/blob/master/baselines/common/vec_env/vec_normalize.py

def update_mean_var_count_from_moments(mean, var, count, batch_mean, batch_var, batch_count):
    delta = batch_mean - mean
    tot_count = count + batch_count

    new_mean = mean + delta * batch_count / tot_count
    m_a = var * count
    m_b = batch_var * batch_count
    M2 = m_a + m_b + torch.pow(delta, 2).double() * count * batch_count / tot_count
    new_var = M2 / tot_count
    new_count = tot_count

    return new_mean, new_var, new_count

注意,上面的mean,var,count为数列A的均值、方差、个数;batch_mean, batch_var, batch_count为数列B的均值、方差、个数;目标数列Z的均值、方差、个数为new_mean, new_var, new_count 。


具体验证:

image



标签:count,数列,方差,均值,batch,var,mean
From: https://www.cnblogs.com/devilmaycry812839668/p/18032081

相关文章

  • 第十七节:动态规划详解(斐波那契数列、)
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • 备选数列 / 函数
    FibonacciSequenceFormula\[F_{1}=1\]\[F_{2}=1\]\[F_{i}=F_{i-1}+F_{i-2}(i\geq3)\]List\[F_1=1\]\[F_2=1\]\[F_{3}=2\]\[F_{4}=3\]\[F_{5}=5\]\[F_{6}=8\]\[F_{7}=13\]\[F_{8}=21\]\[F_{9}=34\]......
  • 665.非递减数列
    完成度:partial-accepted问题:有些情况未考虑到这道题要考虑两个方面,1、数组中最多只能存在多少元素满足nums[i]>nums[i+1]使得数组是一个非递减数列2、修改这个元素后的数列是否是个非递减数列我做题只考虑到第一个条件使得题目只有部分满足条件。所以需要考虑nums[i]和nums[i+......
  • 数列的异或和(题解)
    题目样例样例输入5512345113135036113135样例输出0257二进制运算二进制运算的优先级小于四则运算,所以在与四则运算同时出现时,注意加括号按位与(&)在二进制下,相同位的数都为1时,这一位的结果为1,任意一个不是1或都是0,则为0(eg:0100110&0010111=000......
  • 数列的异或和
    如果a^b=c,则c^a=b,c^b=aa^b=b^a,(a^b)^c=a^(b^c)a^b^b=a0^a=a,a^a=0数据:n:数列长度m:询问次数a[]:原数列c[]:树状数组函数:a[x]修改为yvoidadd(intx,inty){inti=x;while(i<=n){c[i]^=a[x];//还原......
  • 平方差
    引言题目链接:https://www.luogu.com.cn/problem/P9231思路由\(x=y^2-z^2\)可得\(x=(y+z)(y-z)\)由于(y+z)和(y-z)的奇偶性相同。当其为奇数时,可以令其中一个为1,另一个为x满足条件当其为偶数时,相乘结果一定是4的倍数所以只需要判断[l,r]......
  • P8248 简单数列 题解
    首先,圈重点:$1\len\le500$所有元素在$1\sim4$之间任意连续的连续子串不相同只要输出一种答案即可于是我们可以得到的是:由第一点和第二点可以看出此题可以写搜索解决。由第三点我们可以得到一种剪枝方式,就是如果目前数字放入后会产生相同的连续的连续子串。由第四点......
  • P2042 [NOI2005] 维护数列 题解
    题目链接:维护数列比较不好码的题,首先确保自己会一种文艺平衡树的书写,这点因人而异,比较推荐初学者学\(fhq\)平衡树,坑比较少,比较好码,写平衡树合并、持久化类的题时,也比较好写。注意到空间需求比较大,还涉及删除,我们的删除用各种树类数据结构中最常用的回收标记用于新的节点开辟。......
  • 随机变量,以及它们的期望和方差
    前置知识期望\(E[X]\)即概率的加权平均。期望具有线性,\(E[ax+b]=aE[x]+b\)。方差\(Var(x)=E[X^2]-E^2[x]\)。类似的,\(Var(ax+b)=a^2Var(x)\)。二项随机变量定义进行\(n\)次独立事件,每次成功的概率为\(p\),失败的概率为\(1-p\),那么成功\(i\)次的变量叫做二项随机变......
  • P1182 数列分段 Section II
    原题链接作为二分答案的入门题非常合适。很典型的二分答案。但是这题有一个坑点,left的值不能设为0这种确定的值,而是应该设为这个数组的最大值。这道题警示了我二分答案的一个重要前提:确定合理的二分区间。题解首先,判断单调性,对于一个最大值mid,如果能够满足check(),那么mid+1,mid+......