当前位置:首页 » 服务存储 » 时间序列数据处理和存储
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

时间序列数据处理和存储

发布时间: 2023-05-15 04:13:36

❶ 转录组时间序列数据处理

所谓时序分析 (time series analysis) 在 data science 中是非常重要的一个方向。对大多数商业行为而言如果能够通过已有不同时间数据来进行预测就有可能大大提高自己的胜率。通常时间序列数据会包括趋势部分和不规则部分, 我们需要做的就是剔除不规则部分然后找到趋势所在,再进行预测。在预测过程中通常可以采用移动平均法、局部加权回归法、指数平滑法和自回归整合移动平均等方法。

生物学的时间相关数据本身预测属性和商业数据相比要弱很多。一种是单一条件的纯时间序列,主要看不同基因的表达模式,根据相似的表达谱将基因归为多个类有助于找到功能相似的基因。另一种情况是含有对照和处理的时间序列,需要再考察不同条件的差异基因。

关于时间序列转录组数据分析的工具,近三年来有两篇偏综述和测评类的文章(一局判个人写的)。

在这两篇文章中还是提到了一些工具,但其中有一些用到matlab(这软件贵啊),有一些年久失修或者不维护或者和最新R版本不兼容,桐含改筛筛捡捡能用的且文章里认为还不错的也就剩下三四个。

来自于 DESeq 的方法,下文中提到的 ImpluseDE2 和 MaSigPro 都使用了这种模型。

来自于 maSigPro 方法,所谓多项式回归区别常见的线性回归,会把一次特征转换成高次特征的线性组合多项式,比使用直线拟合更加准确。但是到底用几次方需要具体分析,次数过高会出现过拟合。在能够解释自变量和因变量关系的前提下,次数应该是越低越好,这也算是奥卡姆剃刀原则吧。

所谓自回归是统计上一种处理时间序列的方法,用 至 来预测本期 的表现并假设它们为线性关系。简单说就是用自己来预测自己,因为是从回归分析中线性回归发展而来只是用x预测x,所以叫自回归。

同样是来自于 DESeq 的方法,下文中提到的 ImpluseDE2 和 MaSigPro 也都使用了这种方法。

似然比检验 (likelihood ratio test,LRT) 用于比较两个模型的拟合优度进而确定哪个模型与样本数据拟合的更好。其中一个是具有一定数量项的完整模型,另一个是删掉完整模型中一部分项的简化模型。LRT 检验中,自由度等于在简化模型中减少的模型参数数目,LR近似符合卡方分布。一个相对复杂的模型与一个简单模型比较,如果可以显着地适合一个特定数据集,那么这个复杂模型的附加参数就能够用在以后的数据分析中。

为了测试多个时间点的任何差异,可以使用包含时间因子的设计和时间因子在简化公式中被删除的另一个设计。对于包括对照和实验组的时间序列,可以使用包含条件因子,时间因子和两者相互作用的公式。在这种情况下,使用具有不包含相互作用项的简化模型的似然比检验将测试该条件是否在参考水平时间点(time 0)之后的任何时间点可以诱导基因表达的变化。

EBseq-HMM 采用的方法,来自于 BEseq。

这个软件最早发表在2007年,相对老一些好在目前仍然在维护,其主要目的是给老岩时序数据进行基于 模糊聚类算法 的聚类。我们常见的聚类算法可以分为严格聚类(hard clustering)和模糊聚类(Fuzzy clustering )(也叫做宽松聚类 soft clustering)。严格聚类会将一个基因只聚到一类中,kmeans 就属于严格聚类。而模糊聚类允许同一数据属于多个不同的类,其聚类结果是一个数据对聚类中心的隶属度,0到1之间。对于分类很开的数据使用严格聚类是没问题的。但对于时序表达量数据来说,不同的类常常会有重叠,所以可以尝试宽松聚类方法。算法需要首先设定一些参数,若初始化参数不合适,可能影响聚类结果的正确性。

在使用 Mfuzz 时首先应该进行数据标准化处理 ,可以使用类似于 FPKM 或者 TPM 的表达结果也可以使用 DESeq2 矫正后的结果进行比较分析,另外不支持值为0的数据,所以需要加上 pseudocount 。除此之外,Mfuzz 接受的数据格式为 ExpressionSet,需要对矩阵进行转换。

这个包只能进行聚类,是找不了有处理对照组的差异基因的。需要注意。

运行masigpro 主要有四步:

有两点内容需要注意:对于无对照的单一时序数据处理方法;以及处理转录数据时的特殊参数。因为这个包不会对数据进行标准化,所以应该提前做好,使用 DESeq2 即可。

另外,在实际分析的时候可能会出现 glm.fit: algorithm did not converge 的警告。这是由于进行 logistic 回归时,依照极大似然估计原则进行迭代求解回归系数,glm 函数默认最大迭代次数是 25,当数据不太好时 25 次迭代可能还不收敛,一方面可以增大迭代次数。但当增大迭代次数仍然不收敛就需要对数据进行异常值检验等进一步处理。通常把一些表达量极低或者极高的基因删除掉,这个问题就可以解决。

ImpulseDE2 是最近才出来的一个R包,在前面提到的综述评测文章中认为这个包找时序数据中的差异基因效果最好,它可以用来解决两类问题。

这个包中,有一个 plotHeatmap 函数,可以借助 ComplexHeatmap 对数据整体进行热图的绘制同时提取不同类的基因,也可以使用 plotGenes 看某一个基因的表达情况。

在展示的热图中会出现四部分,包括 transient and transition trajectorie,其中每一种 tarjectorie 又包括 up 和 down 两类。所谓的 transient 可以理解为时序数据在中间某一个时间点存在up 或者 down peak,即在某一个时间点存在表达的最大或者最小值;而所谓的 transient 可以理解为一个持续的变化,比如持续的升高或者持续的降低。

EBSeq-HMM 是基于 EBSeq 二次开发的工具,主要用于分析时序数据。在计算的时候首先基于负二项分布对参数进行估计,然后利用自回归隐马模型将基因的表达进行分类。比较神奇的是,最终给到的结果会标示为 Up-Up-Down-Down-Down 之类的若干 path,然后你可以选出你感兴趣的 path 进行后续分析。

因为目前做的数据是没有对照的单一时间序列数据,所以还不能体会哪一个找出的差异基因更准确些。但是如果只是想把所有的基因根据不同的时间点分为若干表达 pattern,似乎结合 Mfuzz 和 ImpulseDE2 就可以了。

当然,涉及到聚类,尤其是非监督聚类的时候通常主观因素还是较强,如果能对关键基因或者数据有一个大致的估计预判操作起来会相对轻松些,如果没有,可能就需要结合不同类的生物学意义等角度来找合适的聚类数目了。

http://a-little-book-of-r-for-time-series.readthedocs.io/en/latest/src/timeseries.html
http://a-little-book-of-r-for-biomedical-statistics.readthedocs.io/en/latest/
https://laranikalranalytics.blogspot.com/2018/07/time-series-analysis-with-documentation.html
https://www.displayr.com/smoothing-time-series-data/?utm_medium=Feed&utm_source=Syndication
https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series-modeling/

❷ 什么是时间序列数据

问题一:什么是时间序列 时间序列分析是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。它包括一般统计分析(如自相关分析,谱分析等),统计模型的建立与推断,以及关于时间序列的最优预测、控制与滤波等内容。经典的统计分析都假定数据序列具有独立性,而时间序列分析则侧重研究数据序列的互相依赖关系。后者实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。例如,记录了某地区第一个月,第二个月,……,第N个月的降雨量,利用时间序列分析方法,可以对未来各月的雨量进行预报。

问题二:什么样的数据比较适合做时间序列模型分析 你可以到统计年鉴或者stats.gov(中华人民共和国国家统计局网站)里去查找你需要的数据。
气象方面,金融方面,中国城市化水平等社会化相关问题,股票指数(也属于金融领域了)。

时间序列模型预测城市时用水量

autooo/classid36-id9874

这方面图书馆有卖很多相关书籍。

问题三:时间序列数据与横截面数据有什么区别? 时间序列数据是同一对象跨时间的观察值的向量 所以必须按照一定顺序
(X1, X2, ..., Xt)

横截面数据一般是同一时点对不同对象的观察值的 *** 顺序的改变应该不影响计量的结果

{X1, X2, ..., Xn}

问题四:时间旅碧序列分析适合大量的历史数据吗 时间序列是按时间顺序的一组数字序列。时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展。时间序列分析是定量预测方法之一,它的基本原理:一是承认事物发展的延续性。应用过去数据,就能推测事物的发展趋势。二是考虑到事物发展的随机性。任何事物发展都可能受偶然因素影响,为此要利用统计分析中加权平均法对历史数据进行处理。该方法方法简单易行,便于掌握,但准确性差,一般只适用于短期预测。

问题五:时间序列数据与横截面数据有什么区别? 时间序列数据和横截面数据,对某个统计指数在不同时期进行观测,将得到的数据按时间先后次序进行排列,这样得到的统计数据称为时间序列数据。每月的销售额、每季度的进口额、每年末的存款余额等都是时间序列数据。与此不同,若某个指标在不同的个体上进行观测,则得到该指标的一组横截面数据。

问题六:大纯什么样的数据适合做时间序列建模 你可以到统计年鉴或者stats.gov(中华人民共和国国家统计局网站)里去查找你需要的数据。
气象方面,金融方面,中国城市化水平等社会化相关问题,股票指数(也属于金融领域了)。

时间序列模型预测城市时用水量

autooo/classid36-id9874

这方面图书馆有卖很多相关书籍。

问题七:请看一下这些数据是时间序列数据还是面板数据? 20分 这要看你的数据是选取的是1998-2010年单一某地碳排放量(Y)和GDP(X)的数据,还是多个地方的数据了。前者是时间序列数据后者是面板数据(时间序列数据是指同一解释变量在不同时点上同一地点的观测值,简单来讲就是仅仅是某地的Y和X的数据;而面板数据指的是同一解释变量在不同时点上多个地点的观测值,比如Y和X选的是多个省的数据)。应该能看懂吧。
对于第二个问题:协整性检验和平稳性检验选取的变量是一样的。

协整分析需要首先检验各个序列的平稳性,即进行单位根检验。对多变量来说一般可以用ADF检验和PP检验。

其次,再进行各个变量之间的协整检验。协整检验的方法有EG两步法和JJ检验法。EG两步法一般是针对两个变量之间的协整关系进行检验,对于3个或以上的变量一般采用JJ检验法。

再次,利用向量误差修正模型(VECM)建立各个变量之间的短期均拆仿举衡关系,将长期均衡关系作为误差纠正项纳人方程中,以反应短期波动偏离长期均衡的程度。接着,可以利用Wald检验对误差修正模型各方程系数的显着性进行联合检验,从而判别各变量因果关系的方向。

问题八:如何生成新时间序列数据 1、使用create命令,生成一个区间在2010-2015的工作文件,
2、在命令窗口中输入:series [email protected](时间),生成一个以该时间为0基准的整数的时间序列。在案例中,输入series [email protected](2010),按enter键生成后,点击t,即可查看。

❸ 时间序列数据处理基础

时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。时间序列法是一种 定量预测 方法,亦称简单外延方法。在统计学中作为一种常用的预测手段被广泛应用。 时间序列分析 在第二次世界大战前应用于经济预测。二次大战中和战后,在军事科学、 空间科学 、气象预报和工业自动化等部门的应用更加广泛。 时间序列分析 (Time series analysis)是一种动态数据处理的 统计方法 。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的 统计规律 ,以用于解决实际问题。- 360网络

随着移动互联和物联网等的发展,现在很多领域也都会有时间序列数据需要进行处理,除了金融、农业、经济学、生态学、物理学等,还有现在很多地方常见的数据形式,数据点是根据某种规律定期出现(比如每15秒,每5分钟、每月出现一次)。

构成要素:长期趋势,季节变动,循环变动,兄肢不规则变动

长期趋势( T )现象在较长时期内受某种根本性因素作用而形成的总的变动趋势,例如股票的价格有的会看几年内的发展,需要考虑整体大的经济环境,行业,已野弊经公司等的发展。

季节变动( S )现象在一年内随着季节的变化而发生的有规律的周期性变动,比如股票会受短期的疫情,天气,人员行业变动等等内外部因素影响,在某些时段出现波动。

循环变动( C )现象以若干年为周期所呈现出的波浪起伏形态的有规律的变动,比如羡脊世岁冷热季节涨跌的变化,旅游的热季淡季等。

不规则变动(I )是一种无规律可循的变动,包括严格的随机变动和不规则的突发性影响很大的变动两种类型

根据不同使用场景,一般分为几种

datetime.datetime(2020, 4, 28, 9, 45, 2, 474920)

看当前时间的各个值

2020 4 28 9 45 2

时间类型可以直接相减,得到间隔

结果是间隔类型
datetime.timedelta(days=218, seconds=53100)

218

同样的,可以给 datetime 对象加上(或减去)一个或多个 timedelta,这样会产生一个新对象:

datetime.datetime(2014, 6, 17, 0, 0)

datetime 模块中的数据类型:

'2015-09-09 00-00-00'

'2015-09-09'

datetime.datetime(2015, 9, 9, 0, 0)

[datetime.datetime(2015, 7, 6, 0, 0), datetime.datetime(2015, 6, 2, 0, 0)]

datetime.strptime 是通过已知格式进行日期解析的最佳方式。但是每次都要编写格式定义是很麻烦的事情,尤其是对于一些常见的日期格式。这种情况下,你可以用 deteutil 这个第三方包中的 parser.parse 方法:

datetime.datetime(2015, 8, 9, 0, 0)

dateutil 可以解析几乎所有人类能够理解的日期表示形式]: i ,不过可惜中文不行

datetime.datetime(1993, 1, 31, 22, 10)

国际通用的格式中,日通常出现在月的前面

传入 dayfirst=True 即可解决这个问题

datetime.datetime(1993, 1, 31, 22, 10)
pandas 通常是用于处理成组日期的,不管这些日期是 DataFrame 的轴索引还是列。to_datetime 方法可以解析多种不同的日期表示形式。对标准日期格式(如 ISO8601)的解析非常快

它还可以处理缺失值(None、空字符串等)
NaT(Not a Time) 是 pandas 中的时间戳数据的 NA 值

datetime 格式定义:

有了时间数据对象基础,一系列的时间和指标就可以组成时间序列,可以用series对象存储处理,日期可以变成索引列

这些 datetime 对象实际是被放在一个 DatetimeIndex 中

现在 ts 就变成为一个 TimeSeries 了

不同索引的时间序列之间的算术运算会自动按日期对齐

只要需要,TimeStamp 可以随时自动转换为 datatime 对象。此外,它还可以存储频率信息(如果有的话),且知道如何执行时区转换以及其他操作。

由于 TimeSeries 是 Series 的一个子类,所以在索引以及数据选取方面他们的行为是一样的

由于大部分时间序列数据都是按照时间先后排序的
因此我们可以用不存在于时间序列中的时间戳进行切片

跟之前一样,这里可以传入字符串日期、datetime 或 Timestamp。此外还有一个等价的实例方法也可以截取两个日期之间的 TimeSeries:

在某些应用场景中,可能会存在多个观测数据落在同一个时间点上的情况

通过检查索引的 is_unique 属性,我们可以知道它是不是唯一的

对这个时间序列进行索引,要么产生标量值,要么产生切片

具体要看所选的时间点是否重复

假设我们想要对具体非唯一时间戳的数据进行聚合。一个办法是使用 groupby,并传入 level=0(索引的唯一一层):

❹ 数据分析之时间序列分析

顾名思义,时间序列就是按照时间顺利排列的一组数据序列。时间序列分析就是发现这组数据的变动规律并用于预测的统计胡运简技术。该技术有以下三个基本特点:

1.假设事物发展趋势会延伸到未来;

2.预测所依据的数据具有不规则性;

3.不考虑事物发展之间的因果关系。

对时间序列进行分析的最终目的,是要通过分析序列进行合理预测,做到提前掌握其未来发展趋势,以此为业务决策提供依据。

移动平均法和指数平滑法的局限

移动平均法是一种简单平滑预测技术,它的基本思想是:根据时间序列资料逐项推移,依次计算包含一定项数的序时平均值,以反映长期趋势。但这种方法不适合预测具有复杂趋势的时间序列。指数平滑法是移动平均法的改进方法,通过对历史数据的远近不同赋予不同的权重进行预测。但在实际应用中,指数平滑法的预测值通常会滞后于实际值,尤其是所预测的时间序列存在长期趋势时,这种滞后的情况更加明显。

在实际进行时间序列预测时,遇到的数据会比较复杂,所以我们需要用到更专业的预测方法来对数据进行合理预测。通常情况下一个时间序列包含四种因素悄键,它们会通过不同的组合方式影响时间序列的发展变化。

时间序列四种因素有两种组合方式。

1.四种因素相互独立,即时间序列是由四种因素直接叠加而形成的,可用加法模型表示:

Y=T+S+C+I

2.四种因素相互影响,即时间序列是综合四种因素而形成的,可用乘法模型表示:

Y=T×S×C×I,通常遇到的时间序列都是乘法模型。其中,原始时间序列值和长期趋势可用绝对数表示,季节变动、循环变动和不规则变动则用相对数(通常是变动百分比)表示。

当我们需要对一个时间序列进行预测时,需要将上述四种因素从时间序列中分解出来。原因是:

1.把因素从时间序列中分解出来后,就能克服其他因素的影响,仅考量某一种因素对时间序列的影响;

2.分解这四种因素后,也可以分析他们之间的相互作用,以及它们对时间序列的综合影响;

3.当去掉某些因素后,就可以更好地进行时间序列之间的比较,从而更加客观地反映事物变化发展规律;

4.分解这些因素后的序列可以用于建立回归模型,从而提高预测精度。

通常情况,我们会考虑进行季节因素的分解,也就是将季节变动因素从原时间序列中去除,并生成由剩余的三种因素构成的序列来满足后续分析需求。

如果时间序列图的趋势随着时间的推移,序列的季节波动变得越来越大,则建议使用乘法模型;如果序列的季节波动能够基本维持恒定,则建议使用加法模型。

时间序列的预测步骤主要分为四步:

(1)绘制时间序列图观察趋势;

(2)分析序列平稳性并进行平稳化;

(3)时间序列建模分析;

(4)模型评估与预测;

平稳性是指时间序列的所有统计性质都不会随着时间的推移而发生变化,对于一个平稳的时间序列来说,需要具有以下特征:

(1)均数和方差不随时间变化;

(2)自相关系数只与时间间隔有关,与所处的时间无关。

相关系数是用来量化变量之间的相关程度。自相关系数研究的是一个序列中不同时期的相关系数,也就是时间序列计算其当前期和不同滞后期的一系列相关系数。

目前主流的时间序列预测方法都是针对平稳的时间序列进行分析的,但是实际上,我们遇到的大多数时间序列都不平稳,所以在分析时,需要首先识别序列的平稳性,并且把不平稳的序列转换为平稳序列。一个时间序列只有被平稳化处理过,才能被控制和预测。

将时间序列平稳化的方式有很多,基础的方法是差分,因为这个方法有助于我们解读时间序列模型。差分,就是指序列中前后相邻的两期数据之差。

ARIMA模型是时间序列分析中常用的一种模型,其全称为求和自回归移动平均模型。该模型形式为:ARIMA(p,d,q)(P,D,Q)。该模型有6个参数,前3个裤裤参数(p,d,q)针对季节性变化后的序列,后三个参数(P,D,Q)主要用来描述季节性变化,两个序列是相乘的关系,因此,该模型也称为复合季节模型。

其中:p,是指移除季节性变化后的序列所滞后的p期,取值通常为0或1,大于1的情况较少;d,是指移除季节性变化后的序列进行了d阶差分,取值通常为0、1或2;q,是指移除季节性变化后的序列进行了q次移动平均,取值通常为0或1,很少会超过2。大写的P,D,Q的含义相同,只是应用在包含季节性变化的序列上。本例中,该模型可解读为,对移除季节因素的序列和包含季节因素的序列分别进行一阶差分和一次移动平均,综合两个模型而构建出的时间序列模型。

模型拟合度主要通过R平方或平稳的R平方来评估模型拟合优度,以及在比较多个模型的情况下,通过比较统计量从而找到最优模型。本例中,由于原始序列具有季节变动因素,所以,平稳的R平方则更具参考意义。该值等于32.1%,所以,该时间序列模型的拟合效果一般。

模型统计提供了更多的统计量用以评估时间序列的数据拟合效果。本例中,虽然平稳的R平方值为32.1%,但是“杨-博克斯Q(18)”统计量的显着性(P值)=0.706,大于0.05(此处的显着性(P值)>0.05是期望得到的结果),则接受原假设,认为这个序列的残差符合随机序列分布,同时也没有离群值的出现,这些也都反映出数据的拟合效果还是可以接受的。

❺ 时序数据库是什么,哪个好

时序数据库全称为时间序列数据库。时间序列数据搏凳仿库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
时间序列数据主要由电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据。这些工业数据的典型特点是:产生频率快、严重依赖于采集时间、测点多信息量大。

Transwarp TimeLyre 是星环科技研发的企业级分布式时序数据库,可以支撑时序数据的各类业务场景, 支持高吞吐实时写入、时序精确查询、多维检索等。 Timelyre 支持分布式水平扩展,同时具有极高的压缩率可以支持海量时序数据的存储,可以有效支撑物 联网、能源制造、金融量化交粗型易领域基纤等多种时序数据业务场景。

❻ 时序数据库是什么解决什么问题的主要应用那些行业

时序数据库是一种按照时间存储的数据库。
解决是海量数据的高效插入查询。
应用在互联网的大规模数据统计分析上面,物联网的信息收集方面。

时间点对于时序数据库非常重要,而高吞吐量决定了它存在的价值。