如果我有3个多维数据:
Data 1: (22, 80, 9)Data 2: (23, 78, 10)Data 3: (21, 81, 11)
我想计算这3个数据的平均值和标准差,因为我想通过3-sigma规则来检测异常值。
我可以简单地计算几何平均数来表示Data1、Data2和Data3吗?
例如:
Data 1: (22,80,9) -> Data 1: (25.11414)Data 2: (23,78,10) -> Data 2: (26.17826)Data 3: (21,81,11) -> Data 3: (26.54803)
将多维数据映射到一维数据后,我可以轻松地获得方差和标准差。
以上是我的推理,但我不能确定这是否合理。
能否有人回答我,或者有人曾经看到过关于这个话题的论文,
非常感谢!
回答:
为了使用“3 sigma规则”,我假设你的数据集的每个维度是固定的(在某种意义上,它在数据样本中具有一致的含义),因此:
Data 1: (22, 80, 9)Data 2: (23, 78, 10)Data 3: (21, 81, 11) ^ ^ ^ | | | 某个第一特征| | | 第二特征 | 第三特征
你需要按特征估计标准差,因此
std1 = std(22, 23, 21)std2 = std(80, 78, 81)std3 = std(9, 10, 11)mu1 = mean(22, 23, 21)mu2 = mean(80, 78, 81)mu3 = mean(9, 10, 11)
现在,当你有一个新的数据点(x1, x2, x3)
时,你假设它是异常值,当且仅当以下至少一个条件成立
x1
不属于[mu1 - 3*std1, mu1 + 3*std1]
x2
不属于[mu2 - 3*std2, mu2 + 3*std2]
x3
不属于[mu3 - 3*std3, mu3 + 3*std3]
实际上,你假设你的数据在特征上具有单变量正态分布,并且特征是条件独立的,你只拒绝那些概率小于约99.7%的点。
这里没有任何“几何平均数”的参与。