R-time-series-analysis

提供:Dev Guides
移動先:案内検索

R-時系列分析

時系列は、各データポイントがタイムスタンプに関連付けられている一連のデータポイントです。 簡単な例は、特定の日のさまざまな時点での株式市場の株価です。 別の例は、1年の異なる月の地域の降雨量です。 R言語では、多くの関数を使用して、時系列データを作成、操作、およびプロットします。 時系列のデータは、*時系列オブジェクト*と呼ばれるRオブジェクトに保存されます。 また、ベクトルまたはデータフレームのようなRデータオブジェクトでもあります。

時系列オブジェクトは、* ts()*関数を使用して作成されます。

構文

時系列分析の* ts()*関数の基本的な構文は次のとおりです-

timeseries.object.name <-  ts(data, start, end, frequency)

以下は、使用されるパラメータの説明です-

  • data は、時系列で使用される値を含むベクトルまたは行列です。
  • start は、時系列の最初の観測の開始時間を指定します。
  • end は、時系列の最後の観測の終了時刻を指定します。
  • frequency は、単位時間あたりの観測数を指定します。

パラメーター「data」を除き、他のすべてのパラメーターはオプションです。

2012年1月から始まる場所の年間降雨量の詳細を考慮してください。 12か月間のR時系列オブジェクトを作成し、プロットします。

# Get the data points in form of a R vector.
rainfall <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)

# Convert it to a time series object.
rainfall.timeseries <- ts(rainfall,start = c(2012,1),frequency = 12)

# Print the timeseries data.
print(rainfall.timeseries)

# Give the chart file a name.
png(file = "rainfall.png")

# Plot a graph of the time series.
plot(rainfall.timeseries)

# Save the file.
dev.off()

上記のコードを実行すると、次の結果とグラフが生成されます-

Jan    Feb    Mar    Apr    May     Jun    Jul    Aug    Sep
2012  799.0  1174.8  865.1  1334.6  635.4  918.5  685.5  998.6  784.2
        Oct    Nov    Dec
2012  985.0  882.8 1071.0

時系列チャート-

Rを使用した時系列

異なる時間間隔

ts()関数の frequency パラメーターの値は、データポイントが測定される時間間隔を決定します。 12の値は、時系列が12か月であることを示します。 他の値とその意味は以下のとおりです-

  • frequency = 12 は、1年の各月のデータポイントを固定します。
  • frequency = 4 は、1年の各四半期のデータポイントを固定します。
  • frequency = 6 は、1時間の10分ごとにデータポイントを固定します。
  • frequency = 24 6 *は、1日の10分ごとにデータポイントを固定します。

複数の時系列

両方の系列を行列に結合することにより、1つのチャートに複数の時系列をプロットできます。

# Get the data points in form of a R vector.
rainfall1 <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
rainfall2 <-
           c(655,1306.9,1323.4,1172.2,562.2,824,822.4,1265.5,799.6,1105.6,1106.7,1337.8)

# Convert them to a matrix.
combined.rainfall <-  matrix(c(rainfall1,rainfall2),nrow = 12)

# Convert it to a time series object.
rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12)

# Print the timeseries data.
print(rainfall.timeseries)

# Give the chart file a name.
png(file = "rainfall_combined.png")

# Plot a graph of the time series.
plot(rainfall.timeseries, main = "Multiple Time Series")

# Save the file.
dev.off()

上記のコードを実行すると、次の結果とグラフが生成されます-

           Series 1  Series 2
Jan 2012    799.0    655.0
Feb 2012   1174.8   1306.9
Mar 2012    865.1   1323.4
Apr 2012   1334.6   1172.2
May 2012    635.4    562.2
Jun 2012    918.5    824.0
Jul 2012    685.5    822.4
Aug 2012    998.6   1265.5
Sep 2012    784.2    799.6
Oct 2012    985.0   1105.6
Nov 2012    882.8   1106.7
Dec 2012   1071.0   1337.8

複数時系列チャート-

結合時系列はRを使用しています