Pengambilan sampel ulang dan agregasi observasi

Memanipulasi Data Deret Waktu di R

Harrison Brown

Graduate Researcher in Geography

Frekuensi pengambilan sampel

Frekuensi:

  • Jumlah observasi per tahun
  • mis., mingguan, harian, bulanan, ...

Resolusi temporal:

  • "Resolusi tinggi" disampling sering
  • "Resolusi rendah" disampling jarang
  • "Tinggi" dan "rendah" bersifat subyektif

Diagram konseptual menampilkan dua kisi: satu beresolusi rendah dan satu beresolusi tinggi. Diagram ini menyoroti ide data yang disampling lebih sering atau lebih jarang.

Memanipulasi Data Deret Waktu di R

Agregasi

  • Resolusi tinggi -> resolusi rendah
  • Menerapkan fungsi seperti mean, sum, max ke interval yang dipilih
  • mis.:
    • sum bulanan dari data harian
    • mean mingguan dari nilai per jam
    • ...
  • Tidak dapat membalik agregasi
  • Total bulanan -> nilai harian?
  • Memberikan statistik untuk memerikan pola data
  • Agregasi mengurangi informasi
Memanipulasi Data Deret Waktu di R

Agregasi data dengan xts

xts:

  • eXtensible Time Series
  • Memperluas paket zoo dan kelas objek zoo
  • Fungsi apply.*()
yearly_mean <-
  apply.yearly(x = maunaloa,
               FUN = mean)
autoplot(yearly_mean) + 
  labs(...)

Grafik dataset Mauna Loa yang diagregasi menjadi rata-rata tahunan. Tidak seperti data asli dengan variasi kuat tiap tahun, grafik ini sangat mulus karena resolusi sampel lebih rendah.

Memanipulasi Data Deret Waktu di R

Agregasi data dengan xts

Grafik deret waktu Mauna Loa yang merepresentasikan konsentrasi karbon dioksida yang diambil tiap minggu. Grafik meningkat secara umum, dengan puncak musiman setiap tahun.

Grafik dataset Mauna Loa yang diagregasi menjadi rata-rata tahunan. Tidak seperti data asli dengan variasi kuat tiap tahun, grafik ini sangat mulus karena resolusi sampel lebih rendah.

Memanipulasi Data Deret Waktu di R

Fungsi apply-dot

daily_total <-
  apply.daily(hourly_sales,
              FUN = sum)
weekly_max <-
  apply.weekly(daily_temperature,
               FUN = max)
monthly_average <-
  apply.monthly(daily_price,
               FUN = mean)
apply.quarterly(sales_report,
                FUN = sum)
apply.yearly(monthly_salary,
             FUN = sum)
Memanipulasi Data Deret Waktu di R

Endpoints dan period.apply

xts::endpoints()

xts::period.apply()

biweekly_eps <-
  endpoints(x = daily_data,
            on = "weeks",
            k = 2)
biweekly_data <-
  period.apply(x = daily_data,
               INDEX = biweekly_eps,
               FUN = mean)
biweekly_data
2002-05-05 8.148611
2002-05-19 8.146776
2002-06-02 8.060020
2002-06-16 8.028224
2002-06-30 7.944792
2002-07-14 7.930159
...
Memanipulasi Data Deret Waktu di R

Ayo berlatih!

Memanipulasi Data Deret Waktu di R

Preparing Video For Download...