Questions tagged «seasonality»

季节性是指在给定时间段(通常是日历年)内围绕时间序列平均值的反复波动。

6
可以使用哪种方法检测数据的季节性?
我想检测收到的数据的季节性。我发现了一些方法,例如季节性子序列图和自相关图,但问题是我不了解如何读取图表,有人可以帮忙吗?另一件事是,是否有其他方法可以在有或没有图形的最终结果的情况下检测季节性?

4
这是测试自杀人数数据中季节性影响的适当方法吗?
我有17年(1995年至2011年)的死亡证明数据与美国某州的自杀死亡有关。关于自杀和自杀的个月数/季节,有很多神话,其中很多是自相矛盾的,我的文献中经过审查,我对所使用的方法或结果的把握并不清楚。 因此,我着手确定是否可以确定我的数据集中在任何给定月份内自杀的可能性或高或低。我所有的分析都在R中完成。 数据中的自杀总数为13,909。 如果您以自杀次数最少的年份为例,它们发生在309/365天(85%)。如果您查看自杀次数最多的年份,则发生在339/365天(93%)。 因此,每年都有相当多的日子没有自杀。但是,如果将这17年的总和汇总起来,那么一年中的每一天(包括2月29日)都会有自杀事件(尽管平均值为38时只有5次)。 (在我看来)仅将一年中每一天的自杀总数加起来并不表示明显的季节性。 按月汇总,每月平均自杀范围为: (m = 65,sd = 7.4,至m = 72,sd = 11.1) 我的第一种方法是按年份汇总所有年份的数据集,并在计算出原假设的预期概率后得出卡氏检验,即按月计算的自杀人数没有系统差异。我考虑了天数(并针对taking年调整了2月),计算了每个月的概率。 卡方结果表明按月没有明显变化: # So does the sample match expected values? chisq.test(monthDat$suicideCounts, p=monthlyProb) # Yes, X-squared = 12.7048, df = 11, p-value = 0.3131 下图显示了每月的总数。水平红线分别位于2月,30天和31天月份的期望值。与卡方检验一致,对于预期计数,没有一个月份在95%置信区间之外。 我以为我已经做完了,直到我开始研究时间序列数据。正如我想象的那样,我首先使用stlstats包中的函数进行非参数的季节性分解方法。 为了创建时间序列数据,我从汇总的每月数据开始: suicideByMonthTs <- ts(suicideByMonth$monthlySuicideCount, start=c(1995, 1), end=c(2011, 12), frequency=12) …

3
每日时间序列分析
我正在尝试进行时间序列分析,并且是该领域的新手。我每天都在统计2006-2009年的某个事件,因此我想为其拟合时间序列模型。这是我取得的进步: timeSeriesObj = ts(x,start=c(2006,1,1),frequency=365.25) plot.ts(timeSeriesObj) 我得到的结果图是: 为了验证是否存在季节性和趋势数据,或者不是,我按照此提到的步骤后: ets(x) fit <- tbats(x) seasonal <- !is.null(fit$seasonal) seasonal 在Rob J Hyndman的博客中: library(fma) fit1 <- ets(x) fit2 <- ets(x,model="ANN") deviance <- 2*c(logLik(fit1) - logLik(fit2)) df <- attributes(logLik(fit1))$df - attributes(logLik(fit2))$df #P value 1-pchisq(deviance,df) 两种情况都表明没有季节性。 当我绘制该系列的ACF和PACF时,得到的是: 我的问题是: 这是处理每日时间序列数据的方式吗?该页面建议我应该同时查看每周和年度模式,但是这种方法对我来说并不明确。 一旦有了ACF和PACF图,我将不知道如何进行。 我可以简单地使用auto.arima函数吗? 适合<-arima(myts,order = c(p,d,q) *****更新了Auto.Arima结果****** 当我根据罗布海德门的评论的数据的频率改变为7 这里,auto.arima选择一个季节性ARIMA模型和输出: …

3
具有每日数据的自动ARIMA:如何捕获季节性/周期性?
我正在每天时间序列上拟合ARIMA模型。从2010年2月1日到2011年7月30日每天收集数据,这些数据与报纸的销售有关。由于可以发现每周的销售模式(星期一至星期五的每日平均销售份数通常相同,然后在星期六和星期日增加),因此我试图捕捉这种“季节性”。给定销售数据“数据”,我按如下方式创建时间序列: salests<-ts(data,start=c(2010,1),frequency=365) 然后使用auto.arima(。)函数通过AIC准则选择最佳的ARIMA模型。结果始终是非季节性的ARIMA模型,但是如果我尝试使用以下语法作为示例的SARIMA模型,例如: sarima1<-arima(salests, order = c(2,1,2), seasonal = list(order = c(1, 0, 1), period = 7)) 我可以获得更好的结果。ts命令/ arima规范中是否有任何错误?每周模式非常强大,因此我不希望在捕获它时遇到太多困难。任何帮助将非常有用。谢谢朱莉娅·德皮里(Giulia Deppieri) 更新: 我已经改变了一些论点。更准确地说,当我设置时,该过程选择ARIMA(4,1,3)作为最佳模型D=7,但AIC和其他拟合指数和预测良好的方法根本没有改善。我猜是由于季节性和周期性之间的混淆导致一些错误。 使用Auto.arima调用并获得输出: modArima<-auto.arima(salests,D=7,max.P = 5, max.Q = 5) ARIMA(2,1,2) with drift : 1e+20 ARIMA(0,1,0) with drift : 5265.543 ARIMA(1,1,0) with drift : 5182.772 ARIMA(0,1,1) with drift : 1e+20 ARIMA(2,1,0) …

2
选择季节性分解方法
季节性调整是预处理数据以进行进一步研究的关键步骤。但是,研究人员对于趋势周期-季节分解有多种选择。最常见的季节性分解方法(根据经验文献中的引用次数)是X-11(12)-ARIMA,Tramo / Seats(均在Demetra +中实现)和的stl。试图避免在上述分解技术(或其他简单方法,如季节性虚拟变量)之间随机选择,我想知道一种可以有效选择季节性分解方法的基本策略。[R[RR 几个重要的子问题(也欢迎进入讨论链接)可能是: 这些方法有什么异同,优点和缺点?在某些情况下,一种方法比其他方法更可取吗? 您能否提供有关不同分解方法黑匣子内部内容的一般指南? 是否有一些特殊的技巧为方法选择参数(我并不总是对默认值感到满意,stl例如,有许多参数需要处理,有时我觉得我不知道如何正确选择这些参数)。 是否有可能提出一些(统计)标准来对时间序列进行季节性有效调整(相关图分析,频谱密度,小样本量标准或鲁棒性?)。

1
定义ARIMA订单时遇到问题
这是一篇很长的文章,所以希望您能忍受,并请纠正我错的地方。 我的目标是根据3或4周的历史数据生成每日预测。 该数据是变压器线路之一的局部负载的15分钟数据。我在查找季节性ARIMA过程的模型顺序时遇到麻烦。考虑用电时间序列: 原始时间序列http://i.share.pho.to/80d86574_l.png 当将前三周作为子集并进行差分时,将计算以下ACF / PACF图: 子集http://i.share.pho.to/5c165aef_l.png 第一个区别http://i.share.pho.to/b7300cc2_l.png 季节性和第一次差异http://i.share.pho.to/570c5397_l.png 看起来该系列有点固定。但是季节性也可以是每周一次(请参阅季节性差异周和二阶差异[在这里] http://share.pho.to/3owoq,您怎么看?) 一[R 我中号A (p ,1 ,q)(P,1 ,Q )96一种[R一世中号一种(p,1个,q)(P,1个,问)96 ARIMA(p,1,q)(P,1,Q)_{96} 一[R 我中号甲(0 ,1 ,4 )(0 ,1 ,1 )96一种[R一世中号一种(0,1个,4)(0,1个,1个)96 ARIMA(0,1,4)(0,1,1)_{96} Series: x ARIMA(0,1,4)(0,1,1)[96] Coefficients: ma1 ma2 ma3 ma4 sma1 -0.2187 -0.2233 -0.0996 -0.0983 -0.9796 s.e. 0.0231 0.0234 0.0257 0.0251 0.0804 sigma^2 …

1
设置STL窗口宽度的标准
使用R进行STL分解,s.window控制如何快速的季节性成分可以改变。较小的值允许更快速的更改。将季节性窗口设置为无穷大等效于将季节性分量强制为周期性(即跨年相同)。 我的问题: 如果我有一个每月的时间序列(即频率等于),应该使用什么标准设置?121212s.window 那和时间序列频率之间有联系吗?

1
多元生物学时间序列:VAR和季节性
我有一个多元时间序列数据集,其中包括相互作用的生物学和环境变量(可能还有一些外生变量)。除季节性外,数据中没有明显的长期趋势。我的目的是查看哪些变量彼此相关。预测并不是真正需要的。 作为时间序列分析的新手,我阅读了一些参考资料。据我了解,向量自回归(VAR)模型是合适的,但我对季节性并不满意,大多数示例都涉及到没有季节性的经济学领域(通常是时间序列分析……)。 我应该如何处理我的季节性数据?我考虑过对它们进行反季节化处理-例如在R中,我将使用decompose,然后使用这些$trend + $rand值来获得看起来非常平稳的信号(根据判断acf)。VAR模型的结果使我感到困惑(选择了1滞后模型,而我会凭直觉期望更多,并且只有自回归系数(而不是与其他滞后变量的回归系数)才有意义)。我是在做错什么,还是应该得出结论,我的变量不(线性)相关/我的模型不是一个好模型(子问题:是否存在与VAR等效的非线性?)。 [或者,我读到我可能可以使用虚拟的季节性变量,尽管我无法确切地知道如何实现它]。 逐步的建议将不胜感激,因为有经验的用户的详细信息实际上可能对我有帮助(当然,非常欢迎R代码段或指向具体示例的链接)。

1
插入符glmnet与cv.glmnet
在glmnet内部caret使用搜索最佳lambda和cv.glmnet执行相同任务的比较中似乎有很多困惑。 提出了许多问题,例如: 分类模型train.glmnet与cv.glmnet? 在插入符号中使用glmnet的正确方法是什么? 使用`caret`交叉验证`glmnet` 但是没有给出答案,这可能是由于问题的可重复性。在第一个问题之后,我给出了一个非常相似的示例,但确实存在相同的问题:为什么估计的lambda如此不同? library(caret) library(glmnet) set.seed(849) training <- twoClassSim(50, linearVars = 2) set.seed(849) testing <- twoClassSim(500, linearVars = 2) trainX <- training[, -ncol(training)] testX <- testing[, -ncol(testing)] trainY <- training$Class # Using glmnet to directly perform CV set.seed(849) cvob1=cv.glmnet(x=as.matrix(trainX),y=trainY,family="binomial",alpha=1, type.measure="auc", nfolds = 3,lambda = seq(0.001,0.1,by = 0.001),standardize=FALSE) …

5
如何在大量数据点中进行值的插补?
我的数据集非常大,大约缺少5%的随机值。这些变量相互关联。以下示例R数据集只是一个具有虚拟相关数据的玩具示例。 set.seed(123) # matrix of X variable xmat <- matrix(sample(-1:1, 2000000, replace = TRUE), ncol = 10000) colnames(xmat) <- paste ("M", 1:10000, sep ="") rownames(xmat) <- paste("sample", 1:200, sep = "") #M variables are correlated N <- 2000000*0.05 # 5% random missing values inds <- round ( runif(N, 1, length(xmat)) …
12 r  random-forest  missing-data  data-imputation  multiple-imputation  large-data  definition  moving-window  self-study  categorical-data  econometrics  standard-error  regression-coefficients  normal-distribution  pdf  lognormal  regression  python  scikit-learn  interpolation  r  self-study  poisson-distribution  chi-squared  matlab  matrix  r  modeling  multinomial  mlogit  choice  monte-carlo  indicator-function  r  aic  garch  likelihood  r  regression  repeated-measures  simulation  multilevel-analysis  chi-squared  expected-value  multinomial  yates-correction  classification  regression  self-study  repeated-measures  references  residuals  confidence-interval  bootstrap  normality-assumption  resampling  entropy  cauchy  clustering  k-means  r  clustering  categorical-data  continuous-data  r  hypothesis-testing  nonparametric  probability  bayesian  pdf  distributions  exponential  repeated-measures  random-effects-model  non-independent  regression  error  regression-to-the-mean  correlation  group-differences  post-hoc  neural-networks  r  time-series  t-test  p-value  normalization  probability  moments  mgf  time-series  model  seasonality  r  anova  generalized-linear-model  proportion  percentage  nonparametric  ranks  weighted-regression  variogram  classification  neural-networks  fuzzy  variance  dimensionality-reduction  confidence-interval  proportion  z-test  r  self-study  pdf 

2
每天,每周和每年定期预测每小时时间序列
主要编辑:到目前为止,我要非常感谢Dave&Nick的回答。好消息是我开始工作了(原理是从海德曼教授的批量预测职位上借来的)。合并未完成的查询: a)如何增加auto.arima的最大迭代次数-似乎在有大量外生变量的情况下,auto.arima在达到最终模型之前达到了最大迭代次数。如果我误解了,请纠正我。 b)来自尼克的一个答案强调,我对小时间隔的预测仅从这些小时间隔中得出,不受当天早些时候发生的事件的影响。我的直觉来自于处理这些数据,告诉我这通常不会引起重大问题,但是我愿意就如何处理这些问题提出建议。 c)Dave指出,我需要一种更为复杂的方法来识别我的预测变量周围的提前/滞后时间。是否有人在R中使用编程方法有经验?我当然希望会有局限性,但是我想尽我最大的努力来开展这个项目,我毫不怀疑这也一定会对其他人有用。 d)新查询但与手头任务完全相关-选择订单时auto.arima是否考虑回归因素? 我正在尝试预测商店的造访。我要求能够考虑到假期,leap年和零星事件(主要是离群值);在此基础上,我发现ARIMAX是我最好的选择,它使用外生变量尝试对多个季节以及上述因素进行建模。 每小时24小时记录一次数据。事实证明这是有问题的,因为我的数据中有零个数字,尤其是在一天中访问量很少的时间,有时甚至在商店刚开业时根本没有访问量。而且,营业时间相对不稳定。 而且,将一个完整的时间序列作为一个具有3年以上历史数据的时间序列进行预测时,计算时间非常庞大。我认为通过将一天中的每个小时作为单独的时间序列进行计算,可以使其速度更快,并且在一天中较忙的时间进行测试似乎可以产生更高的准确性,但事实又证明,早/晚时间的问题是持续访问。我相信使用auto.arima将使过程受益,但是在达到最大迭代次数之前(因此使用手动拟合和maxit子句),它似乎无法收敛于模型。 我曾尝试通过创建一个当访问量= 0时的外生变量来处理“丢失”数据。同样,这对于一天中繁忙的时间(当唯一的无人访问时间是商店关门时)非常有用。在这些情况下,外生变量似乎可以成功地处理此问题,从而进行前瞻性预测,并且不包括前一天关闭的影响。但是,我不确定如何使用此原理来预测商店开张但并不总是会造访的安静时间。 在Hyndman教授关于R中的批量预测的帖子的帮助下,我试图建立一个循环来预测24系列,但它似乎不想从下午1点开始进行预测,也无法弄清原因。我得到“ optim中的错误(init [mask],armafn,method = optim.method,hessian = TRUE ::非有限有限差分值[1]”),但是由于所有系列的长度均相等,因此我基本上在使用同一矩阵,我不明白为什么会这样,这意味着矩阵不是全等级的,不是吗,如何用这种方法避免这种情况? https://www.dropbox.com/s/26ov3xp4ayig4ws/Data.zip date() #Read input files INPUT <- read.csv("Input.csv") XREGFDATA <- read.csv("xreg.csv") #Subset time series data from the input file TS <- ts(INPUT[,2:25], f=7) fcast <- matrix(0, nrow=nrow(XREGFDATA),ncol=ncol(TS)) #Create matrix of exogenous variables …

2
为什么STL函数使用随机数据会产生明显的季节性变化
我使用stl(黄土时间序列的季节性分解)函数使用以下代码进行绘制: plot(stl(ts(rnorm(144), frequency=12), s.window="periodic")) 它显示了明显的季节性变化,上面的代码中放有随机数据(rnorm函数)。每次运行都会看到明显的变化,尽管模式是不同的。下面显示了两个这样的模式: 当显示季节性变化时,如何依靠stl函数处理某些数据。是否需要考虑其他一些参数来查看这种季节性变化?感谢您的见解。 代码摘自此页:这是测试自杀计数数据中季节性影响的适当方法吗?

2
为什么我们要从时间序列中删除季节性因素?
在处理时间序列时,有时我们会使用频谱分析来检测并消除季节性。我是时间序列的真正初学者,但我很困惑为什么要从原始时间序列中去除季节性?删除季节性因素是否会使原始数据失真? 通过消除季节性来构建时间序列,我们可以获得什么好处?

2
计算复杂季节性的季节性指标
我想使用指数平滑来预测零售商品(按周)。我现在停留在如何计算,存储和应用共鸣指数上。 问题是我发现的所有示例都涉及一种简单的季节性。就我而言,我有以下问题:1.季节不是每年的同一周发生:它们是可移动的。狂欢节,借来的,复活节的和其他一些。2.有些季节会根据年份而变化。例如,有一个国家假期。根据假期是否接近周末,客户是否会离开城镇。因此,这就像有两个季节:一个是客户离开城镇的季节,另一个是他们不离开城镇的季节。3.有时两个(或三个)季节同时发生。例如,我们将“狂欢节”季节与情人节季节同时发生。 4.有时持续时间会改变。例如,“万圣节季节”是今年年初开始的。圣诞节也是另一个例子,似乎每年我们都开始提早运送产品。 在我看来,我需要找到一种方法来设置某种“季节特征”,然后根据特定情况添加某种“季节特征”以获得正确的季节指数。那有意义吗? 有人知道我在哪里可以找到有关此操作的实用信息吗? 谢谢,埃德加德

2
如何对每日时间序列数据中的月度效果建模?
我有两个时间序列的每日数据。一个是订阅sign-ups,另一个terminations是订阅。我想使用两个变量中包含的信息来预测后者。 从这些系列的图表来看,很明显终止与前几个月的签约倍数相关。也就是说,5月10日的注册人数激增,将导致6月10日,7月10日和8月10日的终止人数增加,依此类推,尽管这种影响逐渐减弱。 我希望获得有关我可以采用哪种模型来建模此特定问题的提示。任何建议将不胜感激。 到目前为止,我一直在考虑一个VAR模型,但是我不确定如何包括月度影响-使用非常高的滞后量或以某种方式添加季节性成分?

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.