首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于流数据的TSS计算

基于流数据的TSS计算
EN

Stack Overflow用户
提问于 2020-08-31 18:27:28
回答 1查看 140关注 0票数 0

TSS是以(x - mean) **2的形式计算的,如果所有的数据都很容易获得,就很容易计算。但是在我的例子中,数据是连续的,我需要计算这些数据上移动的TSS。例如,假设整个数据是x=np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])。但是这些数据是分批传输的,如下所示:

代码语言:javascript
复制
batch1: [1, 2, 3]
batch2: [4, 5, 6, 7]
batch3: [8, 9, 10]

在这种情况下,如何计算移动的TSS?任何符合逻辑的解释以及解决方案都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-08-31 19:34:46

可以在每个步骤中将每个批处理添加到累积数组中:

代码语言:javascript
复制
cum_array = numpy.concatenate((cum_array, batch))

然后计算TSS如下:

代码语言:javascript
复制
tss = (cum_array - numpy.mean(cum_array))**2

每次都会重写TSS数组。如果您只是想添加新计算的值,则需要如下所示:

代码语言:javascript
复制
cum_array = numpy.concatenate((cum_array, batch))
tss = numpy.concatenate((tss, numpy.zeros_like(batch)))
tss[-batch_len:] = (cum_array[-batch_len:] - numpy.mean(cum_array))**2

编辑:如果您只想在每个批次结束时为TSS提供一个值,您可以这样做:

代码语言:javascript
复制
running_total += numpy.sum(batch)
N += len(batch)
tss = (batch[-1] - running_total/N)**2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63676255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档