1

tsR では、 classと classの違いは何timeSeriesですか? そのために問題が発生していると思いますHoltWinters。私は得ています:

data(LakeHuron)
x <- LakeHuron
before <- window(x, end=1935)
after <- window(x, start=1935)
a <- .2
b <- 0
g <- 0
model <- HoltWinters(before, alpha=a, beta=b, gamma=g)

「decompose のエラー (ts(x[1L:wind]、開始 = 開始 (x)、頻度 = f)、季節): 時系列に 2 期間がないか、2 期間未満」

にしてもgamma=0

Windows 7 x64 マシンで R 2.11.1 (win32 x86) を実行しています。

4

3 に答える 3

4

tsstatsベースRに含まれるパッケージから来ています。これは、政府統計で一般的な月次、四半期、年次などの定期的な時系列に役立ちます。 ベースRとそのパッケージによって提供される他の時系列メソッドtsによって使用されます。ここで使用したものはその一例です。arima()statsHoltWinters

timeSeries多くのアドオン時系列クラスの 1 つです。これはRmetricsからのものです。いくつかのCRAN タスク ビューでは、これらについてさらに説明しています: TimeSeriesEconometrics、およびFinance

ドキュメントを試してtsHoltWinters必要な形式を把握してください。 ts固定デルタ(月次データの場合は 1/12 など) または頻度のいずれかを使用します。

于 2010-10-02T19:54:21.193 に答える
4

HoltWinters のソース コードを調べていると、問題が見つかりました。HoltWinters 関数 (ガンマ = 0 の場合で、季節成分がない場合) は、ガンマが論理的であることを期待していることがわかります!! (ゼロ = FALSE)

したがって、gamma as.logical(0) を入力すると、バグが解決します。

Joris: 答えてくれてありがとう。

于 2010-10-02T21:24:23.120 に答える
3

2つの別々のクラスです。tsは基本的な R インストールに含まれており、関数は時系列をHoltWinters()必要とします。ts

timeSeriesは全く異なる構造を持っています。また、特に財政に向けられています。ts との大きな違いは、不規則な時系列を許容することです。クラスtsは、等間隔のシリーズのみを保持できます。

内部的に、ts には時系列の開始、終了、頻度を含むスロット "tsp" があります。

> test <- ts(1:10, frequency = 4, start = c(1959, 2))
> slotNames(test)
[1] ".Data"    "tsp"      ".S3Class"
> slot(test,"tsp")
[1] 1959.25 1961.50    4.00

HoltWinters()timeSeries で必要だが欠けているのはこのスロットです。時刻に関する情報は、位置スロットとフォーマット スロットの 2 つのスロットに含まれています。それらは一緒になって時間をtimeDateオブジェクトとして定義します。

> data = as.matrix(MSFT[, 4])
>    charvec = rownames(MSFT)
>    Close = timeSeries(data, charvec, units = "Close")
> slotNames(Close)
[1] ".Data"         "units"         "positions"     "format"        "FinCenter"     "recordIDs"     "title"         "documentation"
> head(slot(Close,"positions"))
[1] 970012800 970099200 970185600 970444800 970531200 970617600
> slot(Close,"format")
[1] "%Y-%m-%d"
于 2010-10-02T20:10:43.610 に答える