问题标签 [weighted-average]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1594 浏览

r - R计算具有缺失值的时间序列的加权平均值

我有 3 个缺少值的时间序列(T1、T2 和 T3)。我将它们合并到一个名为 x 的动物园对象中(您可以从这里下载它:https ://www.dropbox.com/s/1xk4qn9hthibqpu/x.rda?dl=0 )。

我想使用 2 组权重(w1 和 w2)计算加权平均值。这是我所做的:

但是average1 和average2 是相同的。我究竟做错了什么?

0 投票
1 回答
41 浏览

r - 计算多站点 RCT 的权重

假设一个多中心 RCT 有两组——实验组和对照组。需要为每个时间段和站点计算权重。我将实验对象的权重固定为 1,然后计算控制对象的权重,使对照组权重的总和等于实验组权重的总和(对于每个时间段和站点)。这是生成假设数据集的代码:

和输出:

这是一个相当笨拙的策略,用于计算每个时间段和站点的实验和控制对象的权重。

我如何使用这些权重来计算调整后的结果(即,将每个受试者的结果乘以时间段、站点和组的相应权重)?我的兴趣是将计算的权重和调整后的结果添加到原始数据框中。(以下是调整结果的示例。)

0 投票
1 回答
398 浏览

php - 使用php的子数组值的加权算术平均值

我有以下数组:

并想对其进行一些操作,如下所示:

首先:对 key[0] 相同的值进行分组,将它们提高到 2 次方并求和。为此,我编写了以下代码:

这样我们就有了预期的结果:

第二:将这些值中的每一个除以所有它们的总和。换句话说(或者其他数字更好:-)

然后,划分:

所以最后我们有这样的东西:

我是这样想的:

但后来我意识到这是不正确的,因为第一个值只会除以 A 出现的次数,第二个值除以 B 的出现次数,等等。

所以我们会有:

我正在搜索的是子数组分组值的一种加权算术平均值。

如果有人能帮助我找到这个问题的答案,我将不胜感激。

提前谢谢了。

0 投票
1 回答
839 浏览

python - 为 pandas 中的不规则时间序列创建加权平均值

从具有可变时间步长的模拟数据中,我有一个不规则的时间向量作为我的值的索引,它们存储在 pandas.DataFrame 中。

让我们考虑一个简化的测试用例:

使用 normaldf.mean()函数将得到答案 3.2,这仅在时间向量等距的情况下才成立。

我认为第一个时间步长(零秒长)的正确结果是 3.55,平均值是 1.5,第二个时间步长平均值是 3(五分钟长)等等,这导致:

这导致平均值为 3.55 (35.5 / (0 + 5 + 2 + 3))。

有没有一种有效的方法可以用熊猫做到这一点?

这最终应该会导致类似

创建具有等距时间向量的平均值。

0 投票
1 回答
3433 浏览

python - 使用带有权重的 numpy.average 对 pandas 数组进行重采样

我需要使用 numpys weighted-average-function 重新采样一些数据 - 它只是不起作用......

这是我的测试用例:

how没有权重的正常重采样工作正常(这里建议使用 lambda 函数作为参数: Pandas resampling using numpy percentile?谢谢!):

但是如果我尝试使用一些权重,它总是返回一个TypeError: Axis must be specified when shapes of a and weights differ

我尝试了许多不同数量的权重,但并没有变得更好:

我很高兴有任何建议。

0 投票
1 回答
1102 浏览

r - 如何计算时间加权平均值并创建滞后

我已经搜索了论坛,但没有找到任何可以回答或提供有关如何在论坛上做我想做的事情的提示。

我有暴露数据的年度测量值,我希望根据每个人进入研究的情况计算个人水平的年平均值。对于每一行,一年暴露分配应包括从加入研究前的最后一个月开始的前 12 个月的数据。例如,样本数据中的第一个人于 2002 年 2 月 7 日加入研究。他的暴露将包括 2002 年 1 月(年平均为 18)和 2001 年 2 月至 2001 年 12 月(年平均为 19)的贡献。此人的时间加权平均值为 (1/12*18) + (11/12*19)。同一个人的两年平均暴露量将从 2002 年 1 月延长到 2000 年 2 月。

同样,对于 2004 年 12 月加入研究的最后一个人,将包括 2004 年 11 个月和 2003 年 1 个月的贡献,他的年平均暴露量将是 (11/12*5) 从 2004 年和 (1/12*6) 推导出来来自 2003 年的年平均值。

我如何计算从进入研究之日起的 1、2 和 5 年平均暴露量?我怎样才能以我所描述的方式使用滞后?

从此链接访问示例数据

https://drive.google.com/file/d/0B_4NdfcEvU7La1ZCd2EtbEdaeGs/view?usp=sharing

0 投票
0 回答
344 浏览

r - 在 R 中具有加权平均值的聚合()

我有一个这样的数据集:

我想得到每个汽车品牌的总销量。所以我这样做了:

然后,我想获得每个汽车品牌的平均二氧化碳排放量。

最后我合并 x 和 y

所以我明白了

问题:在数据集中,每个项目的售出汽车的 nb 可能不同。所以有时,对于一个模型,我出售了 3 辆具有一定二氧化碳排放量的汽车,有时是 1 辆。

如何将每个汽车品牌的汽车销量 nb 与二氧化碳排放量的加权平均值相加?

谢谢

0 投票
1 回答
110 浏览

matlab - 通过沿边缘更改加权元素进行图像过滤

所以基本上我想对二进制图像应用一个过滤器,该过滤器对相邻单元格的值进行加权平均。这部分我已经设置好了。

我现在的问题是我的图像中有一个“边缘”(不是矩阵的边缘)。我想对相邻元素进行加权,但只对我感兴趣的特定元素这样做。

我知道有两种方法。1)当边缘靠近磁盘时改变磁盘过滤器的重量,或者 2)以某种方式将边缘附近的值反射/镜像到另一侧。2)的问题是我的边缘不直,到处都是。

这是场景的过度简化:

我想应用过滤器,bin但我只想获取值为 1 in 的元素的权重mask。由于边缘的非线性,我不一定能镜像bin,所以必须有一些方法来改变磁盘滤波器的权重。例如,如果普通盘式过滤器中有 20 个元素,则每个元素的权重为 0.05。但是假设我们正处于平坦的边缘;盘式过滤器中只有一半的bin值是 1 in mask。因此将有 10 个元素,每个元素的权重为 0.1。有没有一种非迭代的方式来应用这样的过滤器?

0 投票
1 回答
1228 浏览

java - 如何将二维数组的列相乘?爪哇

以前的方法构造并填充具有用户输入定义的大小的二维双精度数组。computeCategoryAverages 取中间索引,对它们进行平均,然后将它们放入最终索引中 computeOverallAverage 然后应该将 0 索引(权重)乘以最终索引并存储该数字,然后重复直到行结束,每次相加。

computeCategoryAverages 完美运行。

我遇到的问题是computeOverallAverage,我不确定如何使用循环使数组正常工作,以将列相乘并将它们与additiion 复合。

0 投票
1 回答
78 浏览

r - 错误为.numeric:加权平均子集适用于完整数据集

我是一名 R 新手,但这真的让我很难过——我真的希望更多有经验的人能帮助我。我正在估计一个简单的加权平均值。就我而言,我有县数字编码 (FIPS)、土壤碳值以及县内土壤覆盖的面积。不同类型和地区的土壤出现在一个县。这意味着给定县可能在 Y1、Y2、Y3 区域上具有 X1、X2、X3 土壤类型。我想根据给定土壤的类型和覆盖面积来了解一个县的总体加权平均土壤碳。当我为较小的数据子集(200 行)开发一些代码时,当我与手动估计进行比较时,返回了正确的值。当我将代码应用于完整的数据集(111,000+ 行)时,我收到了错误消息:

1:在 sum(soc[which(soc[, 1] == FIPS[i]), 8]) :整数溢出 - 使用 sum(as.numeric(.))

我没有在子集中收到此错误消息。当我按照建议尝试 sum(as.numeric(...)) 时,我收到了不同的错误消息。在子集数据中计算的加权平均值在整个数据集中是不同的——即使是同一个县。

有趣的是,当我将子集数据保存到不同的文件名,但保持基础数据不变时,我收到了与完整数据集中相同的错误消息。这让我认为这不是代码或 as.numeric 问题,而是与文件本身有关。但我只与 R 合作了大约一年,我知道我真的不知道。

提前致谢!这是我第一次发布,所以我不确定如何附加数据,如果需要我很乐意发送。

我的代码:

子集数据:

完整数据代码:

样本输出:

子集:

完整数据: