首页 > 新闻中心 > 掌酷科技 > 数码 > 笔记本 >

基于机器学习算法的时间序列价格异常检测(附
2019-02-08 17:33 量化投资与机器学习

,第一时间获取最新研究

本期作者:Susan Li

本期编辑:Chloe | 公众号翻译部成员

正文

异常检测是指检测数据集里面与其他数据不相符的数据点。

异常检测也称为异常值检测,是一种数据挖掘过程,用于确定数据集中发现的异常类型并确定其出现的详细信息。 在当今世界,由于大量数据无法手动标记异常值,自动异常检测显得至关重要。 自动异常检测具有广泛的应用,例如欺诈检测,系统健康监测,故障检测以及传感器网络中的事件检测系统等。

你是否有过这样的经历,比如,你经常前往某个目的地进行商务旅行,并且你总是住在同一家酒店。虽然大部分时间那里的房价几乎总是相似的,但偶尔相同的酒店,相同的房间类型,费率却高得令人无法接受,以致于你必须换到另一家酒店,因为你的旅行补贴不能包含这么高的价格。我经历了好几次这样的事情,这让我想到,如果我们能够创建一个模型来自动检测这种价格异常会怎么样呢?

当然某些情况下,一些异常在我们这一生中也只会发生一次,并且我们会事先知道它们的发生,还知道在未来每年的相同时间几乎不会再发生,例如2019年2月2日至2月4日亚特兰大荒谬的酒店价格(译者注:2019年2月3日,第53届超级碗比赛在亚特兰大梅赛德斯——奔驰体育场举行)。

在这篇文章中,我们将探讨不同的异常检测技术,我们的目标是在无监督学习的情况下考察酒店房间价格的时间序列中所在的异常。让我们开始吧!

数据获取

事实上要获取全部数据非常困难,我只能得到一些不完美的数据。

importpandas aspd

importnumpy asnp

importmatplotlib.dates asmd

importmatplotlib.pyplot asplt

frommpl_toolkits.axes_grid1 importhost_subplot

importmpl_toolkits.axisartist asAA

fromsklearn.preprocessing importStandardScaler

fromsklearn.decomposition importPCA

fromsklearn.cluster importKMeans

fromsklearn.covariance importEllipticEnvelope

frompyemma importmsm

fromsklearn.ensemble importIsolationForest

fromsklearn.svm importOneClassSVM

frommpl_toolkits.mplot3d importAxes3D

frompyemma importmsm

%matplotlib inline

我们将使用的数据是Personalize Expedia Hotel Searches数据集的子集,读者可在此处找到(https://www.kaggle.com/c/expedia-personalized-sort/data,其中训练集为train.csv,测试集为test.csv)。

我们打算按如下方式对训练集train.csv的一个子集进行剪切:

选择包含数据点最多的一个酒店property_id = 104517。 选择visitor_location_country_id = 219 ,国家ID 219是指美国。 我们这样做是为了统一price_usd列。由于不同国家在显示税费方面有不同的惯例,所以此列的价格可能是每晚或整个住宿的。而我们知道此列向美国游客展示的价格总是每晚不含税的。 选择search_room_count = 1。 选择我们需要的特征:date_time,price_usd,srch_booking_window,srch_saturday_night_bool。
标签: 数据 检测 算法 异常
0

上一篇:我为什么会买一款2300元的鼠标,这么贵的鼠标又
下一篇:没有了
官方微信公众号:掌酷门户(wapzknet)

首页 > 新闻中心 > 掌酷科技 > 数码 > 笔记本 >
相关资讯

新闻热点
精选美图


客户端合作免责友链
Copyright 2009-2019 冀ICP备09035849号-1
掌酷门户 版权所有 冀公网安备 13092302000152号