タグ付けされた質問 「seasonality」

季節性とは、特定の期間(通常は暦年)の時系列の平均を中心とした繰り返し変動を指します。


4
これは、自殺カウントデータの季節的影響をテストする適切な方法ですか?
私は、米国の州の自殺による死亡に関連する17年(1995年から2011年)の死亡証明書データを持っています。確認しましたが、使用した方法の明確な感覚や結果に対する自信が得られません。 そのため、データセット内の特定の月に自殺が多かれ少なかれ発生する可能性があるかどうかを判断できるかどうかを確認しました。私の分析はすべてRで行われます。 データに含まれる自殺者の総数は13,909人です。 自殺が最も少ない年を見ると、309/365日(85%)に発生します。自殺が最も多い年を見ると、それらは339/365日(93%)に発生しています。 したがって、毎年自殺のないかなりの日数があります。ただし、17年間すべてで集計すると、2月29日を含む1年の毎日に自殺があります(平均が38の場合は5人のみ)。 1年の各日に自殺者の数を単純に合計しても、明確な季節性を示すものではありません(私の目には)。 月ごとのレベルで集計すると、月あたりの平均自殺者の範囲は次のとおりです。 (m = 65、sd = 7.4、m = 72、sd = 11.1) 私の最初のアプローチは、すべての年の月ごとにデータセットを集計し、月ごとの自殺数に系統的な分散がないという帰無仮説の予想確率を計算した後、カイ二乗検定を行うことでした。日数を考慮して(そしてうるう年の2月を調整して)各月の確率を計算しました。 カイ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 下の画像は、1か月あたりの合計数を示しています。水平の赤い線は、それぞれ2月、30日月、31日月の期待値に配置されています。カイ2乗検定と一致して、予想カウントの95%信頼区間外にある月はありません。 時系列データの調査を開始するまで、私は終わったと思いました。多くの人が想像するstlように、statsパッケージの関数を使用したノンパラメトリック季節分解法から始めました。 時系列データを作成するには、集約された月次データから始めました。 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 そしてロブ・J・ハインドマンのブログで: 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関数を単純に使用できますか? fit <-arima(myts、order = c(p、d、q) ***** Auto.Arimaの結果を更新****** ここでRob Hyndmanのコメントに従ってデータの頻度を7に変更すると、auto.arimaは季節ARIMAモデルを選択して出力します。 …

3
Auto.arima with daily data:季節性/周期性をキャプチャする方法?
毎日の時系列にARIMAモデルを当てはめています。データは2010年2月1日から2011年7月30日まで毎日収集され、新聞販売に関するものです。週ごとの販売パターンを見つけることができるので(販売されたコピーの1日の平均量は月曜日から金曜日まで通常同じで、土曜日と日曜日に増加します)、この「季節」を捉えようとしています。売上データ「データ」を指定して、次のように時系列を作成します。 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の仕様に何か問題はありますか?毎週のパターンは非常に強いので、キャプチャするのにそれほど多くの困難はないと思います。任意のヘルプは非常に便利です。ありがとう、ジュリア・デッピエーリ 更新: すでにいくつかの引数を変更しました。より正確には、プロシージャはを設定すると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) with …

2
季節ごとの分解方法の選択
季節調整は、さらなる研究のためにデータを前処理する重要なステップです。ただし、研究者には、トレンドサイクルと季節性の分解に関する多くのオプションがあります。最も一般的な(経験的文献の引用数から判断する)競合する季節分解法は、X-11(12)-ARIMA、Tramo / Seats(両方ともDemetra +で実装)およびのstlです。上記の分解手法(または季節ダミー変数のような他の単純な手法)間のランダムな選択を回避するために、季節分解手法を効果的に選択するための基本戦略を知りたいと思います。RRR いくつかの重要なサブ質問(ディスカッションへのリンクも歓迎)は次のとおりです。 メソッドの類似点と相違点、長所と短所は何ですか?ある方法が他の方法よりも望ましい特別なケースはありますか? さまざまな分解方法のブラックボックスの中にあるものへの一般的なガイドを提供できますか? メソッドのパラメーターを選択するための特別なトリックはありstlますか? 時系列が効率的に季節的に調整されるいくつかの(統計)基準(コレログラム分析、スペクトル密度、小さなサンプルサイズの基準、ロバストネス)を提案することは可能ですか?

1
ARIMA順序の定義に関する問題
これは長い投稿なので、あなたが私と一緒に耐えられることを願っています、そして私が間違っているところで私を修正してください。 私の目標は、3週間または4週間の履歴データに基づいて毎日の予測を作成することです。 データは、変圧器ラインの1つのローカル負荷の15分のデータです。季節のARIMAプロセスのモデル次数を見つけるのに問題があります。電力需要の時系列を考慮します。 元の時系列http://i.share.pho.to/80d86574_l.png 最初の3週間をサブセットとして取得し、差を付けると、次の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 これは、シリーズが少し静止しているように見えます。しかし、季節性は週単位でもあります(季節差の週と2次の差[こちら] http://share.pho.to/3owoqをご覧ください。) したがって、モデルは次の形を取ると結論付けましょう: A R IMA (p 、1 、q)(P、1 、Q )96AR私MA(p、1、q)(P、1、Q)96 ARIMA(p,1,q)(P,1,Q)_{96} 最後の図では、ラグ96での明確なスパイクは、季節的なMA(1)コンポーネントを示しています(PACFにも明確なスパイクがあるので、AR(1)も同様である可能性があります)。ラグ1:4のスパイクは、PACFの指数関数的な減衰に対応するMA(4)コンポーネントを示しています。したがって、手動で選択される初期モデルは次のようになります withA R IMA (0 、1 、4 )(0 、1 、1 )96AR私MA(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 …

1
STL s.windowの幅を設定する基準
を使用RしてSTL分解を実行s.windowし、季節成分がどれだけ速く変化するかを制御します。値を小さくすると、より迅速に変更できます。季節性ウィンドウを無限に設定することは、季節性成分を強制的に周期的にすることと同等です(つまり、年間を通して同一)。 私の質問: 毎月の時系列(頻度が等しい)がある場合、どの基準を使用して設定する必要がありますか?121212s.window それと時系列周波数の間にリンクはありますか?

1
多変量生物学的時系列:VARと季節性
相互作用する生物学的変数と環境変数(およびおそらく外生変数も含む)を含む多変量時系列データセットがあります。季節性のほかに、データには明確な長期的な傾向はありません。私の目的は、どの変数が互いに関連しているかを確認することです。予測は実際には求められていません。 時系列分析は初めてなので、いくつかの参考文献を読みました。私の知る限り、Vector Autoregressive(VAR)モデルは適切ですが、季節性と季節性のない経済学分野(多くの場合、時系列分析など)に気付いたほとんどの例に不安を感じています。 季節データをどうすればよいですか?私はそれらを非季節化することを検討しました。たとえば、Rではdecompose、$trend + $rand値を使用してから、かなり静止しているように見える信号を取得します(で判断acf)。VARモデルの結果は混乱を招きます(1ラグモデルが選択されますが、直観的にはもっと期待していたので、自己回帰の係数だけが-他の遅延変数との回帰ではなく-重要です)。私は何か間違ったことをしていますか、または変数が(線形に)関連していない/私のモデルが良いものではないと結論付ける必要があります(補助的な質問:VARに相当する非線形はありますか?) [別の方法として、ダミーの季節変数を使用できるかもしれないと読みましたが、実装方法を正確に把握することはできません]。 経験豊富なユーザーの詳細が実際に私に有益である可能性があるため、ステップバイステップの提案は非常に高く評価されます(そして、具体的な例へのRコードスニペットまたはリンクはもちろん大歓迎です)。

1
キャレットglmnetとcv.glmnet
glmnetwithin caretを使用して最適なラムダを検索cv.glmnetし、同じタスクを実行するために使用することの比較には、多くの混乱があるようです。 次のような多くの質問が提起されました。 分類モデルtrain.glmnet対cv.glmnet? キャレットでglmnetを使用する適切な方法は何ですか? 「キャレット」を使用して「glmnet」を相互検証する しかし、答えはありません。これは、質問の再現性による可能性があります。最初の質問に続いて、非常に似た例を挙げますが、同じ質問があります:推定されるラムダはなぜそんなに違うのですか? 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 = …

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の対応に感謝します。良い知らせは、ループが機能するようになったことです(原則として、バッチ予測に関するHydnman教授の投稿から借用しました)。未解決のクエリを統合するには: a)auto.arimaの最大反復回数を増やすにはどうすればよいですか。外生変数が多数あるため、auto.arimaは最終モデルに収束する前に最大反復回数に達しているようです。これを誤解している場合は訂正してください。 b)Nickからの1つの回答は、時間間隔の私の予測はそれらの時間間隔のみから導き出され、その日の早い段階での発生に影響されないことを強調しています。このデータを処理することから、本能は、これがしばしば重大な問題を引き起こすべきではないことを教えてくれますが、これをどのように処理するかについての提案を受け入れます。 c)Daveは、予測変数を取り巻くリードタイムとラグタイムを特定するには、より高度なアプローチが必要であることを指摘しました。Rのこれに対するプログラムによるアプローチの経験はありますか?もちろん制限はあると思いますが、できる限りこのプロジェクトを進めたいと思っています。これが他の人にも役立つことは間違いありません。 d)新しいクエリですが、当面のタスクに完全に関連しています-注文を選択するときにauto.arimaはリグレッサを考慮しますか? 来店を予測しようとしています。移動する休日、うるう年、散発的なイベント(本質的には外れ値)を説明する機能が必要です。これに基づいて、私はARIMAXが私の最善の策であると収集し、外因性変数を使用して、複数の季節性と前述の要因を試してモデル化します。 データは1時間ごとに24時間記録されます。これは私のデータにゼロの量があるため、特に訪問数が非常に少ない1日の時間帯に問題があることが判明しています。また、営業時間は比較的不安定です。 また、3年以上の履歴データを持つ1つの完全な時系列として予測する場合、計算時間は膨大です。毎日の時間を別々の時系列として計算することで、それがより速くなると考えました。そして、忙しい時間帯でこれをテストすると、より高い精度が得られるようですが、早朝/後期の時間で問題になることが判明しましたt常に訪問を受ける。auto.arimaを使用するとプロセスにメリットがあると思いますが、最大反復回数に達する前にモデルに収束できないようです(そのため、手動での適合とmaxit句を使用しています)。 訪問数= 0の場合の外生変数を作成して、「欠落」データを処理しようとしました。繰り返しますが、これは、訪問がない唯一の時間である1日の店舗が閉まっているときだけ、忙しい1日の時間帯に最適です。これらの例では、外生変数は前向きに予測するためにこれを正常に処理するようであり、以前に閉じられた日の影響を含みません。ただし、店が開いているが、常に訪問を受けるとは限らない静かな時間を予測することに関して、この原則を使用する方法がわかりません。 Rでのバッチ予測についてのHyndman教授の投稿を利用して、24シリーズを予測するループを設定しようとしていますが、午後1時以降は予測したくなく、その理由を理解できません。「optim(init [mask]、armafn、method = optim.method、hessian = TRUE、:non-finite finite-difference value [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 …

2
時系列から季節性を取り除く必要があるのはなぜですか?
時系列の操作中に、スペクトル分析を使用して季節性を検出して削除することがあります。私は時系列の本当の初心者ですが、元の時系列から季節性を取り除きたいのはなぜでしょうか。季節性を削除すると元のデータが歪むのではないですか? 季節性を取り除いて時系列を構築することでどのようなメリットがありますか?

2
stl関数がランダムデータで有意な季節変動を与える理由
stl(Loessによる時系列の季節分解)関数を使用して次のコードでプロットしました。 plot(stl(ts(rnorm(144), frequency=12), s.window="periodic")) 上記のコード(rnorm関数)にランダムデータを配置すると、季節変動が大きくなります。パターンは異なりますが、これを実行するたびに大きな変動が見られます。そのような2つのパターンを以下に示します。 季節変動が見られる場合、いくつかのデータのstl関数にどのように依存できますか。この季節変動は、他のいくつかのパラメータを考慮して確認する必要がありますか?あなたの洞察をありがとう。 コードはこのページから取得されました:これは自殺カウントデータの季節的影響をテストする適切な方法ですか?

2
毎日の時系列データで月間効果をモデル化する方法は?
2つの時系列の日次データがあります。1つはサブスクリプションでsign-ups、もう1つはterminationsサブスクリプションです。両方の変数に含まれている情報を使用して、後者を予測したいと思います。 これらのシリーズのグラフを見ると、終了が数か月前のサインアップの倍数と相関していることは明らかです。つまり、5月10日にサインアップが急増すると、6月10日、7月10日、8月10日などに終了の増加につながりますが、効果はなくなります。 この特定の問題をモデル化するためにどのモデルを採用するかについてのヒントを得たいと思っています。何かアドバイスをいただければ幸いです。 これまではVARモデルを考えていましたが、毎月の効果を含める方法がわかりません-非常に高い次数のラグを使用するか、何らかの方法で季節成分を追加しますか?

1
周期的データに適合する周期的スプライン
この質問へのコメントで、ユーザー@whuberは、定期的なデータに適合するために定期的なバージョンのスプラインを使用する可能性を挙げました。この方法、特にスプラインを定義する方程式、および実際にそれらを実装する方法について詳しく知りたいです(私はほとんどがRユーザーですが、必要に応じて、MATLABまたはPythonを使用して実行できます)。また、これは「便利」ですが、三角多項式フィッティングに関して考えられる長所/短所について知ることは素晴らしいことです。これは、通常、この種のデータを処理する方法です(応答が非常に滑らかでない場合を除きます)。その場合、定期的なカーネルでガウスプロセスに切り替えます)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.