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预测”图,两者的数据基本准确。
本章有很多待完善地方,希望自己可继续改进。另外在选择算法之前需要优先考量数据质量,数据如果污染则严重影响检测方法。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。