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

将来のイベントの予測。これは、[時系列]のコンテキストでは、[予測]の特殊なケースです。

2
tbatsモデルから予測サンプルパスをシミュレートする
Rob Hyndmanによる優れた予測パッケージを使用して、予測間隔を設けるだけでなく、複雑な季節性を持つ時系列の過去の観測を考慮して、将来のパスをシミュレートする必要性に遭遇しました。季節性が1つまたは2つしかない、それほど複雑ではない時系列用のものがあります(forecastパッケージのSimulate.ets())。ただし、私の場合、より複雑なtbatsモデルには、simulate.ets()と同等のものが必要になります。 そのようなパスを作成するために必要なデータは既にフィットオブジェクトに存在していると思いますが、サンプルパスを作成する可能性には直接アクセスできないようです。したがって、私は素朴な解決策を考え出し、このアプローチが正しいかどうかを知りたいと思います。 require(forecast) fit = bats(test,use.parallel=T,use.damped.trend=F,use.trend=T,seasonal.periods=seasonal.periods) 単純に、からのポイント予測を使用してサンプルパスを構築できると思います fit > forecast(fit) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 1960.016 24.48576 23.82518 25.14633 23.47550 25.49602 1960.032 24.79870 23.88004 25.71735 23.39374 26.20366 1960.048 25.31743 24.39878 26.23608 23.91247 26.72239 1960.065 25.69254 24.77389 26.61120 24.28759 27.09750 1960.081 26.06863 25.14998 26.98729 24.66367 …

1
指数加重移動平均を計算するより簡単な方法は?
提案された方法: 時系列与えられた場合、Nポイントの平均化ウィンドウで加重移動平均を計算します。加重は、古い値よりも新しい値を優先します。バツ私バツ私x_iNNN 重みを選択する際には、幾何級数が1に収束するというよく知られた事実、つまり、無限に多くの項が取られる場合。∑ (12)kΣ(12)k\sum (\frac{1}{2})^k 合計が1になる離散的な重みの数を取得するには、幾何学的系列の最初の項を取得し、それらの合計で正規化します。(1NNN(12)k(12)k(\frac{1}{2})^k 場合、例えば、これは、非正規化重みを与えますN= 4N=4N=4 0.0625 0.1250 0.2500 0.5000 合計で正規化すると、 0.0667 0.1333 0.2667 0.5333 移動平均は、これらの正規化された重みに対する最新の4つの値の積の合計になります。 この方法は、長さウィンドウを移動する明白な方法で一般化されており、計算上も同様に簡単に見えます。NNN 質問: 「指数加重」を使用して加重移動平均を計算するためにこの簡単な方法を使用しない理由はありますか? EWMAのWikipediaエントリはより複雑に見えるので、私は尋ねます。EWMAの教科書の定義に、上記の単純な定義にはない統計的特性があるのではないかと思うのはどれですか。それとも実際には同等ですか?

1
非定常時系列の予測
非定常時系列を予測したいと思います。そのような系列のインスタンスの研究から続くいくつかの重要な先験的仮定を含みます。 正規分布で近似された時間平均1点確率分布関数を作成しました。 この観点から、とき、予測がこれを超えないようにします。言い換えると、分散は有界でなければなりません。ZT(L)L→∞ZT(L)p^(x )= 12個のπσ2∞−−−−−√exp( − x22つのσ2∞)p^(バツ)=12πσ∞2exp⁡(−バツ22σ∞2)\hat p(x) = \frac{1}{\sqrt{2\pi \sigma^2_{\infty}}} \exp\left(-\frac{x^2}{2\sigma^2_{\infty}}\right)zt(l )zt(l)z_t(l)l → ∞l→∞l \to \inftyzt(l )zt(l)z_t(l) 平均2点確率分布関数も作成され、自己相関関数の識別につながりました。は。ρ(J)≈AJ-α0&lt;α&lt;0.5p^(x私、私; バツj、j )p^(バツ私、私;バツj、j)\hat p(x_i,i;x_j,j)ρ (J )≈ A J- αρ(j)≈あj−α\rho(j) \approx A j^{-\alpha} 0 &lt; α &lt; 0.50&lt;α&lt;0.50<\alpha<0.5 最初、Box-Jenkinsの識別プロセスにより、モデルが、A R IMA (0 、1 、3 )あR私Mあ(0、1、3)ARIMA(0,1,3) (これはBJ重みの方程式から得られます)までは、分散の制限はありません。同時に、初期の自己相関がゆっくりと減少するため、使用することはできません(これは、おそらくBJによる非定常性の証拠です)。これが私にとっての主な障害です。ψ J D = 0d≠ 0d≠0d \ne 0ψjψj\psi_jd= …

3
SPSSを使用した2x3混合設計ANOVAの事後テスト?
実験中に3回評価された10人の参加者の2つのグループがあります。グループ間および3つの評価全体の違いをテストするために、group(コントロール、実験)、time(最初、2、3)、およびを使用して2x3混合設計ANOVAを実行しましたgroup x time。両方timeとgroup有意な相互作用があったほか、重大な結果group x time。 グループメンバーシップに関しても、3回の評価の違いをさらにチェックする方法をよく知りません。実際、最初は、ANOVAのオプションで、ボンフェローニの補正を使用してすべての主要な効果を比較することだけを指定しました。しかし、この方法で、グループを区別せずに、サンプル全体の時間の違いをこのように比較したことに気付きましたね。 したがって、可能な解決策を見つけるためにインターネットでたくさん検索しましたが、結果はほとんどありませんでした。私と同じようなケースは2つしか見つかりませんでしたが、解決策は逆です! 記事では、混合設計の後、著者らは被験者ごとに1つずつ、2回の反復測定ANOVAを事後的に実行しました。このようにして、2つのグループは修正なしで個別に分析されます。 インターネットのガイドでは、混合ANOVAの実行中に、SPSS構文のCOMPARE(time) ADJ(BONFERRONI)直後にを手動で追加すると述べています/EMMEANS=TABLES(newgroup*time)。このように、3つの時間はグループごとに個別に比較されます。ボンフェローニ補正を使用すると、私は正しいのでしょうか。 どう思いますか?どちらが正しい方法でしょうか?
8 anova  mixed-model  spss  post-hoc  bonferroni  time-series  unevenly-spaced-time-series  classification  normal-distribution  discriminant-analysis  probability  normal-distribution  estimation  sampling  classification  svm  terminology  pivot-table  random-generation  self-study  estimation  sampling  estimation  categorical-data  maximum-likelihood  excel  least-squares  instrumental-variables  2sls  total-least-squares  correlation  self-study  variance  unbiased-estimator  bayesian  mixed-model  ancova  statistical-significance  references  p-value  fishers-exact  probability  monte-carlo  particle-filter  logistic  predictive-models  modeling  interaction  survey  hypothesis-testing  multiple-regression  regression  variance  data-transformation  residuals  minitab  r  time-series  forecasting  arima  garch  correlation  estimation  least-squares  bias  pca  predictive-models  genetics  sem  partial-least-squares  nonparametric  ordinal-data  wilcoxon-mann-whitney  bonferroni  wilcoxon-signed-rank  traminer  regression  econometrics  standard-error  robust  misspecification  r  probability  logistic  generalized-linear-model  r-squared  effect-size  gee  ordered-logit  bayesian  classification  svm  kernel-trick  nonlinear  bayesian  pca  dimensionality-reduction  eigenvalues  probability  distributions  mathematical-statistics  estimation  nonparametric  kernel-smoothing  expected-value  filter  mse  time-series  correlation  data-visualization  clustering  estimation  predictive-models  recommender-system  sparse  hypothesis-testing  data-transformation  parametric  probability  summations  correlation  pearson-r  spearman-rho  bayesian  replicability  dimensionality-reduction  discriminant-analysis  outliers  weka 

1
時系列モデルのジャックナイフ
前書き 私は、いくつかのマクロ経済指標( 1を示すYtYtY_t)の年間成長率を予測することを目指しています。タスクの1つは、外生変数(、行列)がある場合とない場合のライバル時系列モデルの予測パフォーマンスをテストすることです。ライバルモデルのリストは次のとおりです。XtXtX_tT×kT×kT\times k AR(I)MAモデル(年間成長率に「単位Roo」があるとは考えられませんが、後者は想定またはテストされています)A(L)Yt=μ+B(L)εtA(L)Yt=μ+B(L)εtA(L)Y_t =\mu+ B(L)\varepsilon_t ARMAエラーのある線形回帰モデルYt=Xtβ+ηt, A(L)ηt=B(L)εtYt=Xtβ+ηt, A(L)ηt=B(L)εtY_t = X_t\beta + \eta_t, \ \ A(L)\eta_t = B(L)\varepsilon_t 従属変数モデル(外生変数を含む自己回帰モデル) A(L)Yt=Xtβ+εtA(L)Yt=Xtβ+εtA(L)Y_t = X_t\beta + \varepsilon_t 線形回帰モデル Yt=Xtβ+εtYt=Xtβ+εtY_t = X_t\beta + \varepsilon_t ここで強い白色雑音であると仮定され、ゼロ平均定数の分散処理をIID。およびは、(バックシフト(ラグ)演算子を使用した自己回帰(次数)および移動平均(次数)の多項式です。εtεt\varepsilon_tA(L)A(L)A(L)B(L)B(L)B(L)pppqqqLLL 主で唯一の目標はパフォーマンスの予測であるため、パラメータ推定の「良い」プロパティは二次的な問題であることに注意してください。私が必要なのは、開始条件予測ツールに対して最も簡潔で堅牢なものをテストすることです。いずれかのaccuracy()オプションで決定しますが、最初に比較用の資料を入手する必要があります。 モデル1.および2.はauto.arima()、デフォルトの"CSS-ML"推定方法で推定されます。モデル3.および4.は、通常の最小二乗(lm())によって推定されます。は約クォーターです。TTT404040 これまでに試みたアプローチ ジャックナイフ残差を作成するために、「ローリング」で示される最初のアプローチが実装されました。時系列データの実行可能な大きなサブサンプルから開始して、パラメーターが推定され、関数によって先の予測が行われます(編集:これは、前半のRobの2番目の質問に対する回答と同じ提案です)。その後、1つのポイントが追加され、推定/予測のステップが繰り返されます。hhhpredict() このような実験の弱点は、パラメーターの推定に使用される時間ティック(サンプルサイズ)の数が異なることです。推定のサンプルサイズを固定したまま、開始条件に対する堅牢性をテストしたいと思います。 これを念頭において、私は、いくつかの後続の値に設定しようとした(編集:間隔の)におけるある欠損値(NA)。モデル2.-4の場合。これは、データ行列対応する後続の行を削除することも意味します。3.および4.の予測は簡単です(省略されたデータ行と同じです)。私のすべての懸念はモデル1と2に関するものです。k+p+q&lt;t0&lt;t1&lt;T−h+1k+p+q&lt;t0&lt;t1&lt;T−h+1k+p+q0q&gt;0q&gt;0q>0 編集:ARMAパーツのパラメーターが正しく推定されているので、最初のサブサンプルの推定パラメーターとデータのみを含めるようにarimaオブジェクトを合法的に再配置して、予測関数を使用できますか? modpredict.ArimaYt+1|tYt+1|tY_{t+1|t}A^(L)(Yt−Xtβ^)+Xtβ^+B^(L)ε^tA^(L)(Yt−Xtβ^)+Xtβ^+B^(L)ε^t\hat A(L)(Y_t-X_t\hat \beta)+ X_t\hat \beta+\hat B(L)\hat \varepsilon_t KalmanForecast()。これは、状態空間表現がではなく同じ推定されたで提供されるため、予想されたものです。したがって、残っている唯一の問題は、ポイント予測に影響を与えるために重要なとの違いですか?私は答えが否定的であることを望みます。θjθj\theta_jθn,jθn,j\theta_{n,j}θjθj\theta_jθn,jθn,j\theta_{n,j}

2
Pythonでの予測にHolt-Wintersを使用する
[この質問をここで Stack Overflowに最初に投稿しましたが、返信がありませんでしたので、ここで試してみようと思いました。再投稿が許可されない場合はお詫びします。] 私はPythonの時系列予測にこのHolt-Wintersアルゴリズムの実装を使用しようとしましたが、ロードブロッキングに遭遇しました...そうではありません。予測が否定的ではない場合でも、予測が大幅に不正確になることがあります。予測よりも桁違いに高い/低いです。アルゴリズムで処理するデータの期間を長くしても効果がないように見え、実際には予測が悪化することがよくあります。 私が使用しているデータには次の特徴があり、問題になる可能性があります。 非常に頻繁にサンプリングされます(例で使用されている月次データではなく、15分ごとに1つのデータポイント)。おそらくそれは実装に問題があることを示していますか? 複数の周期性があります-毎日のピーク(つまり、96データポイントごと)があり、週末のデータの週サイクルは平日のデータよりも大幅に低くなっています。平日のデータだと、負の数の問題に出くわします。 一般的に、Holt-Wintersアルゴリズムの実装または使用方法で見落としているものはありますか?私は統計学者ではないので、上記のリンクに示されているアルファ、ベータ、ガンマの「デフォルト」値を使用しています-それが問題である可能性はありますか?これらの値を計算するより良い方法は何ですか? または... Holt-Wintersよりも、ここで使用するより良いアルゴリズムはありますか?最終的には、ここの履歴データから賢明な予測を作成したいだけです。私は単一および二重指数平滑法を試しましたが、(私が理解している限り)データの周期性をサポートしていません。 rpy2 を使用する代わりにR 予測パッケージを使用することも検討しました。これにより、より良い結果が得られますか?私はまだパラメーターなどを計算する必要があると思いますので、私の現在の問題がアルゴリズムの実装にある場合にのみ良い考えでしょう...? ヘルプ/入力をいただければ幸いです!

1
予測パッケージのauto.arima()とets()を組み合わせる
多くの単変量時系列を予測するために、予測パッケージのets()およびauto.arima()関数を使用しています。私は次の関数を使用して2つの方法のいずれかを選択していますが、CrossValidatedに自動予測の優れた(またはそれほど単純ではない)アイデアがあるかどうか疑問に思っていました。 auto.ts &lt;- function(x,ic="aic") { XP=ets(x, ic=ic) AR=auto.arima(x, ic=ic) if (get(ic,AR)&lt;get(ic,XP)) { model&lt;-AR } else { model&lt;-XP } model } /編集:この関数はどうですか? auto.ts &lt;- function(x,ic="aic",holdout=0) { S&lt;-start(x)[1]+(start(x)[2]-1)/frequency(x) #Convert YM vector to decimal year E&lt;-end(x)[1]+(end(x)[2]-1)/frequency(x) holdout&lt;-holdout/frequency(x) #Convert holdout in months to decimal year fitperiod&lt;-window(x,S,E-holdout) #Determine fit window if (holdout==0) { testperiod&lt;-fitperiod } …

3
Rのリカレントニューラルネットワーク
ニューラルネットワークを使用して時系列、特に再帰型ニューラルネットワークを予測することについて少し聞いたことがあります。 Rのリカレントニューラルネットワークパッケージはありますか?CRANで見つけられないようです。私が来ている最も近いですnnetTsがで機能tsDynのパッケージが、それは単に呼び出すNNETのから機能NNETのパッケージを。それについて特別な、または「繰り返し」は何もありません。

1
回帰を伴う時系列データの相互検証
「通常の」相互検証に精通していますが、単純な線形回帰関数で相互検証を使用しながら時系列予測を行いたいと思います。2つの質問を明確にするために簡単な例を書き留めます。1つはトレーニング/テストの分割について、もう1つは目的が異なるnについて予測することである場合にモデルをトレーニング/テストする方法について1つの質問で、nの予測ステップで、前進。 (1)データ 次のように、タイムポイント1、...、10のデータがあるとします。 timeseries = [0.5,0.3,10,4,5,6,1,0.4,0.1,0.9] (2)教師あり学習に役立つ形式にデータを変換する 私が理解している限り、「ラグ」、つまりデータのシフトを使用して、教師あり学習に適したデータセットを作成できます。 input = [NaN,0.5,0.3,10,4,5,6,1,0.4,0.1] output/response = [0.5,0.3,10,4,5,6,1,0.4,0.1,0.9] ここでは、出力ベクトルを作成するために、時系列を1つずつシフトしています。私が理解している限り、線形回帰モデルの入力として入力を使用し、応答の出力を使用できます(NaNは、ランダムな値に置き換えて近似できます)。 (3)質問1:相互検証(「バックテスト」) 今2スプリットを実行したいのですが、テストセットだけでなく列車もシフトする必要がありますか? つまり次のようなものです: 列車セット: 独立変数:[NaN、0.5,0.3,10,4,5] 出力/応答変数:[0.5,0.3,10,4,5,6] テストセット: 独立変数:[1,0.4,0.1] 出力/応答変数:[0.4,0.1,0.9] (ii)質問2:異なるラグを事前に予測する: 明らかなように、従属変数への従属変数を1だけシフトしました。ここで、5つのタイムステップを事前に予測できるモデルをトレーニングしたいとします。このラグを1に保ちながら、モデルを使用してn + 1を予測できます。 、...、n + 5、...または、独立変数から従属変数へのシフトを5に変更しますか?違いは何ですか?

1
PACFプロットの簡単な説明
同僚にいくつかのACFおよびPACFプロットを提示しています。プロットを解釈する方法と、プロットがどのように見えるかに基づいてpとqを決定する方法を説明できますが、PACFプロットが実際に何を意味するのかを簡単に直感的に説明することはできません。 私はここで説明を読みましたが、少し長い風に感じています:https : //people.duke.edu/~rnau/411arim3.htm

1
Rでの「予測」と「予測」によるARIMAの予測[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 3年前休業。 30個の値で構成されるデータは、時系列に格納されtimeます。 にARIMAモデリングを適用した後time、forecast関数を使用して将来の値を予測しました。 model = arima(time, order = c(3,2,1)) prediction = forecast.Arima(model,h=10) prediction step is not working and showing error Error in ts(x) : object is not a matrix 上記のように、エラーメッセージが表示されます。しかし、私がするなら model = arima(time[1:25], order = c(3,2,1)) prediction = forecast.Arima(model,h=10) できます。なぜそうなのですか? predict関数を使用したとき model = arima(time, order = c(3,2,1)) …

2
密度予測は、損失関数が指定されている場合に、ポイント予測を超える価値を追加しますか?
密度予測は、ポイント予測よりも普遍的です。それらは、確率変数の具体的な関数(予測平均、中央値、変位値など)ではなく、確率変数の予測分布全体に関する情報を提供します。密度予測を利用できるため、さまざまなユーザーが関心のある関連要素(ポイント予測)を選択できます。一部のユーザーは、予測の評価に使用される損失関数(およびユーザーごとに異なる可能性があります)に応じて、予測平均に焦点を当てたり、予測中央値に焦点を合わせたりします。密度予測には確率関数に関するすべての確率的情報が含まれているため、密度予測があれば、損失関数に関係なくすべてのユーザーのニーズが満たされます。 ただし、具体的なユーザーを念頭に置いて、その損失関数を知っている場合、 密度予測は、損失関数に合わせたポイント予測に対して付加価値を提供しますか? 答えが一般的にいいえである場合、それをはいにするための条件は何ですか? PS @hejsebは、損失関数に合わせたポイント予測と十分な統計との間に興味深い類似点を描きます。おそらくこれは答えを刺激することができます。

1
予測の合計
予測について質問があります。すべての倉庫に複数の顧客/国が割り当てられている倉庫を中心に在庫モデルを構築しています。私はすべての国の売上に関するデータを別々に持っているので、このデータに対して自分の予測を実行して、国の需要の予測を取得できます。倉庫レベルでも同じことができます。つまり、まず倉庫ごとのすべての過去の売上を合計し、次にこれを予測に使用します。 両方の予測が必要です。在庫は倉庫の予測に基づいて決定されますが、その他のコストは国や私が使用する特定のサービス手段に基づいて決定されます。 国ごとに個別に予測し、予測された需要を追加して倉庫の予測を取得できますか?または、すべてを個別に予測することもできますか?その後、それはまだ互いに調和していますか? Example: Sales: country 1: 0 2 0 1 1 5 0 3 country 2: 1 1 4 3 0 3 2 0 --------------------------- wh: 1 3 4 4 1 8 2 3 したがって、whレベルは必要な在庫数です。国レベルは、たとえば、国に依存する流通コスト用です。国1と2の予測を行い、予測を追加して、これを入力として使用しますか。または、すべて個別に予測しますか。そして、もし国レベルでそれが断続的な需要であるかもしれないけれども、whレベルでのスムーズな需要に帰着したらどうでしょう? 編集: 私はHoltWintersを使用してRで予測して何かを試しました。倉庫レベルでの予測のSSEは15410であり、国レベルでの予測のSSEは18576なので、最初の方が優れていると言えます(この特定の例では) 。しかし、それでも、両国を個別に予測し、これを予測として使用して、国ベースのコストを決定することは可能ですか?

3
Rでの季節的ARIMAモデリング
私は、あなたが次のリンクでそれを見つけることができる2007年から2017年に商品のために毎月の価格データを持っている: https://drive.google.com/open?id=0BxRCOgKAL4itcUZlOExrUmVOanc 私は次のためにRの季節ARIMAモデルを使用して、それを予測する必要があります年。auto.arima関数を使用している場合は、ARIMA(0,1,1)ではなく、として最適なモデルが提案されますARIMA(p,d,q)(P,D,Q)12。の季節的な部分model(P,D,Q)がどういうわけか欠落しています。なぜこれが起こっているのか分かりません。私のデータは季節的ではありませんか、それとも私のコードに問題がありますか?また、モデルによって与えられる予測値は重要ではない次の月の間一定です。助けてください!これがコードです: data &lt;- read.delim("C:/Users/hp/Desktop/heckyl/forecasting model/Soybean_Prices.txt", header=F) View(data) summary(data) summary(data) ts.data = ts(data, frequency=12, start=c(2007,6)) ts.data plot(ts.data) dim(as.matrix(ts.data)) ################################################################################ # Training and Testing Dataset data.train = window(ts.data, start = c(2007,6), end = c(2013,12)) plot(data.train) dim(as.matrix(data.train)) data.test = window(ts.data, start = c(2014,1)) plot(data.test) dim(as.matrix(data.test)) ################################################################################ # Developing an SARIMA model …

1
TVアトリビューションにARMAXモデルを使用することは有効ですか?
毎時のトラフィックのベースラインがあるウェブサイトがあるとします。また、テレビ広告を断続的に実行しているため、Webトラフィックが増加しています。私のテレビ広告がウェブトラフィックの増加に関してどの程度の影響を与えているのかを調べたいと思います。 毎時のテレビ広告費またはインプレッションを外生変数としてARMAXモデルに当てはめる場合、AR用語は「ベースライントラフィック」を表し、回帰用語はTV広告に起因するトラフィックを表すと主張することは有効ですか? これが私がやろうとしていることのいくつかのサンプルコードです: library(forecast) xmat &lt;- as.matrix(cbind(data[,c("AdSpend","Impressions")])) xvar &lt;- data$WebSessions fit &lt;- Arima(x=xvar, xreg=xmat, order=c(12,0,0), include.constant=FALSE) reg_terms &lt;- fit$coef["AdSpend"] * data$AdSpend + fit$coef["Impressions"] * data$Impressions AR_terms &lt;- fitted(fit) - reg_terms 次に、AR_terms(ベースラインの1時間ごとのWebトラフィック)とreg_terms(TVに起因する1時間ごとのトラフィック)を使用して、積み上げ面グラフを作成できます。 これは有効なアプローチですか? 助けてくれてありがとう。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.