R - Analisis Rangkaian Waktu

Deret waktu adalah rangkaian titik data yang setiap titik datanya dikaitkan dengan stempel waktu. Contoh sederhananya adalah harga saham di pasar saham pada titik waktu yang berbeda pada hari tertentu. Contoh lain adalah jumlah curah hujan di suatu wilayah pada bulan yang berbeda dalam setahun. Bahasa R menggunakan banyak fungsi untuk membuat, memanipulasi, dan memplot data deret waktu. Data untuk deret waktu disimpan dalam objek R yang disebuttime-series object. Ini juga merupakan objek data R seperti vektor atau bingkai data.

Objek deret waktu dibuat dengan menggunakan ts() fungsi.

Sintaksis

Sintaks dasar untuk ts() fungsi dalam analisis deret waktu adalah -

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

Berikut ini adalah deskripsi parameter yang digunakan -

  • data adalah vektor atau matriks yang berisi nilai-nilai yang digunakan dalam deret waktu.

  • start menentukan waktu mulai untuk pengamatan pertama dalam deret waktu.

  • end menentukan waktu akhir untuk pengamatan terakhir dalam deret waktu.

  • frequency menentukan jumlah observasi per satuan waktu.

Kecuali parameter "data", semua parameter lainnya bersifat opsional.

Contoh

Pertimbangkan detail curah hujan tahunan di suatu tempat mulai Januari 2012. Kami membuat objek deret waktu R untuk jangka waktu 12 bulan dan memplotnya.

# 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()

Ketika kami mengeksekusi kode di atas, ini menghasilkan hasil dan grafik berikut -

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

Diagram deret waktu -

Interval Waktu Berbeda

Nilai dari frequencyparameter dalam fungsi ts () memutuskan interval waktu di mana titik data diukur. Nilai 12 menunjukkan bahwa deret waktu selama 12 bulan. Nilai-nilai lain dan artinya adalah sebagai berikut -

  • frequency = 12 mematok poin data untuk setiap bulan dalam setahun.

  • frequency = 4 mematok poin data untuk setiap kuartal dalam satu tahun.

  • frequency = 6 mematok poin data untuk setiap 10 menit dalam satu jam.

  • frequency = 24*6 mematok poin data untuk setiap 10 menit sehari.

Seri Waktu Ganda

Kita dapat memplot beberapa deret waktu dalam satu bagan dengan menggabungkan kedua deret tersebut ke dalam matriks.

# 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()

Ketika kami mengeksekusi kode di atas, ini menghasilkan hasil dan grafik berikut -

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

Bagan Rangkaian Waktu Banyak -