0
所以我一直在研究PCA中的matlab异常检测数据集。
我使用T^2和Q统计进行了降维和异常检测。
但是我注意到,当我的代码中出现真正的异常时,错误的数据被用来更新模型。我试图阻止它,但无济于事。
这里是我的代码:Hotelling的T^2和Q统计循环
for i =5:(size(Qlimit))
if Q(i) > Qlimit(i) && Q(i-1) > Qlimit(i-1) && Q(i-2) > Qlimit(i-2) && Q(i-3) > Qlimit(i-3) && Q(i-4) > Qlimit(i-4)
for j = i:(i+Xwindow)
Qlimit(j) = Qlimit(j-1);
T2limit(j) = T2limit(j-1);
end
end
end
所以,我希望发生的是,如果Q值大于它的控制范围我想用以前的值一定次数(Xwindow的代码)时,但是当我这样做,如果它发生在接近尾声时,它会查找一个不存在的值。
我只查找Q统计量被违反的次数,因为T^2只违反了几个样本,并且持续时间不长,但如果我得到它的Q值,则很容易实现T^2。
任何帮助,将不胜感激
使用PCA降低数据集的维数后,我使用霍特林的T^2和Q统计量来监测系统。 – MRaff16
@ MRaff16那么你的问题是关于“Hotelling的T^2和Q统计”,而不是你已经成功实施的PCA。所以,我认为你应该改变标题。 – Dan
对你更好吗? – MRaff16