TSS的计算公式为(x - mean) **2
,如果您可以随时获得所有数据,那么计算起来就很容易了。但在我的例子中,数据是连续的,我需要计算这些数据上的移动TSS。例如,假设整个数据是x=np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
。但这些数据是成批传输的,如下所示:
batch1: [1, 2, 3]
batch2: [4, 5, 6, 7]
batch3: [8, 9, 10]
在这种情况下,如何计算移动TSS?任何符合逻辑的解释以及解决方案都将受到高度赞赏
Tags:
您可以在每个步骤中将每个批次添加到累积数组中:
然后将TSS计算为:
每次都会重写TSS数组。如果您只是想添加新计算的值,则需要以下内容:
编辑:如果您只希望在每个批次结束时获得TSS值,则可以执行以下操作:
TSS可分为两个项,每个项都可以轻松地增量计算:
TSS=sum[(X-sum[X]/N)2]
=sum[X2-2X*sum[X]/N+sum[X]2/N2]
=sum[X2]-2sum[X]2/N+sum[X]2/N
=sum[X2]-sum[X]2/N
您只需要维护X和X2的运行总数,以及到目前为止看到的样本数量的计数N
相关问题 更多 >
编程相关推荐