0

一部の予算データの時系列オブジェクトを処理するのに非常に苦労しています。

元のデータは、約 1800 の契約の 14,460 行の支払いで、各行には DD/MM/YYYY および Amount 機能があります。2000 年 1 月 1 日から 2014 年 12 月 31 日までの間に 5296 日ありますが、実際に支払いがあったのはそのうちの 3133 日だけです。したがって、日数は不規則で、複数の契約支払いが表示される日もあれば、支払いがゼロになる日もあります。

私が抱えている主な問題は、これらの時系列オブジェクトが、不規則な間隔で発生する毎日のデータが供給されるときに示す残忍な頑固さです。私は支払いを連続した日付ベクトルにマージしましたが、まだ同じ問題、つまり頻度、周期性、または order.by を抱えています。

CTS_date_V <- data.frame(Date = seq(as.Date("2000/07/01"), as.Date("2014/12/31"), "days"))
exp_d <- merge(exp, CTS_date_V, by="Date", all.y = T)
exp_d$Amount[is.na(exp_d$Amount)] <- 0

head(exp_d[,c("Amount","Date")],20)
      Amount       Date
1        0.0 2000-07-01
2        0.0 2000-07-02
3        0.0 2000-07-03
4        0.0 2000-07-04
5   269909.4 2000-07-05
6   130021.9 2000-07-06
7  1454135.3 2000-07-06
8   140065.5 2000-07-07
9        0.0 2000-07-08
10       0.0 2000-07-09
11       0.0 2000-07-10
12  274147.2 2000-07-11
13  106959.2 2000-07-11
14  119208.6 2000-07-12
15       0.0 2000-07-13
16       0.0 2000-07-14
17       0.0 2000-07-15
18  125402.5 2000-07-16
19 1170603.1 2000-07-16
20 1908463.3 2000-07-16

fpp、予測、timeSeries、tseries、xts など、私がよく知っているほとんどの予測パッケージ (および SO でこれまでに尋ねられた質問のすべて) では、はるかに整然とした日付機能が必要ですorder.by。他のそのような懸念。

私の懸念は、統計手法ではなく、R パッケージの妥当性です。たとえば、XTS、TS など、予測パッケージに必要な時系列オブジェクトを構築するいくつかの異なる方法を試しましたが、それらのすべてに頻度、周期性、または順序を求めている問題があります。 .

アップデート:

xts オブジェクトをビルドします

exp_xts <- xts(exp_d$Amount, start = min(exp$Date), end = max(exp$Date), order.by=exp_d$Date, colnames = "Amount", frequency = "") 

head(exp_xts,15)
                [,1]
2000-07-01       0.0
2000-07-02       0.0
2000-07-03       0.0
2000-07-04       0.0
2000-07-05  269909.4
2000-07-06  130021.9
2000-07-06 1454135.3
2000-07-07  140065.5
2000-07-08       0.0
2000-07-09       0.0
2000-07-10       0.0
2000-07-11  274147.2
2000-07-11  106959.2
2000-07-12  119208.6
2000-07-13       0.0

問題なく、そのオブジェクトをplot.xts()編集できますが、試してみると

fit_xts <- stl(exp_xts, s.window="periodic",robust = T) 

は言う

Error in if (frequency > 1 && abs(frequency - round(frequency)) < ts.eps) frequency <- round(frequency) : missing value where TRUE/FALSE needed`
4

2 に答える 2

2

R で時系列オブジェクトを使用して、kaggle の競技会に参加してみました。私が見つけたのは、さまざまな時系列予測方法を使用した時系列予測の使用がうまく機能しないことでした。私にとってうまくいったのは、通常の標準 R データフレームを作成し、気温、曜日、曜日、今日が休日かどうかなどのコンテキスト データに基づいてニューラル ネットワークを作成することでした。

あなたは予測を行っていないので、これはあなたにとって何を意味するのでしょうか?単純な統計分析は、おそらく時系列機能をまったく必要とせず、単に標準の「R」データフレームを使用できますか?

標準のデータフレームとニューラルネットを使用し、時系列のものを使用せずに、最終的に9位になりました:-)

于 2015-02-20T01:42:18.677 に答える