首页 > 其他分享 >均值方差合并

均值方差合并

时间:2023-03-17 15:33:06浏览次数:44  
标签:mean1 mean2 方差 均值 合并 var array mean

公式:

  • 参考:link
    A数组包含m个元素,均值为mean1,方差为Var1,B数组包含n个元素,均值为mean2,方差为Var2

\[mean = (n \cdot mean1 + m \cdot mean2) / (m + n) \\ var = (n \cdot (var1 + mean1^2) + m \cdot (var2 + mean2^2))/(m + n) - mean^2 \]

  • 注:如果m=2100, n=1100, 令m=2, n=1输出到公式即可,因为可以约掉。

Python代码

import math
import numpy as np


def merge_mean_var(n, mean1, var1, m, mean2, var2):
    """
    已知两组数据的个数,均值和方差,求总数据的均值和方差
    Args:
        n: 第一组数据的个数
        mean1: 第一组数据的均值
        var1: 第一组数据的方差
        m: 第二组数据的个数
        mean2: 第二组数据的均值
        var2: 第二组数据的方差

    Returns:
        所有数据的个数,均值,方差
    """
    mean = (n * mean1 + m * mean2) / (m + n)
    var = (n * (var1 + mean1**2) + m * (var2 + mean2**2))/(m + n) - mean**2
    return m+n, mean, var


def get_mean_var(array):
    mean = np.mean(array)
    var = np.var(array)
    return mean, var


if __name__ == '__main__':
    array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
    array1 = np.array([1, 3, 5, 7, 9])
    array2 = np.array([2, 4, 6, 8])
    mean, var = get_mean_var(array)
    mean1, var1 = get_mean_var(array1)
    mean2, var2 = get_mean_var(array2)
    print(mean, var)
    print(mean1, var1)
    print(mean2, var2)
    print(merge_mean_var(array1.size, mean1, var1, array2.size, mean2, var2))

标签:mean1,mean2,方差,均值,合并,var,array,mean
From: https://www.cnblogs.com/mercurysun/p/17226989.html

相关文章

  • js 合并单元格
    1.基于数据规则,设置好哪些是需要合并的。https://blog.csdn.net/m0_60504233/article/details/125187202?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.......
  • 多个文本文件txt合并
    第一步首先将需要合并的txt文本文档放在同一个文件夹中,倘若合并有顺序要求,请将txt文本文档进行重命名,使文档按照顺序排列。接着对文件夹进行重命名,尽量将文件名设置......
  • git 的分支合并策略
    一、Git的合并策略了解完怎么合并两个文件之后,我们来看一个使用gitmerge来做分支合并。如上图,将master分支合并到feature分支上,会新增一个commit节点来记录这......
  • 在线视频文件合并
    经常在浏览一些在线视频,是由大量分段视频组成,可以通过合并,并转换成mp4等格式。方法一:使用软件合并,如格式工厂的视频合并: 注:由于格式工厂每次添加的文件......
  • SQL—计数(count)与求平均值(avg/AVG)大小写都能识别
    题目要求:计算男生人数以及求平均gpa,而且还需要将查询后的列重新命名(注意有将平均gpa保留到小数点后一位的限制。)两个具体要求:计数与平均、重新命名selectcount(gender)......
  • C语言编程>第九周 ⑧ 请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数
    例题:请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并的方式是:将x数的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的百位和个位......
  • Educational Codeforces Round 2 E Lomsat gelral 线段树合并
    题目链接大致题意给你一棵有n个点的树,树上每个节点都有一种颜色ci(ci≤n),让你求每个点子树出现最多的颜色/编号的和记性不好,主要是为了防止自己忘掉,今天和队友合作写题......
  • 离散化和区间合并一
    离散化一个序列长度非常大(>10^5一般10^9左右),但是有值的元素却十分稀疏这里使用离散化映射+前缀和处理#include<iostream>#include<vector>#include<algori......
  • 【C#】pdf文件合并
    环境:VS2019+Win10+.NETFramework3.5依赖于:itextsharp.dll 源码,封装接口:///<summary>///合并pdf文件至输出文件///</summary>......
  • 图像数据集的均值与方差
    使用Pytorch进行预处理时,通常使用torchvision.transforms.Normalize(mean,std)方法进行数据标准化,其中参数mean和std分别表示图像集每个通道的均值和标准差序列。首先,给出......