学习笔记 | 核心网KPI异常检测

本文探讨了核心网KPI异常检测的重要性,传统方法存在的问题以及如何借助大数据技术,特别是ARIMA算法,进行KPI异常智能监控。通过特征构建生成训练集和测试集,训练和验证算法来提高网络故障识别的准确性和效率。
摘要由CSDN通过智能技术生成

核心网KPI异常检测

业务目标
  • 核心网在运营商网络中位置高,很少发生故障。但一旦发生故障,对全网稳定性和服务质量影响很大,另外,有时候网络问题只影响小部分用户,此时没有显性告警,只有当用户服务质量受损、投诉时才发现,在核心网网元 upgrade、关键配置修改时,需要快速发现网络异常,及时回退,核心网网元种类多,复杂网元 KPI 达数千个,人工难以全面精确识别故障异常,云核 KPI 数量多, 固定阈值维护复杂,精确度不高,无法支撑故障初期快速识别,这些问题都是由于传统的 KPI 监控无法及时的发现问题而产生的。
  • 随着大数据技术的发展,我们可以结合大数据新技术建立 KPI 异常智能监控,及时预测以及发现异常 KPI,有效的高的网络的良好运行。
实验数据
  • 通信系统中 ATS: 通用语音业务网元主要上报核心网的语音业务网元 KPI 信息。
    在这里插入图片描述
  • 有“BEGINTIME”、“DURATION”、“USERLABEL”、 “MEASOBJLDN”和“C478156420”列。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 该场景目标为判断 KPI 的异常值,属于异常点检测问题,但是数据是时间序列数据, 故选择时间序列预测算法。本实验以 ARIMA 为例,该算法实现简单、不需做特征选 择,且有训练速度快等优势。
  • 导入的 ATS 原始数据,需要按照时间维度进行分隔,前三十天的数据,用于生成训练集。最后一天的数据,用于生成测试集。分别需要创建用于生成训练集的特征工程和用于生成测试集的特征工程。
01 特征构建算法——生成训练集
  • ATS 原始数据中列出了 31 天的数据,需要将前 30 天的数据拆分出来作为训练集。

下述代码就是过滤出前 30 天的数据。

# -*- coding: utf-8 -*-
# Automatically generated code template for feature operation 'time_fiter'

import pandas as pd
from datetime import datetime

# Real custom feature operation
# args:
#     data: input pandas dataframe
# return:
#       output pandas dataframe
def feature_op(data):
    cond_start_time=datetime.strptime("2018/07/31 00:00:00","%Y/%m/%d %H:%M:%S")
    data['BEGINTIME']=pd.to_datetime(data['BEGINTIME'],format="%Y/%m/%d %H:%M:%S")
    data=data.loc[(data.BEGINTIME<cond_start_time)]  
    return data
02 特征构建算法——生成测试集
  • 数据集界面仅导入了一份 ATS 原始数据,需要拆分出最后一天的数据生成测试集。

下述代码就是过滤出最后一天的数据,即 7 月 31 号的数据。

# -*- coding: utf-8 -*-
# Automatically generated code template for feature operation 'time_fiter'

import pandas as pd
from datetime import datetime

# Real custom feature operation
# args:
#     data: input pandas dataframe
# return:
#       output pandas dataframe
def feature_op(data):
    cond_start_time=datetime.strptime("2018/07/31 00:00:00","%Y/%m/%d %H:%M:%S")
    data['BEGINTIME']=pd.to_datetime(data['BEGINTIME'],format="%Y/%m/%d %H:%M:%S")
    data=data.loc[(data.BEGINTIME>=cond_start_time)]  
    return data
03 训练算法 - KPI
# -*- coding: utf-8 -*-
# Automatically generated simple classification code for algorithm kpiprediction
from __future__ import print_function
from naie.datasets import get_data_reference
from naie.context import Context
from naie.metrics import report
from threading import Thread
from time import sleep
from sklearn.metrics import *
from sklearn.neural_network import MLPClassifier
import moxing as mox
import os
import pickle
import string
import pandas as pd
import numpy as np
import pandas as pd
import numpy as np
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.tsa.stattools import arma_order_select_ic
from statsmodels.tsa.holtwinters import ExponentialSmoothing
from statsmodels
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值