Packages

library(mongolite)
## Warning: package 'mongolite' was built under R version 4.3.3
library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'tibble' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## Warning: package 'stringr' was built under R version 4.3.3
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Connect to MongoDB database

mongo_connection <- mongo(collection = "MarketCap", 
                          db = "sample_coinmarketcap", 
                          url = "mongodb+srv://abdulrahman:Qwerty21@marketcap.1ln9tqo.mongodb.net/")
data <- mongo_connection$find('{}')
write.csv(data, file = "MarketCap_data.csv", row.names = FALSE)
data_df <- as.data.frame(data)

head(data_df)
##                  time       name    price change_1h change_24h change_7d
## 1 2024-05-26 10:40:07 BitcoinBTC 68830.65      0.13       0.23      3.05
## 2 2024-05-26 19:00:07 BitcoinBTC 69107.15      0.53       0.12      3.95
## 3 2024-05-27 19:00:18 BitcoinBTC 68587.13      0.86       0.74      3.60
## 4 2024-05-28 19:02:23 BitcoinBTC 68493.85      0.14       0.08      2.33
## 5 2024-05-29 19:01:20 BitcoinBTC 67684.87      0.25       1.22      2.57
## 6 2024-05-30 19:00:50 BitcoinBTC 68331.08      0.05       0.93      0.88
##   market_cap   volume_24h circulating_supply
## 1   1.361356 1.466131e+16           19703909
## 2   1.361362 1.634283e+16           19704131
## 3   1.351354 2.649856e+16           19704478
## 4   1.351350 3.198518e+16           19704756
## 5   1.331334 2.668317e+16           19705290
## 6   1.351347 2.937291e+16           19705731
glimpse(data)
## Rows: 28
## Columns: 9
## $ time               <dttm> 2024-05-26 10:40:07, 2024-05-26 19:00:07, 2024-05-…
## $ name               <chr> "BitcoinBTC", "BitcoinBTC", "BitcoinBTC", "BitcoinB…
## $ price              <dbl> 68830.65, 69107.15, 68587.13, 68493.85, 67684.87, 6…
## $ change_1h          <dbl> 0.13, 0.53, 0.86, 0.14, 0.25, 0.05, 0.14, 0.18, 0.9…
## $ change_24h         <dbl> 0.23, 0.12, 0.74, 0.08, 1.22, 0.93, 1.35, 0.30, 1.0…
## $ change_7d          <dbl> 3.05, 3.95, 3.60, 2.33, 2.57, 0.88, 1.65, 2.14, 0.9…
## $ market_cap         <dbl> 1.361356, 1.361362, 1.351354, 1.351350, 1.331334, 1…
## $ volume_24h         <dbl> 1.466131e+16, 1.634283e+16, 2.649856e+16, 3.198518e…
## $ circulating_supply <dbl> 19703909, 19704131, 19704478, 19704756, 19705290, 1…

Transformasi kolom market_cap dan volume_24h

data <- data %>%
  mutate(
    market_cap = market_cap * 1e12,      # Mengonversi dari triliunan ke nilai sebenarnya
    volume_24h = volume_24h / 1e9        # Mengonversi volume dari miliaran ke nilai sebenarnya
  )

head(data)
##                  time       name    price change_1h change_24h change_7d
## 1 2024-05-26 10:40:07 BitcoinBTC 68830.65      0.13       0.23      3.05
## 2 2024-05-26 19:00:07 BitcoinBTC 69107.15      0.53       0.12      3.95
## 3 2024-05-27 19:00:18 BitcoinBTC 68587.13      0.86       0.74      3.60
## 4 2024-05-28 19:02:23 BitcoinBTC 68493.85      0.14       0.08      2.33
## 5 2024-05-29 19:01:20 BitcoinBTC 67684.87      0.25       1.22      2.57
## 6 2024-05-30 19:00:50 BitcoinBTC 68331.08      0.05       0.93      0.88
##     market_cap volume_24h circulating_supply
## 1 1.361356e+12   14661306           19703909
## 2 1.361362e+12   16342827           19704131
## 3 1.351354e+12   26498556           19704478
## 4 1.351350e+12   31985181           19704756
## 5 1.331334e+12   26683166           19705290
## 6 1.351347e+12   29372913           19705731
ggplot(data, aes(x = time, y = market_cap)) +
  geom_line() +
  labs(title = "Kapitalisasi Pasar Seiring Waktu", x = "Waktu", y = "Kapitalisasi Pasar (dalam USD)") +
  theme_minimal()

Plot menggambarkan perubahan kapitalisasi pasar (market cap) dari Bitcoin selama periode waktu tertentu, mulai dari akhir Mei hingga pertengahan Juni.

Sumbu X (Waktu)
Sumbu X menunjukkan waktu, dengan tanggal-tanggal yang ditandai dari akhir Mei hingga pertengahan Juni.

Sumbu Y (Kapitalisasi Pasar dalam USD)
Sumbu Y menunjukkan nilai kapitalisasi pasar dalam dolar (USD). Nilai ini dalam skala penuh, menunjukkan triliunan dolar dengan format ilmiah (e.g., 1.28e+12).

Pola dan Tren
Stabilitas Awal:
Pada akhir Mei, kapitalisasi pasar cenderung stabil sekitar 1.36 triliun USD.

Fluktuasi Awal Juni:
Memasuki awal Juni, terdapat beberapa fluktuasi kecil pada kapitalisasi pasar, meskipun tidak terlalu signifikan.

Puncak Sekitar 3-5 Juni:
Pada sekitar tanggal 3-5 Juni, terjadi peningkatan signifikan dalam kapitalisasi pasar yang mencapai puncaknya mendekati 1.4 triliun USD. Ini menunjukkan adanya peningkatan minat dan mungkin volume perdagangan yang lebih tinggi dalam periode ini.

Penurunan Setelah Puncak:
Setelah mencapai puncak, terdapat penurunan bertahap yang cukup signifikan dalam kapitalisasi pasar. Pada sekitar tanggal 10 Juni, kapitalisasi pasar mulai menurun dan terus menunjukkan tren penurunan hingga pertengahan Juni, mencapai sekitar 1.28 triliun USD.


Analisis Lebih Lanjut
Faktor-faktor Eksternal: Perubahan ini bisa dipengaruhi oleh berbagai faktor eksternal seperti berita pasar, perubahan regulasi, aktivitas perdagangan, serta sentimen investor.
Volume Perdagangan: Jika data volume perdagangan juga tersedia, menganalisisnya bersama kapitalisasi pasar bisa memberikan wawasan lebih lanjut tentang aktivitas dan minat pasar selama periode tersebut.

Kesimpulan
Grafik ini menunjukkan adanya puncak pada awal Juni dan penurunan bertahap setelahnya. Ini bisa menandakan adanya sentimen positif yang memuncak di awal bulan diikuti oleh aksi jual atau penurunan minat pasar setelahnya.
Perubahan nilai kapitalisasi pasar seperti ini adalah hal yang umum dalam aset kripto yang sangat volatil seperti Bitcoin.

Analisis Harga Bitcoin Seiring Waktu

ggplot(data, aes(x = time, y = price)) +
  geom_line() +
  labs(title = "Harga Bitcoin Seiring Waktu", x = "Waktu", y = "Harga (dalam USD)") +
  theme_minimal()

Plot menggambarkan perubahan harga Bitcoin dalam dolar AS (USD) dari akhir Mei hingga pertengahan Juni. Berikut adalah interpretasi dari pola yang terlihat pada grafik:

Sumbu X (Waktu)
Sumbu X menunjukkan tanggal, dari akhir Mei hingga pertengahan Juni.
Sumbu Y (Harga dalam USD) Sumbu Y menunjukkan harga Bitcoin dalam dolar AS (USD).

Pola dan Tren
Stabilitas Awal:
Pada akhir Mei, harga Bitcoin menunjukkan sedikit penurunan tetapi tetap stabil sekitar $68,000.
Fluktuasi di Awal Juni:
Pada awal Juni, terdapat fluktuasi harga yang signifikan. Harga Bitcoin menunjukkan peningkatan yang cukup tajam hingga mencapai puncaknya mendekati $71,000 sekitar tanggal 3 Juni.
Penurunan Setelah Puncak:
Setelah mencapai puncak pada awal Juni, harga Bitcoin mulai menunjukkan penurunan bertahap. Penurunan ini berlanjut hingga pertengahan Juni.
Beberapa fluktuasi kecil terlihat selama penurunan ini, tetapi tren umumnya menurun.
Penurunan Tajam:
Di sekitar pertengahan Juni, terjadi penurunan harga yang lebih tajam. Harga Bitcoin turun dari sekitar $68,000 menjadi mendekati $65,000.

Analisis Lebih Lanjut
Faktor Eksternal: Penurunan tajam setelah puncak di awal Juni bisa disebabkan oleh berbagai faktor eksternal seperti berita negatif, regulasi yang ketat, atau aksi jual oleh para investor besar.
Volume Perdagangan: Untuk analisis yang lebih komprehensif, bisa dilihat apakah volume perdagangan juga menunjukkan pola yang serupa selama periode tersebut.

Kesimpulan
Puncak Harga: Harga Bitcoin mencapai puncaknya pada awal Juni sekitar $71,000 sebelum mulai mengalami penurunan.
Tren Penurunan: Setelah mencapai puncak, harga Bitcoin terus menurun dengan beberapa fluktuasi kecil.
Penurunan Tajam: Penurunan tajam pada pertengahan Juni menunjukkan adanya kemungkinan aksi jual besar-besaran atau sentimen pasar yang negatif.

Dengan interpretasi ini, dapat melihat bahwa harga Bitcoin cukup volatil dalam periode waktu ini, mencapai puncak di awal Juni dan kemudian mengalami penurunan yang signifikan.

Analisis Persentase Perubahan (1h, 24h, 7d)

# persentase perubahan dalam 1 jam
ggplot(data, aes(x = time, y = change_1h)) +
  geom_line() +
  labs(title = "Perubahan Harga Bitcoin dalam 1 Jam", x = "Waktu", y = "Perubahan 1h (%)") +
  theme_minimal()

# persentase perubahan dalam 24 jam
ggplot(data, aes(x = time, y = change_24h)) +
  geom_line() +
  labs(title = "Perubahan Harga Bitcoin dalam 24 Jam", x = "Waktu", y = "Perubahan 24h (%)") +
  theme_minimal()

# persentase perubahan dalam 7 hari
ggplot(data, aes(x = time, y = change_7d)) +
  geom_line() +
  labs(title = "Perubahan Harga Bitcoin dalam 7 Hari", x = "Waktu", y = "Perubahan 7d (%)") +
  theme_minimal()

perubahan harga Bitcoin dalam periode 1 jam (%) dari akhir Mei hingga pertengahan Juni. Berikut adalah interpretasi dari pola yang terlihat pada grafik ini:

Pola dan Tren
Fluktuasi Awal:
Pada akhir Mei, terdapat beberapa fluktuasi awal dengan persentase perubahan sekitar 0,5%.
Peningkatan Signifikan di Awal Juni:
Pada awal Juni, terdapat peningkatan signifikan dalam perubahan harga 1 jam yang mencapai puncaknya lebih dari 1,0%. Ini menandakan adanya volatilitas tinggi dalam periode ini.
Penurunan Fluktuasi Setelah Puncak:
Setelah mencapai puncak pada awal Juni, fluktuasi dalam perubahan harga 1 jam mulai menurun tetapi tetap menunjukkan beberapa lonjakan yang signifikan.
Puncak Pertengahan Juni:
Di sekitar pertengahan Juni, terdapat lonjakan lagi dalam perubahan harga 1 jam, mencapai lebih dari 1,0%. Ini menunjukkan adanya volatilitas tinggi yang mungkin disebabkan oleh faktor eksternal seperti berita atau perubahan pasar.
Volatilitas Akhir Juni:
Menjelang akhir periode yang dianalisis, terdapat fluktuasi yang lebih stabil namun masih terdapat beberapa puncak yang signifikan.

Analisis Lebih Lanjut
Faktor Eksternal: Perubahan mendadak dalam harga 1 jam ini mungkin disebabkan oleh berbagai faktor eksternal seperti pengumuman berita, perubahan regulasi, atau aktivitas perdagangan besar.
Korelasi dengan Volume Perdagangan: Menganalisis volume perdagangan selama periode ini dapat memberikan wawasan lebih lanjut tentang apakah lonjakan harga tersebut terkait dengan peningkatan aktivitas perdagangan.

Kesimpulan
Volatilitas Tinggi: Grafik menunjukkan bahwa harga Bitcoin cukup volatil dalam periode yang dianalisis, dengan beberapa lonjakan signifikan dalam perubahan harga 1 jam.
Puncak Volatilitas: Ada beberapa puncak volatilitas yang signifikan pada awal Juni dan pertengahan Juni, yang mungkin menandakan adanya peristiwa penting atau perubahan besar dalam sentimen pasar.
Stabilitas Relatif: Meskipun terdapat puncak-puncak ini, ada juga periode di mana perubahan harga lebih stabil.
Dengan interpretasi tersebut, dapat dilihat bahwa harga Bitcoin mengalami fluktuasi yang cukup signifikan dalam periode 1 jam, terutama pada waktu-waktu tertentu. Analisis lebih lanjut dengan melihat volume perdagangan atau berita yang terkait dapat membantu memahami penyebab fluktuasi ini.



Plot menggambarkan perubahan harga Bitcoin dalam periode 24 jam (%) dari akhir Mei hingga pertengahan Juni. Berikut adalah interpretasi dari pola yang terlihat pada grafik:

Pola dan Tren
Fluktuasi Awal:
Pada akhir Mei, perubahan harga dalam 24 jam berkisar antara 0% hingga 1%, menunjukkan beberapa fluktuasi awal.
Peningkatan Signifikan di Awal Juni:
Pada awal Juni, terdapat peningkatan yang signifikan dalam perubahan harga 24 jam yang mencapai puncaknya sekitar 2,5% hingga 3%. Ini menandakan adanya volatilitas tinggi dalam periode ini.
Penurunan dan Lonjakan Fluktuasi:
Setelah mencapai puncak di awal Juni, fluktuasi dalam perubahan harga 24 jam menurun tetapi kemudian kembali menunjukkan beberapa lonjakan yang signifikan. Pola ini menunjukkan adanya periode volatilitas yang berulang.
Puncak Pertengahan Juni:
Di sekitar pertengahan Juni, terdapat lonjakan lagi dalam perubahan harga 24 jam, mencapai lebih dari 2%. Ini menunjukkan adanya volatilitas tinggi yang mungkin disebabkan oleh faktor eksternal seperti berita atau perubahan pasar.
Volatilitas Akhir Juni:
Menjelang akhir periode yang dianalisis, terdapat fluktuasi yang lebih stabil namun tetap menunjukkan beberapa puncak yang signifikan.

Analisis Lebih Lanjut
Faktor Eksternal: Perubahan mendadak dalam harga 24 jam ini mungkin disebabkan oleh berbagai faktor eksternal seperti pengumuman berita, perubahan regulasi, atau aktivitas perdagangan besar.
Korelasi dengan Volume Perdagangan: Menganalisis volume perdagangan selama periode ini dapat memberikan wawasan lebih lanjut tentang apakah lonjakan harga tersebut terkait dengan peningkatan aktivitas perdagangan.

Kesimpulan
Volatilitas Tinggi: Grafik menunjukkan bahwa harga Bitcoin cukup volatil dalam periode yang dianalisis, dengan beberapa lonjakan signifikan dalam perubahan harga 24 jam.
Puncak Volatilitas: Ada beberapa puncak volatilitas yang signifikan pada awal Juni dan pertengahan Juni, yang mungkin menandakan adanya peristiwa penting atau perubahan besar dalam sentimen pasar.
Stabilitas Relatif: Meskipun terdapat puncak-puncak ini, ada juga periode di mana perubahan harga lebih stabil.

Dengan interpretasi ini, terlihat bahwa harga Bitcoin mengalami fluktuasi yang cukup signifikan dalam periode 24 jam, terutama pada waktu-waktu tertentu. Analisis lebih lanjut dengan melihat volume perdagangan atau berita yang terkait dapat membantu memahami penyebab fluktuasi ini.



Plot perubahan harga Bitcoin dalam periode 7 hari (%) dari akhir Mei hingga pertengahan Juni. Berikut adalah interpretasi dari pola yang terlihat pada grafik:

Pola dan Tren
Fluktuasi Awal:
Pada akhir Mei, perubahan harga dalam 7 hari berkisar antara 3% hingga 4%, menunjukkan fluktuasi yang cukup tinggi.
Penurunan Awal Juni:
Pada awal Juni, terdapat penurunan dalam perubahan harga 7 hari yang mencapai sekitar 1% sebelum kembali naik. Penurunan ini menunjukkan adanya periode stabilitas atau penurunan harga.
Puncak Pertengahan Juni:
Pada pertengahan Juni, perubahan harga 7 hari mencapai puncaknya sekitar 5%. Ini menandakan adanya lonjakan signifikan dalam harga Bitcoin selama periode ini.
Fluktuasi Setelah Puncak:
Setelah mencapai puncak, terdapat fluktuasi yang cukup besar dengan perubahan harga berkisar antara 3% hingga 5%. Pola ini menunjukkan adanya volatilitas yang berulang.
Penurunan Menjelang Akhir Periode:
Menjelang akhir periode yang dianalisis, terdapat penurunan lagi dalam perubahan harga 7 hari, menunjukkan fluktuasi yang lebih stabil namun tetap signifikan.

Analisis Lebih Lanjut
Faktor Eksternal: Perubahan mendadak dalam harga 7 hari ini mungkin disebabkan oleh berbagai faktor eksternal seperti pengumuman berita, perubahan regulasi, atau aktivitas perdagangan besar.
Korelasi dengan Volume Perdagangan: Menganalisis volume perdagangan selama periode ini dapat memberikan wawasan lebih lanjut tentang apakah lonjakan harga tersebut terkait dengan peningkatan aktivitas perdagangan.

Kesimpulan
Volatilitas Tinggi: Grafik menunjukkan bahwa harga Bitcoin cukup volatil dalam periode yang dianalisis, dengan beberapa lonjakan signifikan dalam perubahan harga 7 hari.
Puncak Volatilitas: Ada puncak volatilitas yang signifikan pada pertengahan Juni, yang mungkin menandakan adanya peristiwa penting atau perubahan besar dalam sentimen pasar.
Stabilitas Relatif: Meskipun terdapat puncak-puncak ini, ada juga periode di mana perubahan harga lebih stabil.

Dengan interpretasi ini, maka dapat melihat bahwa harga Bitcoin mengalami fluktuasi yang cukup signifikan dalam periode 7 hari, terutama pada waktu-waktu tertentu. Analisis lebih lanjut dengan melihat volume perdagangan atau berita yang terkait dapat membantu memahami penyebab fluktuasi ini.

Kesimpulan Umum

Dari ketiga plot tersebut, maka dapat disimpulkan bahwa harga Bitcoin menunjukkan volatilitas yang cukup tinggi dalam periode yang dianalisis (akhir Mei hingga pertengahan Juni), baik dalam skala 1 jam, 24 jam, maupun 7 hari. Beberapa puncak volatilitas yang signifikan terjadi pada awal Juni dan pertengahan Juni, yang mungkin disebabkan oleh faktor-faktor eksternal seperti berita penting atau perubahan besar dalam sentimen pasar. Meskipun demikian, terdapat juga periode di mana perubahan harga lebih stabil. Analisis lebih lanjut dengan melihat volume perdagangan atau berita terkait dapat membantu memahami penyebab fluktuasi ini dengan lebih baik.

Analisis Volume Perdagangan

# volume perdagangan dalam 24 jam
ggplot(data, aes(x = time, y = volume_24h)) +
  geom_line() +
  labs(title = "Volume Perdagangan Bitcoin dalam 24 Jam", x = "Waktu", y = "Volume Perdagangan (dalam milyar USD)") +
  theme_minimal()

Analisis Pasokan Beredar (Circulating Supply)

# Plot pasokan beredar seiring waktu
ggplot(data, aes(x = time, y = circulating_supply)) +
  geom_line() +
  labs(title = "Pasokan Beredar Bitcoin Seiring Waktu", x = "Waktu", y = "Pasokan Beredar (dalam unit BTC)") +
  theme_minimal()

Plot menggambarkan perubahan pasokan beredar Bitcoin (circulating supply) dari akhir Mei hingga pertengahan Juni. Berikut adalah interpretasi dari pola yang terlihat pada grafik ini:

Pola dan Tren
Peningkatan Stabil:
Grafik menunjukkan peningkatan yang stabil dan konsisten dalam pasokan beredar Bitcoin selama periode yang dianalisis.
Pasokan beredar meningkat dari sekitar 19,704,000 BTC pada akhir Mei menjadi sekitar 19,713,000 BTC pada pertengahan Juni.
Pertumbuhan Linear:
Pola peningkatan pasokan beredar tampak hampir linear, menunjukkan bahwa Bitcoin terus diproduksi dan ditambahkan ke pasokan yang beredar secara konsisten selama periode ini.
Sedikit Fluktuasi:
Meskipun terdapat sedikit variasi dalam tingkat kenaikan, tren keseluruhan menunjukkan pertumbuhan yang berkelanjutan tanpa penurunan yang signifikan.

Analisis Lebih Lanjut
Faktor Produksi: Peningkatan pasokan beredar kemungkinan besar disebabkan oleh aktivitas penambangan Bitcoin yang terus berlangsung, di mana penambang berhasil memvalidasi blok-blok baru dan mendapatkan Bitcoin sebagai imbalannya.
Keterkaitan dengan Harga: Analisis lebih lanjut dapat dilakukan dengan melihat apakah ada korelasi antara peningkatan pasokan beredar dengan perubahan harga Bitcoin selama periode yang sama.
Dampak pada Pasar: Meningkatnya pasokan beredar mungkin berdampak pada dinamika pasar, terutama jika peningkatan pasokan tidak diimbangi oleh permintaan yang sepadan.

Kesimpulan
Pertumbuhan Stabil: Grafik menunjukkan bahwa pasokan beredar Bitcoin meningkat secara stabil dari akhir Mei hingga pertengahan Juni.
Produksi Konsisten: Peningkatan linear menunjukkan bahwa produksi Bitcoin melalui penambangan berlangsung secara konsisten selama periode ini.
Sedikit Fluktuasi: Tidak ada fluktuasi besar dalam pasokan beredar, yang menunjukkan stabilitas dalam produksi dan distribusi Bitcoin.
Dengan interpretasi tersebut, maka dapat dilihat bahwa pasokan beredar Bitcoin terus meningkat dengan stabil selama periode yang dianalisis. Analisis lebih lanjut dengan melihat faktor-faktor eksternal dan dinamika pasar dapat memberikan wawasan tambahan tentang bagaimana peningkatan pasokan ini mempengaruhi harga dan volume perdagangan Bitcoin.

Korelasi Antar Variabel

correlation_matrix <- data %>%
  select(price, change_1h, change_24h, change_7d, market_cap, volume_24h, circulating_supply) %>%
  cor()

print(correlation_matrix)
##                           price    change_1h change_24h  change_7d   market_cap
## price               1.000000000  0.009037723 0.08969965 -0.2294686  0.992069261
## change_1h           0.009037723  1.000000000 0.36005912 -0.1359048  0.007043801
## change_24h          0.089699646  0.360059119 1.00000000  0.1074563  0.094178181
## change_7d          -0.229468591 -0.135904848 0.10745631  1.0000000 -0.199186323
## market_cap          0.992069261  0.007043801 0.09417818 -0.1991863  1.000000000
## volume_24h         -0.004809006  0.036747252 0.56074353  0.2116546 -0.006206113
## circulating_supply -0.689718331 -0.049635200 0.07368459  0.3968463 -0.641255825
##                      volume_24h circulating_supply
## price              -0.004809006        -0.68971833
## change_1h           0.036747252        -0.04963520
## change_24h          0.560743532         0.07368459
## change_7d           0.211654600         0.39684628
## market_cap         -0.006206113        -0.64125583
## volume_24h          1.000000000         0.09739449
## circulating_supply  0.097394493         1.00000000

Visualisasi korelasi

library(reshape2)
## 
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(ggplot2)

correlation_matrix <- data %>%
  select(price, change_1h, change_24h, change_7d, market_cap, volume_24h, circulating_supply) %>%
  cor()

melted_correlation <- melt(correlation_matrix)

ggplot(data = melted_correlation, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile() +
  scale_fill_gradient2(low = "blue", high = "red", mid = "white", 
                       midpoint = 0, limit = c(-1,1), space = "Lab", 
                       name="Korelasi") +
  theme_minimal() + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, 
                                   size = 12, hjust = 1)) +
  coord_fixed() +
  labs(title = "Heatmap Matriks Korelasi Antar Variabel",
       x = "Variabel",
       y = "Variabel")

Heatmap menggambarkan korelasi antar variabel dalam data Bitcoin Anda. Berikut adalah beberapa poin kunci dari heatmap:

Warna dan Makna
Merah Tua: Korelasi positif yang kuat (mendekati 1).
Biru Tua: Korelasi negatif yang kuat (mendekati -1).
Putih: Tidak ada korelasi (mendekati 0).

Interpretasi Korelasi Antar Variabel
Price (Harga)
Positif dengan Market Cap: Korelasi kuat (merah tua). Ini menunjukkan bahwa ketika harga Bitcoin naik, kapitalisasi pasar juga naik. Ini logis karena kapitalisasi pasar adalah produk dari harga dan pasokan beredar.
Negatif dengan Circulating Supply: Korelasi negatif (biru muda). Meskipun tidak terlalu kuat, ada kecenderungan bahwa ketika harga naik, pasokan beredar sedikit menurun.

Change_1h (Perubahan 1 Jam)
Positif dengan Change_24h dan Change_7d: Korelasi positif yang cukup kuat (merah). Ini menunjukkan bahwa perubahan harga dalam satu jam berkorelasi dengan perubahan harga dalam 24 jam dan 7 hari. Jika harga naik dalam satu jam, kemungkinan akan berpengaruh pada perubahan dalam periode yang lebih panjang.
Positif dengan Volume_24h: Korelasi positif yang cukup signifikan. Ini menunjukkan bahwa ketika ada perubahan harga yang besar dalam satu jam, volume perdagangan dalam 24 jam juga meningkat.

Change_24h (Perubahan 24 Jam)
Positif dengan Change_1h dan Change_7d: Korelasi kuat dengan perubahan harga dalam satu jam dan 7 hari. Ini menunjukkan bahwa perubahan dalam 24 jam seringkali merupakan bagian dari tren yang lebih panjang.
Positif dengan Market Cap: Korelasi positif yang cukup kuat. Perubahan harga dalam 24 jam berkorelasi dengan perubahan kapitalisasi pasar.

Change_7d (Perubahan 7 Hari)
Positif dengan Change_1h dan Change_24h: Korelasi sangat kuat dengan perubahan harga dalam satu jam dan 24 jam. Ini menunjukkan tren yang lebih panjang dalam perubahan harga.
Positif dengan Market Cap: Korelasi positif yang kuat, menunjukkan bahwa perubahan harga dalam 7 hari berkorelasi dengan kapitalisasi pasar.

Market Cap (Kapitalisasi Pasar)
Positif dengan Price, Change_24h, dan Change_7d: Korelasi sangat kuat, yang logis karena kapitalisasi pasar adalah produk dari harga dan jumlah pasokan yang beredar.

Volume_24h (Volume Perdagangan 24 Jam)
Positif dengan Change_1h dan Change_24h: Korelasi positif signifikan. Volume perdagangan dalam 24 jam cenderung meningkat dengan adanya perubahan harga yang signifikan dalam 1 jam dan 24 jam.
Negatif dengan Circulating Supply: Korelasi negatif yang tidak terlalu kuat, menunjukkan bahwa volume perdagangan yang tinggi tidak selalu berkorelasi dengan perubahan pasokan beredar. Circulating Supply (Pasokan Beredar)
Negatif dengan Price dan Volume_24h: Korelasi negatif yang tidak terlalu kuat, menunjukkan bahwa perubahan dalam pasokan beredar tidak selalu berkorelasi langsung dengan perubahan harga atau volume perdagangan.

Kesimpulan
Korelasi Positif Kuat: Terlihat antara harga dengan kapitalisasi pasar, dan perubahan harga dalam berbagai periode (1 jam, 24 jam, dan 7 hari) dengan kapitalisasi pasar.
Korelasi Volume: Volume perdagangan 24 jam berkorelasi positif dengan perubahan harga dalam periode yang lebih pendek (1 jam dan 24 jam).
Korelasi Negatif: Ada beberapa korelasi negatif yang lemah antara pasokan beredar dengan harga dan volume perdagangan, menunjukkan bahwa peningkatan pasokan beredar tidak selalu berkorelasi dengan peningkatan harga atau volume perdagangan.

Dengan interpretasi tersebut, maka dapat memahami hubungan antara variabel-variabel dalam data Bitcoin Anda dan bagaimana mereka saling mempengaruhi.

Deskripsi Statistik dan Ringkasan

summary(data)
##       time                            name               price      
##  Min.   :2024-05-26 10:40:07.69   Length:28          Min.   :64186  
##  1st Qu.:2024-06-01 13:04:08.27   Class :character   1st Qu.:66345  
##  Median :2024-06-08 07:04:13.91   Mode  :character   Median :68173  
##  Mean   :2024-06-08 07:36:13.18                      Mean   :67802  
##  3rd Qu.:2024-06-15 01:03:16.52                      3rd Qu.:69117  
##  Max.   :2024-06-21 19:00:21.83                      Max.   :71170  
##    change_1h        change_24h       change_7d       market_cap       
##  Min.   :0.0300   Min.   :0.0800   Min.   :0.790   Min.   :1.271e+12  
##  1st Qu.:0.1275   1st Qu.:0.2250   1st Qu.:2.275   1st Qu.:1.313e+12  
##  Median :0.1850   Median :0.8300   Median :3.115   Median :1.346e+12  
##  Mean   :0.3100   Mean   :0.9121   Mean   :3.219   Mean   :1.340e+12  
##  3rd Qu.:0.3150   3rd Qu.:1.3600   3rd Qu.:4.447   3rd Qu.:1.361e+12  
##  Max.   :1.3100   Max.   :2.8900   Max.   :5.740   Max.   :1.414e+12  
##    volume_24h       circulating_supply
##  Min.   :11346360   Min.   :19703909  
##  1st Qu.:17788380   1st Qu.:19706546  
##  Median :26590861   Median :19709516  
##  Mean   :25244907   Mean   :19709467  
##  3rd Qu.:32014363   3rd Qu.:19712299  
##  Max.   :37068521   Max.   :19715137

Analisis Tren

Menggunakan Regresi Linear untuk Mengidentifikasi Tren:

ggplot(data, aes(x = time, y = price)) +
  geom_line() +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Tren Harga Bitcoin Seiring Waktu", x = "Waktu", y = "Harga (dalam USD)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Grafik di atas menunjukkan tren harga Bitcoin dari akhir Mei hingga pertengahan Juni. Garis merah pada grafik adalah garis regresi linear yang membantu mengidentifikasi tren umum dalam harga Bitcoin selama periode ini.

Pola dan Tren
Penurunan Harga Secara Umum:
Garis regresi linear (garis merah) menunjukkan bahwa ada tren penurunan harga Bitcoin secara keseluruhan selama periode yang dianalisis.
Meskipun terdapat beberapa fluktuasi dan puncak harga, tren umum tetap menurun.
Fluktuasi Harga:
Terdapat beberapa puncak dan lembah dalam harga Bitcoin, menunjukkan volatilitas yang signifikan. Harga Bitcoin mencapai puncaknya di sekitar awal Juni sebelum kembali turun.
Periode Penurunan yang Signifikan:
Setelah mencapai puncaknya di awal Juni, harga Bitcoin mengalami penurunan yang cukup tajam. Penurunan ini berlanjut hingga pertengahan Juni, meskipun terdapat beberapa fluktuasi kecil.

Analisis Lebih Lanjut
Faktor Eksternal: Penurunan harga Bitcoin selama periode ini mungkin dipengaruhi oleh berbagai faktor eksternal seperti berita pasar, perubahan regulasi, atau aktivitas perdagangan yang signifikan.
Volatilitas Pasar: Grafik menunjukkan bahwa meskipun ada tren penurunan, harga Bitcoin tetap sangat volatil dengan beberapa perubahan yang tajam dalam periode waktu yang singkat.
Korelasi dengan Variabel Lain: Untuk analisis yang lebih komprehensif, Anda dapat melihat korelasi harga Bitcoin dengan variabel lain seperti volume perdagangan, perubahan pasokan beredar, dan perubahan harga dalam berbagai periode (1 jam, 24 jam, 7 hari).

Kesimpulan
Tren Penurunan: Secara keseluruhan, harga Bitcoin menunjukkan tren penurunan dari akhir Mei hingga pertengahan Juni.
Volatilitas Tinggi: Meskipun ada tren penurunan, harga Bitcoin tetap menunjukkan volatilitas yang signifikan dengan beberapa fluktuasi tajam.
Puncak Harga: Harga mencapai puncaknya di awal Juni sebelum mengalami penurunan yang signifikan.
Grafik ini memberikan gambaran yang jelas tentang tren umum harga Bitcoin selama periode yang dianalisis dan dapat menjadi dasar untuk analisis lebih lanjut tentang faktor-faktor yang mempengaruhi harga.

Menggunakan Teknik Smoothing (LOESS)

ggplot(data, aes(x = time, y = price)) +
  geom_line() +
  geom_smooth(method = "loess", se = FALSE, color = "blue") +
  labs(title = "Harga Bitcoin dengan LOESS Smoothing", x = "Waktu", y = "Harga (dalam USD)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Grafik di atas menunjukkan harga Bitcoin dari akhir Mei hingga pertengahan Juni dengan garis LOESS smoothing (garis biru) untuk mengidentifikasi tren jangka pendek dalam data.trlihat bahwa garus bekerja dengan mengikuti tren tidak seperti garis linear sebelumnya
<br< Pola dan Tren
Peningkatan Awal Juni:
Garis LOESS smoothing menunjukkan bahwa harga Bitcoin meningkat secara bertahap menuju awal Juni. Ini menunjukkan adanya tren kenaikan harga sebelum mencapai puncak di sekitar awal Juni.
Puncak Harga di Awal Juni:
Harga Bitcoin mencapai puncaknya di sekitar awal Juni. Garis LOESS smoothing juga mencerminkan puncak ini dengan sangat jelas.
Penurunan Setelah Puncak:
Setelah mencapai puncaknya, garis LOESS smoothing menunjukkan tren penurunan yang cukup tajam. Penurunan ini berlanjut hingga pertengahan Juni.
Penurunan ini lebih tajam dan lebih konsisten dibandingkan dengan peningkatan sebelumnya.
Fluktuasi Harga:
Meskipun ada tren yang jelas, harga Bitcoin tetap menunjukkan fluktuasi yang signifikan selama periode yang dianalisis. Fluktuasi ini terlihat dalam garis hitam yang menggambarkan harga aktual.

Analisis Lebih Lanjut
Faktor Eksternal: Penurunan tajam setelah puncak di awal Juni mungkin dipengaruhi oleh faktor eksternal seperti berita negatif, perubahan regulasi, atau aksi jual oleh investor besar.
Volatilitas Pasar: Garis LOESS smoothing membantu menghaluskan fluktuasi harian dan menunjukkan tren jangka pendek yang lebih jelas. Ini menunjukkan bahwa meskipun ada volatilitas, tren utama adalah penurunan setelah puncak harga di awal Juni.
Perbandingan dengan Tren Linear: Dibandingkan dengan garis tren linear sebelumnya, LOESS smoothing memberikan pandangan yang lebih halus dan lebih akurat tentang perubahan tren jangka pendek.

Kesimpulan
Tren Peningkatan di Awal Juni: Harga Bitcoin menunjukkan tren peningkatan yang stabil menuju awal Juni, mencapai puncak di sekitar tanggal 3 Juni.
Penurunan yang Signifikan Setelah Puncak: Setelah mencapai puncaknya, harga Bitcoin mengalami penurunan yang signifikan dan berlanjut hingga pertengahan Juni.
Volatilitas: Meskipun ada tren yang jelas, harga Bitcoin tetap sangat volatil dengan beberapa fluktuasi tajam.
Garis LOESS Smoothing: LOESS smoothing membantu mengidentifikasi tren jangka pendek yang mungkin tidak terlihat dengan jelas dalam data asli yang berfluktuasi.

Grafik ini memberikan wawasan yang lebih baik tentang tren jangka pendek dalam harga Bitcoin dan membantu mengidentifikasi pola-pola penting yang mungkin tidak terlihat dengan analisis linear sederhana.

Plot Perubahan Harga dengan Highlight Outliers

Menyoroti Outlier dalam Perubahan Harga 1 Jam

# Mengidentifikasi outlier dalam perubahan harga 1 jam
ggplot(data, aes(x = time, y = change_1h)) +
  geom_line() +
  geom_point(data = data %>% filter(abs(change_1h) > 1.5), color = "red") + # Menandai outlier
  labs(title = "Perubahan Harga Bitcoin dalam 1 Jam dengan Outlier Ditandai", x = "Waktu", y = "Perubahan 1h (%)") +
  theme_minimal()

library(ggplot2)
threshold <- 1.0

ggplot(data, aes(x = time, y = change_1h)) +
  geom_line() +
  geom_point(data = data %>% filter(abs(change_1h) > threshold), color = "red", size = 3) + 
  labs(title = "Perubahan Harga Bitcoin dalam 1 Jam dengan Outlier Ditandai", x = "Waktu", y = "Perubahan 1h (%)") +
  theme_minimal()

Interpretasi Perubahan Harga Bitcoin dalam 1 Jam dengan Outlier Ditandai Grafik di atas menunjukkan perubahan harga Bitcoin dalam periode 1 jam (%) dari akhir Mei hingga pertengahan Juni. Outlier ditandai dengan titik merah pada grafik ini.

Identifikasi Outlier
Outlier yang Teridentifikasi:
Terdapat satu outlier yang ditandai dengan titik merah di sekitar tanggal 10 Juni. Perubahan harga pada titik ini adalah lebih dari 1% dalam periode 1 jam, yang signifikan dibandingkan dengan perubahan lainnya dalam data.

Pola dan Tren
Fluktuasi Awal:
Pada akhir Mei hingga awal Juni, terdapat beberapa fluktuasi dalam perubahan harga 1 jam dengan beberapa puncak yang mendekati atau melebihi 0.5%.
Peningkatan Signifikan di Awal Juni:
Di sekitar awal Juni, terdapat beberapa puncak yang lebih tinggi, namun tidak sampai pada ambang batas outlier yang telah ditetapkan.
Outlier pada Pertengahan Juni:
Outlier yang signifikan terjadi di sekitar tanggal 10 Juni, di mana perubahan harga dalam 1 jam mencapai lebih dari 1%. Ini menunjukkan adanya pergerakan pasar yang sangat besar dalam waktu singkat.
Setelah outlier ini, terdapat fluktuasi lagi tetapi tidak ada yang mencapai tingkat yang sama seperti outlier tersebut.
Volatilitas Akhir Juni:
Menjelang akhir Juni, terdapat beberapa puncak lain dalam perubahan harga 1 jam yang juga menunjukkan volatilitas tinggi, meskipun tidak setinggi outlier yang telah ditandai.

Analisis Lebih Lanjut
Faktor Eksternal: Outlier ini mungkin disebabkan oleh faktor eksternal seperti berita penting, perubahan regulasi, atau aksi jual/beli besar-besaran oleh investor. Analisis lebih lanjut tentang berita atau peristiwa pada tanggal tersebut dapat memberikan wawasan tambahan.
Korelasi dengan Volume Perdagangan: Menganalisis volume perdagangan selama periode ini dapat memberikan wawasan lebih lanjut tentang apakah lonjakan harga tersebut terkait dengan peningkatan aktivitas perdagangan.

Kesimpulan
Outlier Signifikan: Outlier yang ditandai pada sekitar tanggal 10 Juni menunjukkan perubahan harga yang sangat signifikan dalam periode 1 jam, mencapai lebih dari 1%.
Volatilitas Tinggi: Grafik menunjukkan bahwa harga Bitcoin sangat volatil dengan beberapa puncak signifikan dalam perubahan harga 1 jam.
Faktor Pemicu Outlier: Outlier tersebut mungkin disebabkan oleh peristiwa penting atau aktivitas pasar yang signifikan, dan analisis lebih lanjut diperlukan untuk mengidentifikasi penyebab pastinya.

Dengan interpretasi ini, maka dapat dilihat bahwa ada pergerakan pasar yang signifikan pada pertengahan Juni yang menyebabkan perubahan harga yang ekstrem dalam periode 1 jam. Analisis lebih lanjut tentang peristiwa atau aktivitas pasar pada tanggal tersebut dapat membantu memahami penyebab dari outlier tersebut.

peramalan

library(forecast)
## Warning: package 'forecast' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(ggplot2)
library(dplyr)

# Konversi data perubahan harga menjadi seri waktu
change_1h_ts <- ts(data$change_1h, frequency = 24)
change_24h_ts <- ts(data$change_24h, frequency = 1)
change_7d_ts <- ts(data$change_7d, frequency = 1/7)

# Pilih model ARIMA terbaik secara otomatis dan lakukan peramalan
fit_1h <- auto.arima(change_1h_ts)
forecast_1h <- forecast(fit_1h, h = 24)

fit_24h <- auto.arima(change_24h_ts)
forecast_24h <- forecast(fit_24h, h = 7)

fit_7d <- auto.arima(change_7d_ts)
forecast_7d <- forecast(fit_7d, h = 3)  # Misalkan 3 minggu ke depan

# Menggabungkan hasil peramalan
forecast_1h_df <- as.data.frame(forecast_1h)
forecast_1h_df$interval <- "1h"

forecast_24h_df <- as.data.frame(forecast_24h)
forecast_24h_df$interval <- "24h"

forecast_7d_df <- as.data.frame(forecast_7d)
forecast_7d_df$interval <- "7d"

# Menambahkan kolom time yang sesuai dengan panjang data
forecast_1h_df$time <- seq(1, nrow(forecast_1h_df))
forecast_24h_df$time <- seq(1, nrow(forecast_24h_df))
forecast_7d_df$time <- seq(1, nrow(forecast_7d_df))

# Menggabungkan semua data frame peramalan
forecast_combined <- bind_rows(forecast_1h_df, forecast_24h_df, forecast_7d_df)

# Memeriksa nama kolom untuk memastikan nama yang benar
names(forecast_combined)
## [1] "Point Forecast" "Lo 80"          "Hi 80"          "Lo 95"         
## [5] "Hi 95"          "interval"       "time"
# Plot hasil peramalan dengan nama kolom yang tepat
ggplot(forecast_combined, aes(x = time, y = `Point Forecast`)) +
  geom_line() +
  geom_ribbon(aes(ymin = `Lo 80`, ymax = `Hi 80`), alpha = 0.2) +
  facet_wrap(~interval, scales = "free_y") +
  labs(title = "Peramalan Perubahan Harga Bitcoin (%)", x = "Waktu", y = "Perubahan (%)") +
  theme_minimal()

# Menggabungkan semua data frame peramalan
forecast_combined <- bind_rows(forecast_1h_df, forecast_24h_df, forecast_7d_df)

# Plot hasil peramalan dengan nama kolom yang benar
ggplot(forecast_combined, aes(x = time, y = `Point Forecast`)) +
  geom_line() +
  geom_ribbon(aes(ymin = `Lo 80`, ymax = `Hi 80`), alpha = 0.2) +
  facet_wrap(~interval, scales = "free_y") +
  labs(title = "Peramalan Perubahan Harga Bitcoin (%)", x = "Waktu", y = "Perubahan (%)") +
  theme_minimal()

# Menggunakan ETS model untuk perbandingan
fit_1h_ets <- ets(change_1h_ts)
forecast_1h_ets <- forecast(fit_1h_ets, h = 24)

fit_24h_ets <- ets(change_24h_ts)
forecast_24h_ets <- forecast(fit_24h_ets, h = 7)

fit_7d_ets <- ets(change_7d_ts)
forecast_7d_ets <- forecast(fit_7d_ets, h = 3)

# Menggabungkan hasil peramalan dari ETS model
forecast_1h_ets_df <- as.data.frame(forecast_1h_ets)
forecast_1h_ets_df$interval <- "1h"
forecast_1h_ets_df$time <- seq(1, nrow(forecast_1h_ets_df))

forecast_24h_ets_df <- as.data.frame(forecast_24h_ets)
forecast_24h_ets_df$interval <- "24h"
forecast_24h_ets_df$time <- seq(1, nrow(forecast_24h_ets_df))

forecast_7d_ets_df <- as.data.frame(forecast_7d_ets)
forecast_7d_ets_df$interval <- "7d"
forecast_7d_ets_df$time <- seq(1, nrow(forecast_7d_ets_df))

forecast_combined_ets <- bind_rows(forecast_1h_ets_df, forecast_24h_ets_df, forecast_7d_ets_df)

# Memeriksa nama kolom untuk memastikan nama yang benar
names(forecast_combined_ets)
## [1] "Point Forecast" "Lo 80"          "Hi 80"          "Lo 95"         
## [5] "Hi 95"          "interval"       "time"
# Plot hasil peramalan dengan model ETS
ggplot(forecast_combined_ets, aes(x = time, y = `Point Forecast`)) +
  geom_line() +
  geom_ribbon(aes(ymin = `Lo 80`, ymax = `Hi 80`), alpha = 0.2) +
  facet_wrap(~interval, scales = "free_y") +
  labs(title = "Peramalan Perubahan Harga Bitcoin (%) dengan ETS", x = "Waktu", y = "Perubahan (%)") +
  theme_minimal()

Analisis Hasil Peramalan Perubahan 1 Jam (1h):

Prediksi rata-rata cenderung stabil di sekitar 0.4%. Interval kepercayaan (confidence intervals) cukup lebar, menunjukkan ketidakpastian yang signifikan dalam prediksi per jam. Perubahan 24 Jam (24h):

Prediksi rata-rata cenderung menurun, mencapai sekitar -1%. Interval kepercayaan lebih sempit dibandingkan dengan perubahan 1 jam, tetapi masih menunjukkan ketidakpastian yang cukup besar. Perubahan 7 Hari (7d):

Prediksi rata-rata cenderung stabil di sekitar 3%. Interval kepercayaan sangat lebar, menunjukkan ketidakpastian yang sangat tinggi dalam prediksi mingguan. Peninjauan Model dan Data Model ETS:

Model ETS dapat memberikan hasil yang berbeda tergantung pada pola data historis. Jika data historis sangat volatil atau terbatas, model mungkin kesulitan dalam memberikan prediksi yang akurat. Jumlah Data Historis:

Jika data historis yang digunakan terbatas, menambah lebih banyak data historis dapat membantu meningkatkan keakuratan model. Alternatif dan Perbaikan Penambahan Data Historis:

Tambahkan lebih banyak data historis jika memungkinkan untuk memberikan model lebih banyak informasi untuk belajar pola. Model Lain:

Coba model lain seperti Prophet dari Facebook yang dirancang untuk menangani data dengan komponen musiman dan tren yang kompleks. Evaluasi dan Validasi Model:

Lakukan evaluasi dan validasi model dengan menggunakan data training dan testing untuk memastikan keakuratan prediksi.

Prophet

# Install dan muat paket yang diperlukan
library(prophet)
## Warning: package 'prophet' was built under R version 4.3.3
## Loading required package: Rcpp
## Loading required package: rlang
## 
## Attaching package: 'rlang'
## The following objects are masked from 'package:purrr':
## 
##     %@%, flatten, flatten_chr, flatten_dbl, flatten_int, flatten_lgl,
##     flatten_raw, invoke, splice
library(dplyr)

# Mengatur data dalam format yang sesuai untuk Prophet
prophet_data <- data %>%
  mutate(ds = time, y = change_1h) %>%
  select(ds, y)

# Membuat dan melatih model Prophet
m <- prophet(prophet_data)
## Disabling yearly seasonality. Run prophet with yearly.seasonality=TRUE to override this.
## n.changepoints greater than number of observations. Using 21
# Membuat data frame untuk periode prediksi
future <- make_future_dataframe(m, periods = 24, freq = "hour")

# Melakukan prediksi
forecast <- predict(m, future)

# Plot hasil prediksi
plot(m, forecast) +
  labs(title = "Peramalan Perubahan Harga Bitcoin dalam 1 Jam dengan Prophet", x = "Waktu", y = "Perubahan 1h (%)")

Grafik menunjukkan hasil peramalan perubahan harga Bitcoin dalam interval 1 jam menggunakan model Prophet. Berikut adalah interpretasi hasil peramalan:

Pola dan Tren
Stabilitas Harga:
Prediksi menunjukkan bahwa perubahan harga Bitcoin dalam interval 1 jam cenderung stabil di sekitar 0% hingga ±1% selama sebagian besar periode yang dianalisis.
Fluktuasi terlihat lebih jelas di awal dan pertengahan periode, tetapi secara keseluruhan tetap dalam kisaran yang sempit.
Interval Kepercayaan (Confidence Intervals):
Area berwarna biru muda di sekitar garis prediksi adalah interval kepercayaan (confidence intervals).
Interval kepercayaan cenderung sempit, menunjukkan bahwa model Prophet memberikan prediksi yang relatif yakin dan konsisten untuk sebagian besar periode.
Perubahan Ekstrem di Akhir Periode:
Terlihat ada perubahan yang sangat ekstrem di akhir periode yang mungkin disebabkan oleh beberapa faktor eksternal atau data anomali.
Fluktuasi yang sangat besar di akhir periode perlu ditinjau lebih lanjut untuk memastikan validitas data atau mengecek peristiwa signifikan yang mempengaruhinya.

Bagaimana Prophet Bekerja Prophet adalah model peramalan waktu yang dirancang untuk menangani data dengan komponen musiman dan tren yang kompleks. Berikut adalah cara Prophet bekerja:
Model Additif:
Prophet menggunakan model additif untuk menguraikan data menjadi komponen tren, musiman, dan hari libur.
Prophet fleksibel dan dapat menangani data yang hilang serta perubahan tren yang tiba-tiba. Model ini dirancang untuk bekerja baik dengan data historis yang sedikit maupun banyak.

Pencocokan Kurva Non-linear:
Prophet menggunakan pencocokan kurva non-linear untuk memodelkan tren jangka panjang dengan fungsi piecewise linear atau logistic growth.
Komponen musiman dimodelkan dengan Fourier series.
Interval Kepercayaan:
Prophet memberikan interval kepercayaan untuk setiap prediksi, yang membantu mengukur ketidakpastian dalam prediksi.

Kesimpulan

Prediksi Stabil: Model Prophet memprediksi perubahan harga Bitcoin dalam interval 1 jam cenderung stabil dengan perubahan minor dalam kisaran yang sempit.
Kepastian Model: Interval kepercayaan yang sempit menunjukkan kepastian model dalam sebagian besar periode.
Perubahan Ekstrem: Perubahan ekstrem di akhir periode perlu dievaluasi lebih lanjut untuk memastikan validitas dan memahami penyebabnya.

Rekomendasi
Tinjau Data Akhir Periode: Evaluasi data di akhir periode untuk memastikan tidak ada kesalahan atau memahami peristiwa signifikan yang mempengaruhi harga.
Periksa Faktor Eksternal: Memantau berita dan peristiwa pasar yang mungkin mempengaruhi harga Bitcoin dapat memberikan konteks tambahan untuk peramalan.
Lakukan Peramalan Jangka Panjang: Jika memungkinkan, lakukan peramalan untuk interval waktu yang lebih panjang (misalnya 24 jam atau 7 hari) untuk mendapatkan gambaran yang lebih komprehensif tentang tren harga.