1

有人知道如何使用 C/C++ 来计算数据的条纹吗?条纹的定义是与平均值有多少偏差(即运行平均一个数值数据条纹。谢谢您的帮助。

[编辑] 来自我们公司的首席软件架构师,这是对统计度量的要求。有人可以根据我们架构师对数据条纹的定义定义一个统计公式吗?-- 2013 年 2 月 19 日上午 8:00

相同的数字是连续的。1,2,3,3,3,4,5 连续 7 次。

案例 A:1,2,3,4,5,6,7,8,9,10,11,12,13 的最长连击数为 13。

案例 B:1,2,3,4,5,6,7,3,8,9,10,11,12 最长的连续为 7,第二个较小的连续为 6。

案例 C:1,2,3,4,5,6,7,1,2,3,4,5,6 最长的连续为 7,第二个较小的连续为 6。

案例 D:1,2,3,4,5,6,7,1,2,3,1,2,1 最长的连击数为 7,第二小的连击数为 3,第三小的连击数为 2

案例 E:1,2,3,4,5,6,7,6,5,4,1,2,3 最长的连续为 7,第二个较小的连续为 3。

案例 F:1,2,3,4,5,6,7,6,5,4,3,2,1 的最长条纹为 7,没有更小的条纹。

案例 A - F 按“排序最多到排序最少”的顺序排列,但都具有相同的最长条纹。使用条纹长度的平均值是不合适的:

答:平均 = 13/1 = 13

B:平均 = (7+6)/2 = 6.5

C:平均 = (7+6)/2 = 6.5

D:平均 = (7+3+2)/3 = 4

E:平均 = (7+3)/2 = 5

F:平均 = 7/1 = 7

考虑非条纹(将它们计为 1):

答:平均 = 13/1 = 13

B:平均 = (7+6)/3 = 4.3

C:平均 = (7+6)/2 = 6.5

D:平均 = (7+3+2+1)/4 = 3.25

E:平均值 = (7+1+1+1+3)/5 = 2.6

F:平均值 = (7+1+1+1+1+1+1)/7 = 1.85

变量 R 可用于指示与特定条纹的平均值有多少偏差。根据所公开的实施例,条纹的水平不仅可以定义为距平均值的(整数*偏差)距离,还可以定义为(整数*fraction_of_deviation)距离。为此,可以使用可变 R 因子。R 因子以偏差的一小部分表示两个连续 R 水平之间的分离。通过改变 R 因子,可以根据需要对条纹进行排序。但是,连胜的“可信度”也应该考虑在内,并包含在排名机制中。条纹内的偏差是衡量数据在条纹内的交错程度的明显指标。一个好的连胜应该更少交错,或者换句话说,有更少的偏差。为此原因,一个非常高的连续性被认为是好的,即使它的偏差超过了通常的期望值。因此,虽然水平 R 对排名产生积极影响,但连续性内的偏差对其产生负面影响。

4

2 回答 2

2

抱歉,如果这不正常,但我是从图像处理的角度来看的。

我见过的用于分析散点图的更有趣的方法之一是 Tukey 提出的“图论 scagnostics”或简称为“scagnostics”(散点图诊断),后来由 Wilkinson 编写。除了“stringiness”之外,还有其他几个有趣的形状/簇标识符。

如果您的数据在 2 空间或 3 空间中,则有一些图像处理算法可以识别数据条纹,但我必须查看一些示例数据图/图像以提供任何进一步的建议。

于 2013-02-19T02:12:43.630 回答
1

根本不清楚你想从这个措施中得到什么。如果您不关心条纹内容,您可以使用条纹长度的平方和除以总长度的平方。该度量值始终介于 0 和 1 之间。如果整个序列是单个条纹,则它正好为 1,如果它主要是一个长条纹,则它会稍微小一些,如果它根本没有条纹,它会是 1/length。对于您的情况,此措施为

A: Average = 13²/13² = 1.0000
B: Average = (7²+6²)/13² = 0.5030
C: Average = (7²+6²)/13² = 0.5030
D: Average = (7²+3²+2²+1²)/13² = 0.3728
E: Average = (7²+1²+1²+1²+3²)/13² = 0.3609
F: Average = (7²+1+1+1+1+1+1)/13² = 0.3254
于 2013-02-19T14:35:13.930 回答