第一行代表1d的时间线。小罢工是数据点。
第二行表示线的聚类,中心表示它们的中心位置。
用于预测下一个群集攻击/质心的方法将在第三张图片中看到?
我发现了这些问题:
如果它有帮助的话。我不能提供培训数据,只是历史可能会改变(也许历史数据可以用作培训数据?)
答案 0 :(得分:0)
有趣的问题。
我会尝试两种方法,具体取决于我们能够找出每个群集的质心的强大程度。
如果如图所示,可以使用基于阈值的方法来聚类数据点。我们可以首先在c1
,c2
和c3
找出质心,并将群集质心视为时间序列。然后使用一些exponential smoothing来预测质心c4
的下一个位置应该不难。假设您的原始数据如下所示:
0 3 4 5 11 12 14 21 23 25 34 37 38 ???
(cluster1) (cluster2) (cluster3) (cluster4)
如果我们的阈值为5(任意两个连续数据点之间的最大距离),我们可以很容易地找出上面的4个聚类。然后我们可以获得低于质心的位置。 (例如,(21+23+25)/3=23
)。
3 12.33 23 36.33 42 (predicted)
假设在应用一些基本的指数平滑后,您将获得下一个质心位置c4=42
。
下一步是根据质心预测罢工的相对位置。我们可以使用以前群集中的所有先前打击作为我们的训练数据。我只是从历史数据中获取一些统计数据,看看它的工作情况。
群集中罢工之间的平均距离:
(3+1+1)+(1+2) + (2+2) + (3+1)
---------------------------- = 1.55
9
和
% of times we have 4 strikes: 25%
% of times we have 3 strikes: 75%
然后我们可以进行抽奖(25%对75%)来决定我们是否会在c4
进行4次罢工或3次罢工。可以使用平均距离统计来导出罢工的相对位置。例如,如果我们有3次打击且质心位于42:
strike1: 42-1.55 = 40.55
strike2: 42
strike3: 42+1.55 = 43.55
如果我们有4次罢工:
strike1: 42-1.55/2-1.55
strike2: 42-1.55/2
strike3: 42+1.55/2
strike4: 42+1.55/2+1.55
注意:我们会在c4
观察实际数据点后更新统计数据,以便我们始终能够更正预测。我们将更新质心预测的指数平滑以及我们在c4
中观察到实际数据点的同时。现在我们已准备好预测c5
和c5
中的罢工等等。
如果我们没有强大的方法来进行群集,请尝试使用 功能工程 进行线性回归。目标变量将是下一次攻击的x位置。我们可以使用的功能包括:
发挥你的想象力并继续。希望能帮助到你。