Matlab 如何为数据流挖掘建立滑动窗口模型?
我们有一种情况,即流(来自传感器的数据或服务器上的点击流数据)将与滑动窗口算法一起出现,我们必须将最后(比如)500个数据样本存储在内存中。然后使用这些样本创建直方图、聚合和捕获输入数据流中异常的信息Matlab 如何为数据流挖掘建立滑动窗口模型?,matlab,plot,scroll,sliding-window,data-stream,Matlab,Plot,Scroll,Sliding Window,Data Stream,我们有一种情况,即流(来自传感器的数据或服务器上的点击流数据)将与滑动窗口算法一起出现,我们必须将最后(比如)500个数据样本存储在内存中。然后使用这些样本创建直方图、聚合和捕获输入数据流中异常的信息 请告诉我如何制作这样的滑动窗口。 < P>如果你问如何以滑动窗口的方式存储和维护这些值,请考虑这个简单的例子,跟踪一些随机数据流的最后10个值的运行平均值: WINDOW_SIZE = 10; x = nan(WINDOW_SIZE,1); %# init counter = 0; stats
请告诉我如何制作这样的滑动窗口。
< P>如果你问如何以滑动窗口的方式存储和维护这些值,请考虑这个简单的例子,跟踪一些随机数据流的最后10个值的运行平均值:WINDOW_SIZE = 10;
x = nan(WINDOW_SIZE,1);
%# init
counter = 0;
stats = [NaN NaN]; %# previous/current value
%# prepare figure
SHOW_LIM = 200;
hAx = axes('XLim',[1 SHOW_LIM], 'YLim',[200 800]);
hLine = line('XData',1, 'YData',nan, 'EraseMode','none', ...
'Parent',hAx, 'Color','b', 'LineWidth',2);
%# infinite loop!
while true
val = randi([1 1000]); %# get new value from data stream
x = [ x(2:end) ; val ]; %# add to window in a cyclic manner
counter = counter + 1;
%# do something interesting with x
stats(1) = stats(2); %# keep track of the previous mean
stats(2) = nanmean(x); %# update the current mean
%# show and update plot
set(hLine, 'XData',[counter-1 counter], 'YData',[stats(1) stats(2)])
if rem(counter,SHOW_LIM)==0
%# show only the last couple of means
set(hAx, 'XLim', [counter counter+SHOW_LIM]);
end
drawnow
pause(0.02)
if ~ishandle(hAx), break, end %# break in case you close the figure
end
更新
在最新版本中已弃用并删除。将该函数用于类似的功能。谢谢它的帮助它给了我一些想法,如何处理数据再次感谢