cpu利用率多少算高,cpu利用率定义

  cpu利用率多少算高,cpu利用率定义

  使用上一章的运维说明,可以使用SQL,结合机器学习算法收集CPU信息,预测CPU利用率,让运维人员及时了解CPU未来的运行情况,从容应对突发问题。

  1.预测方法简介预测算法属于有监督机器学习领域,因为需要训练历史数据,建立基于时间序列的回归模型。

  一般时间序列可以分为趋势、季节、时期三个方面。

  趋势:是一个长期的变化方向,不受相对较小的波动和扰动的影响;季节:与数据的性质密切相关,如昼夜、春夏秋冬等。周期:模式相似但周期性不同的数据的一般变化,如股市的周期(股票涨跌的周期)、房价的周期等。预测是进行异常检测的有效方法,尤其是其时间序列相对稳定。与这两种算法相比,ARIMA可以可靠地预测。LSTM网络对更复杂的时间序列数据更具包容性。

预测不适合离群点检测。

  ARIMA:自回归模型是一种统计模型,其输出结果线性依赖于以前的值。这是一种强大而灵活的时间序列预测方法。

  LSTM:递归神经网络的一种变体,特别适用于基于时间序列的学习分类和预测。

  

如果时间序列不稳定,没有遵循任何可观察的趋势,或者波动幅度变化很大,那么预测效果将不会表现良好,预测对一维数据效果最好,如果需要预测多维数据,最好使用其他检测方法。

  二。代码解释

基础环境

  本文基于python,读者需要有python环境。

  使用特定的类。如下图:

  使用项目类

  语料信息可以分为三个方面:测试集(cpu-test-a.csv)、训练集(cpu-train-a.csv)和全集(cpu-full-a.csv)。针对主用户的测试集CPU利用率预测验证,针对用户的训练集CPU利用率训练,所有集=测试集训练集。语料库的具体内容如下:

  CPU语料库

  

读取信息

  所有集合、训练集和测试集的文件内容都是通过pandas这个分析结构化数据的工具集获得的。

  读取语料库信息

  

训练数据图形化输出

  通过matplotlib.pyplot输出训练集内容,输出代码如下:

  图形输出代码

  第一个行为定义图形的高度和宽度;二、定义并制作图形,X轴为日期,Y轴为CPU,颜色为黑色;第三行显示Y轴的标签信息。第四行显示图形标题信息。输出效果如下:

  图形输出效果

  

建立简单的ARIMAX模型

  ARIMA模型

  第一个行为定义模型。稳定后的序列具有零阶差分;向上或向下的稳定趋势(恒定和稳定)应该有一阶差,最高是二阶。区别主要是平滑序列。第二个行为使用Metropolis-Hastings算法进行推理。第三步是绘制ARIMA模型的拟合图。

  通过绘制的仿真拟合图,可以直观的知道基于训练集的模型拟合效果良好。

  拟合图

  

测试集样本预测

  我们选取60个预测值及其置信区间,绘制出最后100个观测点。

  预测

  输出效果如下(颜色越深,置信度越高):

  测试集-ARIMA预测

  

测试集样输出

  输出整个数据集,并将背景添加到测试数据中,以便与“测试集-ARIMA预测”图进行数值比较。

  测试样本输出

  输出效果如下(输出所有组样本,背景灰色为测试集数据。):

  抽样输出

  通过比较“样本输出”图和“测试集-ARIMA预测”图,两者的数据基本准确。

  

本章有很多待完善地方,希望自己可继续改进。另外在选择算法之前需要优先考量数据质量,数据如果污染则严重影响检测方法。

cpu利用率多少算高,cpu利用率定义