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 -