Questions tagged «time-series»

时间序列是随时间(连续时间或离散时间段)观察到的数据。

2
如何使用tsoutliers软件包和auto.arima解释和进行预测
我有1993年至2015年的月度数据,并希望对这些数据进行预测。我使用tsoutliers包检测异常值,但是我不知道如何继续使用我的数据集进行预测。 这是我的代码: product.outlier<-tso(product,types=c("AO","LS","TC")) plot(product.outlier) 这是我从tsoutliers包的输出 ARIMA(0,1,0)(0,0,1)[12] Coefficients: sma1 LS46 LS51 LS61 TC133 LS181 AO183 AO184 LS185 TC186 TC193 TC200 0.1700 0.4316 0.6166 0.5793 -0.5127 0.5422 0.5138 0.9264 3.0762 0.5688 -0.4775 -0.4386 s.e. 0.0768 0.1109 0.1105 0.1106 0.1021 0.1120 0.1119 0.1567 0.1918 0.1037 0.1033 0.1040 LS207 AO237 TC248 AO260 AO266 0.4228 …

3
R季节性时间序列
我在中使用该decompose函数,R并提出了我每月时间序列的3个组成部分(趋势,季节性和随机性)。如果我绘制图表或查看表格,则可以清楚地看到时间序列受季节的影响。 但是,当我将时间序列回归到11个季节性虚拟变量时,所有系数都不具有统计显着性,表明没有季节性。 我不明白为什么我要得出两个截然不同的结果。有人发生过这种事吗?难道我做错了什么? 我在这里添加一些有用的细节。 这是我的时间序列以及相应的每月更改。在两个图表中,您都可以看到有季节性(或者这就是我想评估的)。特别是,在第二张图表(该系列的每月变化)中,我可以看到一个反复出现的模式(一年中相同月份的高点和低点)。 下面是该decompose函数的输出。我很欣赏@RichardHardy所说的,该函数不会测试是否存在实际的季节性。但是分解似乎证实了我的想法。 但是,当我对11个季节性虚拟变量(1月至11月,不包括12月)的时间序列进行回归时,会发现以下内容: Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 5144454056 372840549 13.798 <2e-16 *** Jan -616669492 527276161 -1.170 0.248 Feb -586884419 527276161 -1.113 0.271 Mar -461990149 527276161 -0.876 0.385 Apr -407860396 527276161 -0.774 0.443 May -395942771 527276161 -0.751 0.456 Jun -382312331 527276161 -0.725 0.472 …

1
PCA如何处理自相关数据?
仅仅因为一些通讯员提出了一个有关自相关计算方法的有趣问题,我才开始研究它,几乎不了解时间序列和自相关。 记者安排了他的数据(一个时间序列的数据点),每个数据点之间一个时滞,因此他拥有一个数据的矩阵(据我),其中第一行是原始数据,第二行是原始数据数据移动了时间单位,下一行又移动了一个,依此类推。我还通过将末端粘到尾巴上来实现了这一点,因此制作了“圆形”数据集。32323232 × 3232×3232\times321个1个1 然后,为了寻找可能产生的结果,我计算了相关矩阵,并由此得出了主要成分。出乎意料的是,我得到了一个频率分解的图像,并且(再次与其他数据)得到了一个频率,说在数据中有一个周期位于第一主成分中,而在四个数据中具有四个周期位于第二个PC中,依此类推。 (我有台特征值 “相关” PC323232666> 1>1个>1)。首先,我认为这取决于输入数据,但是现在,我假设通过具有循环移位的数据集的特殊构造(也称为“ Toeplitz”矩阵)来系统地采用这种方式。将PC解决方案旋转为varimax或其他旋转条件会产生稍微不同且可能有趣的结果,但总的来说似乎提供了这种频率分解。 这是我根据点数据集制作的图片的链接。这些曲线仅由因子矩阵的载荷绘制而成:一条曲线是一个因子的载荷。第一个PC1的曲线应显示最高振幅(大致是因为它具有最大的载荷平方和)323232 问题: Q1:这是设计使然吗?(具有这种类型的数据集的PCA) 问题2:这种方法确实确实可以用于严肃的频率/波长分析方法吗? [更新]这是数据集(希望它可以为您复制) -5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4 -3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5 -1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3 0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1 2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0 4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2 6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4 5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6 3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5 1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3 1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1 0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1 -2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0 -3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2 -1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3 0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1 3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0 5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3 7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5 6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7 7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6 5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7 4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5 3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4 2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3 3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2 5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3 4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5 3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4 2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3 3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2 4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3

3
预测模型中的传递函数-解释
我忙于ARIMA建模,该模型添加了用于推广建模目的的外生变量,并且很难向业务用户进行解释。在某些情况下,软件包最终会带有简单的传递函数,即参数*外生变量。在这种情况下,解释很容易,即促销活动X(由外源二进制变量表示)通过Y量影响因变量(例如需求)。因此,从业务角度来讲,我们可以说促销活动X导致需求量增加了Y个单位。 有时,传递函数更加复杂,例如多项式除法*外生变量。我所能做的就是对多项式进行除法,以便找到所有的动态回归系数,并说例如促销活动不仅会影响需求发生期间的需求,而且还会影响未来的需求。但是由于软件包将输出传递函数作为多项式的除法,因此业务用户无法做出直观的解释。如果不进行除法运算,关于复杂的传递函数,我们有什么可以说的吗? 相关模型的参数和相关传递函数如下所示: 常数= 4200,AR(1),促销活动系数30,Num1 = -15,Num2 = 1.62,Den1 = 0.25 因此,我想如果这期间我们进行促销活动,需求量将增加30个单位。另外,由于存在传递函数(多项式除法),所以促销活动不仅会影响当前时间段,还会影响随后的时间段。问题是,我们如何才能发现促销会影响将来的几个时段,以及每个时段对需求量的影响如何?

3
测试以区分周期性数据和几乎周期性数据
假设我有一些未知功能与域ℝ,我知道要实现像连续性一些合理的条件。我知道在某些等距采样点t_i = t_0 +iΔt且i∈ \ {1,…,n \}的情况下f的确切值(因为数据来自模拟),我可以假设它足够精细来捕获所有f的相关方面,例如,我可以假设在两个采样点之间最多有一个f的局部极值。我正在寻找一个测试,该测试告诉我我的数据是否符合正好是周期性的f,即∃τ:f(t +τ)= f(t)\,∀\,tfffRℝℝfffti=t0+iΔtti=t0+iΔtt_i=t_0 + iΔti∈{1,…,n}i∈{1,…,n}i∈\{1,…,n\}fffffffff∃τ:f(t+τ)=f(t)∀t∃τ:f(t+τ)=f(t)∀t∃τ: f(t+τ)=f(t) \,∀\,t,周期长度有些合理,例如Δt&lt;τ&lt;n⋅ΔtΔt&lt;τ&lt;n·ΔtΔt < τ < n·Δt(但可以想象,如果需要的话,我可以设定更强的约束条件)。 从另一个角度来看,我有数据x0,…,xnx0,…,xn{x_0, …, x_n}并且正在寻找一个测试来回答是否存在周期函数fff(如上所述的满足条件)使得f(ti)=xi∀if(ti)=xi∀if(t_i)=x_i ∀ i。 重要的一点是fff至少非常接近周期性(例如,f(t):=sin(g(t)⋅t)f(t):=sin⁡(g(t)·t)f(t) := \sin(g(t)·t)或f(t):=g(t)⋅sin(t)f(t):=g(t)·sin⁡(t)f(t) := g(t)·\sin(t)与g′(t)≪g(t0)/Δtg′(t)≪g(t0)/Δtg'(t) ≪ g(t_0)/Δt)到这样的程度:只需少量更改一个数据点就足以使数据符合fff是精确的周期性。因此,用于频率分析的标准工具(例如傅立叶变换或分析零交叉)将无济于事。 请注意,我正在寻找的测试可能不会出现概率。 我对如何自己设计这样的测试有一些想法,但是想避免重新发明轮子。因此,我正在寻找现有的测试。

4
预测准确性计算
我们正在使用STL(R实现)来预测时间序列数据。 每天我们都会进行每日预测。我们想将预测值与实际值进行比较,并确定平均偏差。例如,我们对明天进行了预测并获得了预测点,我们希望将这些预测点与明天将要获得的真实数据进行比较。我知道,预测值和实际数据在大多数情况下可能不匹配,这就是我们希望保持每天的准确性的原因之一。 现在,我们正在尝试确定解决此问题的最佳方法是什么?任何帮助指针将不胜感激。 我看过“ 衡量预测准确性问题”,但它似乎与比较模型有关,而不是与实际值一起计算准确性。 我看过R中的精度函数实现,但与两个问题混淆: 1)它可用于真实数据还是预测数据,因为大多数教程都说“测试数据”还是“预测数据” 2)精度函数的输出似乎是值的数组而不是偏差的百分比。

1
加法与乘法分解
我的问题是一个非常简单的问题,但那些问题确实让我很感激:)我真的不知道如何使用加法或乘法分解方法评估特定时间序列是否要分解。我知道有一些视觉提示可以告诉他们彼此分开,但我不明白。 以这个时间序列为例: 您如何形容? 在此先感谢您的帮助。

2
R检测时间序列的增加/减少趋势
我有很多时间周期,包括时期:日,周或月。通过stl()功能或通过loess(x ~ y)我可以看到特定时间序列的趋势。我需要检测时间序列的趋势是增加还是减少。我该如何处理? 我尝试使用来计算线性回归系数lm(x ~ y)并使用斜率系数。(If |slope|&gt;2 and slope&gt;0 then上升趋势,else if |slope|&gt;2 and slope&lt;0–下降)。也许还有另一种更有效的趋势检测方法?谢谢! 例如:我有timeserie1,timeserie2。我需要一个简单的算法,告诉我这timeserie2是一个递增的算法,在中timeserie1,趋势没有增加或减少。我应该使用什么标准? timeserie1: 1774 1706 1288 1276 2350 1821 1712 1654 1680 1451 1275 2140 1747 1749 1770 1797 1485 1299 2330 1822 1627 1847 1797 1452 1328 2363 1998 1864 2088 2084 594 884 1968 1858 …
9 r  time-series  trend 

1
拟合时变系数DLM
我想使DLM具有随时间变化的系数,即通常线性回归的扩展, yt=θ1+θ2x2yt=θ1+θ2x2y_t = \theta_1 + \theta_2x_2。 我有一个预测变量()和一个响应变量(y_t),分别是1950年至2011年的海洋和内陆年度鱼获量。我希望遵循DLM回归模型,x2x2x_2ytyty_t yt=θt,1+θt,2xtyt=θt,1+θt,2xty_t = \theta_{t,1} + \theta_{t,2}x_t 系统演化方程在哪里 θt=Gtθt−1θt=Gtθt−1\theta_t = G_t \theta_{t-1} 摘自Petris等人的“带R的动态线性模型”的第43页。 一些编码, fishdata &lt;- read.csv("http://dl.dropbox.com/s/4w0utkqdhqribl4/fishdata.csv", header=T) x &lt;- fishdata$marinefao y &lt;- fishdata$inlandfao lmodel &lt;- lm(y ~ x) summary(lmodel) plot(x, y) abline(lmodel) 显然,回归模型的时变系数在这里更为合适。我从第121页至第125页沿用他的示例,并将其应用于我自己的数据。这是示例中的代码 ############ PAGE 123 require(dlm) capm &lt;- read.table("http://shazam.econ.ubc.ca/intro/P.txt", header=T) capm.ts &lt;- ts(capm, …

2
耦合来自具有多个空间分辨率/尺度的源的时间序列信息
我有许多来自不同传感器的卫星光栅图像。根据这些,较粗的那些具有非常丰富的时间分辨率。中分辨率栅格的采集日期往往较少,但仍可获得一定程度的信息。较高分辨率的时间分辨率非常低,在不到两年的时间内从2到6个观测日期跨越。我想知道是否有人以任何方式努力研究这种多尺度时间序列?我希望使用较粗略的可用信息来预测较细微的将来值。对我来说有意义的是,数据必须相关(是的,图像覆盖相同的区域),但是我不知道如何在预测模型中开始耦合此信息。

1
隐马尔可夫模型用于事件预测
问题:在隐式马尔可夫模型的合理实现下进行设置吗? 我有一组108,000观察数据(在100天的时间内进行),并且2000在整个观察时间范围内大约都有事件发生。数据如下图所示,其中观察到的变量可以采用3个离散值,红色列突出显示事件时间,即:[ 1 , 2 ,3 ][1个,2,3][1,2,3]ŤËŤËt_E 如图中红色矩形所示,我对每个事件都剖析了{到 },将它们有效地视为“事件前窗口”。ŤËŤËt_EŤË− 5ŤË-5t_{E-5} HMM训练:我计划使用Pg上建议的多观察序列方法,基于所有“事前窗口” 训练隐马尔可夫模型(HMM)。Rabiner 论文 273 。希望这将使我能够训练HMM,以捕获导致事件的序列模式。 HMM预测:然后,我计划使用此HMM 预测 新一天的对,其中将是一个滑动窗口矢量,实时更新以包含当前时间至随着时间的推移。升Ò 克[ P(O b s e r v a t i o n s | H中号中号)]升ØG[P(ØbsË[Rv一个Ť一世Øñs|H中号中号)]log[P(Observations|HMM)]Øb 小号Ë - [R v 一个吨我ö Ñ 小号ØbsË[Rv一个Ť一世ØñsObservationsŤŤtŤ - 5Ť-5t-5 对于与“事前窗口”类似的,我希望看到增加。实际上,这应该使我能够在事件发生之前进行预测。升Ò 克[ P(O b s e r v …

1
评估时间序列预测性能
我有一个在几个时间变量上训练过的动态朴素贝叶斯模型。模型的输出是P(Event) @ t+1每个的预测t。 P(Event)vs 的曲线time如下图所示。在此图中,黑线代表P(Event)我的模型所预测的;的水平红线表示事件发生的先验概率; 和垂直虚线表示在时间序列中的(5个)的事件发生。 理想情况下,我希望P(Event)在观察任何事件之前先看到预测的峰值,并且在没有事件发生的希望时保持接近零。 我希望能够报告模型(黑线)在预测事件发生方面的表现。与我的模型进行比较的一个明显的候选对象是事件的先验概率(红线),如果将其用作预测因子,则将为所有对象预测相同的概率值t。 实现这种比较的最佳形式方法是什么? PS:我目前正在按照以下代码使用(直观)评分,其中总体评分较低表明预测性能更好。我发现用这个评分实际上很难超越以前的评分: # Get prediction performance model_score = 0; prior_score=0; for t in range(len(timeSeries)): if(timeSeries[t]== event): # event has happened cur_model_score = 1- prob_prediction[t]; cur_prior_score = 1 - prior else: # no event cur_model_score = prob_prediction[t] - 0; cur_prior_score = prior - …

2
ARIMA预测具有季节性和趋势,结果奇怪
当我开始使用ARIMA模型进行预测时,我试图了解如何根据ARIMA随季节和漂移的变化来改进预测。 我的数据是以下时间序列(超过3年,趋势清晰且季节性明显,似乎在滞后12、24、36?时自相关不支持)。 &gt; bal2sum3years.ts Jan Feb Mar Apr May Jun Jul Aug 2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729 2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888 2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416 Sep Oct Nov Dec 2010 2232261 2394644 2468479 2816287 2011 2480940 …

1
动态时间规整和规范化
我正在使用动态时间规整来匹配“查询”和“模板”曲线,到目前为止取得了一定的成功,但是我有一些基本问题: 我正在通过评估DTW结果是否小于我启发式得出的某个阈值来评估“匹配”。这是使用DTW确定“匹配”的一般方法吗?如果没有,请说明... 假设(1)的答案是“是”,那么我感到困惑,因为DTW结果对a)曲线幅度的差异和b)查询向量的长度以及“模板”矢量。 我正在使用对称步长函数,因此对于(b),我通过除以M + N(DTW矩阵的宽度+高度)来归一化我的DTW结果。这似乎有些有效,但是似乎会惩罚距离对角线更远的DTW匹配(即,通过DTW矩阵的路径更长)。对于“规范化”方法来说,这似乎是任意的。除以通过矩阵的步数似乎有直觉的意义,但根据文献,这似乎并不是解决问题的方法。 那么,是否有更好的方法来针对查询和模板矢量的大小调整DTW结果? 最后,如何针对查询和模板向量之间的幅度差异归一化DTW结果? 实际上,由于缺乏可靠的归一化技术(或我缺乏理解),在处理样本数据以识别用于定义“匹配”的最佳阈值水平时,似乎需要大量的人工工作。我想念什么吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.