Tag: 时间序列

pandas可以绘制date的直方图吗?

我采取了我的系列,并强制它的date时间列dtype = datetime64[ns] (虽然只需要一天的决议…不知道如何改变)。 import pandas as pd df = pd.read_csv('somefile.csv') column = df['date'] column = pd.to_datetime(column, coerce=True) 但绘图不起作用: ipdb> column.plot(kind='hist') *** TypeError: ufunc add cannot use operands with types dtype('<M8[ns]') and dtype('float64') 我想绘制一个直方图,只显示按星期,月份或年份计算的date 。 pandas有办法做到这一点吗?

auto.arima()相当于python

我试图预测使用ARMA ARIMA模型的每周销售量。 我无法find调整statsmodels的顺序(p,d,q)的statsmodels 。 目前R有一个函数auto.arima() ,它将调整(p,d,q)参数。 我如何去为我的模型select正确的顺序? Python中有没有用于此目的的库?

在R中滚动连接data.table

我想了解更多有关滚动连接工作的方式,并且有一些困惑,我希望有人能够为我澄清这一点。 举一个具体的例子: dt1 <- data.table(id=rep(1:5, 10), t=1:50, val1=1:50, key="id,t") dt2 <- data.table(id=rep(1:5, 2), t=1:10, val2=1:10, key="id,t") 我期望这将产生一个长的data.table在dt2的价值滚动: dt1[dt2,roll=TRUE] 相反,正确的做法似乎是这样的: dt2[dt1,roll=TRUE] 有人可以向我解释更多关于如何joindata.table作品,因为我显然不能正确理解它。 我认为dt1[dt2,roll=TRUE]对应于select * from dt1 right join dt2 on (dt1.id = dt2.id and dt1.t = dt2.t) sql的等价物,除了添加了locffunction。 另外文档说: X[Y] is a join, looking up X's rows using Y (or Y's key if it has one) […]

在另一个时间范围内返回数据子集的时间范围?

有非常漂亮的方法来xts对象的子集。 例如,可以通过以下方式获取所有年份,月份,date的所有数据,但严格地在上午9点30分到下午4点之间: my_xts["T09:30/T16:00"] 或者你可以通过做两个date之间的所有观察: my_xts["2012-01-01/2012-03-31"] 或者在某个date之前/之后的所有date: my_xts["/2011"] # from start of data until end of 2011 my_xts["2011/"] # from 2011 until the end of the data 我怎样才能得到所有年份的所有数据只有特定的几个月,或者只有特定的几个月的数据? 还有其他的子集技巧吗?

R data.table滑动窗口

使用data.table包实现滑动窗口函数的最佳(最快)方法是什么? 我试图计算滚动中位数,但每个date有多个行(由于2个额外的因素),我认为这意味着动物园rollapplyfunction将无法正常工作。 这是一个使用天真for循环的例子: library(data.table) df <- data.frame( id=30000, date=rep(as.IDate(as.IDate("2012-01-01")+0:29, origin="1970-01-01"), each=1000), factor1=rep(1:5, each=200), factor2=1:5, value=rnorm(30, 100, 10) ) dt = data.table(df) setkeyv(dt, c("date", "factor1", "factor2")) get_window <- function(date, factor1, factor2) { criteria <- data.table( date=as.IDate((date – 7):(date – 1), origin="1970-01-01"), factor1=as.integer(factor1), factor2=as.integer(factor2) ) return(dt[criteria][, value]) } output <- data.table(unique(dt[, list(date, factor1, factor2)]))[, window_median:=as.numeric(NA)] for(i in […]

时间序列模式识别

通过处理时间序列图,我想检测看起来类似于这样的模式: 以一个采样时间序列为例,我希望能够检测到这里标记的模式: 什么样的AIalgorithm(我假设marchine学习技术)我需要用来实现这个? 有没有我可以使用的库(以C / C ++)?

是否有一个强大的时间序列数据库系统?

在多个项目中,我们必须存储,汇总和评估简单的测量值。 一行典型地由时间戳,值和一些属性组成。 在一些应用程序中,我们希望每秒存储1000个值。 这些值不仅要插入,而且要以相同的速率删除,因为值的使用期限限制在一年左右(在不同的汇总步骤中,我们不存储全年的1000 / s)。 到现在为止,我们已经开发出不同的解决scheme 一个基于Firebird,一个基于Oracle,一个基于自制的存储机制。 但是这些都不是很令人满意的解决scheme。 这两种RDBMS解决scheme都无法处理所需的数据stream。 除此之外,传递值的应用程序(例如设备驱动程序)不能轻易地附加到数据库,插入语句很麻烦。 最后,强烈希望有一个SQL接口的数据,典型的评估是很难在SQL中制定和执行速度慢。 例如,在上个月的所有测量中,每15分钟find一个带有时间戳的最大值。 自制的解决scheme可以处理插入率,并有一个客户端友好的API来做到这一点,但它不像查询语言,也不能被其他应用程序通过某些标准接口使用,例如报告。 我梦中最好的解决scheme是数据库系统: 有一个非常快速的插入API 能够以相同的速度删除/截断值 为典型的时间序列数据提供了一个标准的SQL接口 你知道有些数据库接近这些要求,或者你会以不同的方式处理这个问题吗?

如何parsing毫秒?

如何使用strptime或任何其他函数来parsingR中的毫秒时间戳? time[1] # [1] "2010-01-15 13:55:23.975" strptime(time[1], format="%Y-%m-%d %H:%M:%S.%f") # [1] NA strptime(time[1], format="%Y-%m-%d %H:%M:%S") # [1] "2010-01-15 13:55:23"`

如何获得一个垂直的geom_vline到类date的x轴?

即使我发现在POSIXct和geom_vline的谷歌组中的哈德利的post,我无法完成。 例如,我有一个时间序列,想要绘制1998年,2005年和2010年的垂直线。 我尝试了ggplot和qplot语法,但是我仍然没有看到垂直线,或者垂直线是在第一个垂直网格上绘制的,整个系列有点奇怪地向右移动。 gg <- ggplot(data=mydata,aes(y=somevalues,x=datefield,color=category)) + layer(geom="line") gg + geom_vline(xintercept=mydata$datefield[120],linetype=4) # returns just the time series plot I had before, # interestingly the legend contains dotted vertical lines 我的date字段格式为“1993-07-01”,类别为Date 。

存储时间序列数据,关系还是非关系?

我正在创build一个系统,使用SNMP以(可能)5分钟的时间间隔轮询设备以获取不同指标(如CPU利用率,磁盘利用率,温度等)上的数据。 最终目标是以时间序列图的forms向系统的用户提供可视化。 过去我使用RRDTool进行了研究,但是由于无限期地存储捕获的数据对于我的项目非常重要,所以我想要更高级别,更灵活地访问捕获的数据。 所以我的问题是: 在查询数据进行绘制时,关系数据库(如MySQL或PostgreSQL)或非关系数据库或NoSQL数据库(如MongoDB或Redis)的性能更好。 相关的 给定一个关系数据库,我会使用一个data_instances表,其中将存储为所有设备测量的每个度量捕获的每个数据实例,其中包含以下字段: 字段: id fk_to_device fk_to_metric metric_value timestamp 当我想在特定设备上为特定度量标准绘制图表时,我必须查询此单一表格以筛选出其他设备,并分析此设备的其他度量标准: SELECT metric_value, timestamp FROM data_instances WHERE fk_to_device=1 AND fk_to_metric=2 这个表中的行数是: d * m_d * f * t 其中d是设备的数量, m_d是所有设备logging的累计度量数 , f是数据被轮询的频率 , t是系统已经收集数据的总时间 。 对于每5分钟logging一次3个设备的10个指标的用户,我们只有不到500万条logging。 索引 没有fk_to_device和fk_to_metric扫描的索引,这个不断扩展的表将花费太多时间。 因此索引上述字段和timestamp (用于创build具有本地化时间段的图)是一项要求。 非关系(NoSQL) MongoDB具有集合的概念,与表格不同,这些可以在没有设置的情况下以编程方式创build。 有了这些,我可以将每个设备的数据存储分区,甚至每个设备的每个数据分区。 我对NoSQL没有经验,也不知道他们是否提供了任何查询性能增强function,如索引,但是前面的段落提出了在NoSQL中存储数据的结构中执行大部分传统的关系查询工作。 未定 具有正确索引的关系解决scheme是否会在一年内减less爬行? 还是NoSQL的基于集合的结构方法(与我存储的数据的心智模型相匹配)提供了明显的好处?