Kursus
Di mata kuliah statistik berbasis pemrograman pertama saya di kampus, dosen saya mengajukan sebuah pertanyaan: bagaimana kita dapat memodelkan gerak Brown pada satu partikel serbuk sari di dalam cawan berisi air? Setelah beberapa upaya yang keliru, saya dan teman sekelas akhirnya menemukan jawaban yang benar: random walk. Belakangan saya mengetahui bahwa model sederhana ini digunakan untuk memodelkan berbagai hal, dari pergerakan hewan hingga fluktuasi harga saham.
Dalam artikel ini, kita akan menelusuri dasar matematika random walk, meninjau berbagai jenisnya, dan membahas aplikasinya. Salah satu hal yang membuat random walk menarik adalah penggunaannya di begitu banyak disiplin. Selain contoh saya, dalam fisika, ini membantu menjelaskan pergerakan partikel; dalam keuangan, ini memodelkan fluktuasi harga saham; dan dalam biologi, ini menjelaskan pola pergerakan hewan. Random walk menangkap keacakan dunia nyata, yang penting untuk mensimulasikan proses stokastik.
Bagi Anda yang ingin membangun fondasi kuat dalam statistika yang menjadi landasan teori random walk, kami merekomendasikan mulai dari kursus Introduction to Statistics in R atau kursus Introduction to Statistics in Python.
Apa Itu Random Walk?
Dalam teori probabilitas, random walk adalah model yang menggambarkan rangkaian langkah acak yang membentuk suatu lintasan. Atau, kita bisa mengatakan bahwa random walk adalah model matematis yang menjelaskan lintasan yang terbentuk oleh serangkaian langkah, masing-masing ditentukan secara independen dan dengan probabilitas tertentu. Sifat stokastik ini membuat random walk pada dasarnya tidak dapat diprediksi.
Bayangkan seseorang melangkah ke arah acak pada setiap momen. Seiring waktu, lintasannya membentuk jejak yang berkelok-kelok dan tak terduga. Meski sederhana, konsep ini memiliki kedalaman dan fleksibilitas yang mengejutkan, memodelkan berbagai skenario dunia nyata yang melibatkan keacakan.

Penjelasan konseptual tentang random walk. Gambar milik napkin.ai.
Gagasan tentang random walk sudah ada sejak studi awal mengenai probabilitas. Salah satu contoh paling awal, sering disebut drunkard’s walk, menggambarkan bagaimana seseorang yang melangkah secara acak akan berjalan tersendat-sendat alih-alih bergerak secara terarah menuju tujuan. Keacakan ini, dikombinasikan dengan asumsi bahwa setiap langkah independen dari langkah sebelumnya, menjadi dasar bagi model random walk modern.
Memahami Matematika Random Walk
Untuk memahami random walk, mari mulai dari kasus sederhana: random walk satu dimensi (1D). Bayangkan sebuah partikel pada garis bilangan. Ia dapat bergerak +1 atau -1 di sepanjang garis bilangan pada setiap langkah. Setiap gerakan ditentukan oleh probabilitas yang sama untuk melangkah ke kanan atau ke kiri. Seiring waktu, posisi partikel membentuk distribusi probabilitas yang melebar, merepresentasikan peluang menemukannya di berbagai lokasi.
Prinsip ini dapat diperluas ke dua atau tiga dimensi. Dalam random walk dua dimensi (2D), partikel bergerak pada bidang dan dapat melangkah ke salah satu dari empat arah mata angin (atas, bawah, kiri, kanan) dengan probabilitas sama. Demikian pula, dalam random walk tiga dimensi (3D), partikel bergerak di ruang dan dapat melangkah ke salah satu dari enam arah yang mungkin (atas, bawah, kiri, kanan, maju, mundur) dengan probabilitas sama. Random walk berdimensi lebih tinggi ini menangkap skenario yang lebih kompleks dan realistis.
Ciri penentu random walk adalah sifat stokastiknya, artinya setiap langkah hanya bergantung pada posisi saat ini dan bukan pada langkah-langkah sebelumnya. Ini menjadikannya jenis proses Markov—konsep matematis di mana keadaan masa depan hanya bergantung pada keadaan saat ini, bukan pada urutan peristiwa yang mendahuluinya. Gerakan “tanpa ingatan” ini, dipadukan dengan distribusi probabilitas yang menggambarkan posisi potensial, memberikan landasan matematis yang kuat untuk memahami random walk.
Kita dapat menganalisis random walk menggunakan sifat-sifat statistik untuk memahami perilakunya dari waktu ke waktu. Ini mencakup peninjauan aspek seperti jarak harapan dari titik awal, distribusi probabilitas posisi yang mungkin, dan peluang kembali ke titik asal. Analisis ini membantu kita mengukur keacakan dan keterprediksian, memberikan wawasan tentang pola, dan membuat prediksi.
Sifat-Sifat Kunci Random Walk
Random walk memiliki beberapa sifat penting yang membantu kita memahami perilaku dan aplikasinya. Berikut beberapa aspek kunci yang perlu dipertimbangkan:
Ekspektasi dan varians
Dalam random walk satu dimensi, kita dapat menghitung jarak harapan (atau posisi rata-rata) dari titik awal seiring waktu. Jika setiap langkah memiliki probabilitas yang sama untuk bergerak ke kiri atau ke kanan, posisi yang diharapkan setelah banyak langkah tetap nol, menyiratkan bahwa, secara rata-rata, pejalan tetap dekat dengan titik awal.
Namun, varians posisi, yang mengukur sebaran atau dispersi posisi yang mungkin, meningkat pada setiap langkah. Secara khusus, dalam random walk simetris, varians tumbuh secara linear dengan jumlah langkah, menjadikannya indikator berguna untuk jarak khas dari titik asal seiring waktu.
Autokorelasi
Sementara random walk sederhana tidak memiliki korelasi antar langkah (setiap langkah independen dari yang terakhir), jenis random walk tertentu memperkenalkan autokorelasi, di mana langkah-langkah sebelumnya dapat memengaruhi langkah-langkah selanjutnya. Misalnya, dalam random walk bias, langkah-langkah mungkin memiliki kecenderungan kecil ke satu arah, membuat posisi menjadi lebih dapat diprediksi.
Autokorelasi dalam random walk memengaruhi cara kita memodelkan dan memprediksi perkembangan lintasannya. Ini sangat relevan dalam aplikasi di mana perilaku masa lalu memengaruhi langkah-langkah mendatang, seperti pada model keuangan tertentu.
Teorema limit pusat
Teorema limit pusat (CLT) memberi tahu kita bahwa jumlah dari sejumlah besar peubah acak independen cenderung mengikuti distribusi normal (atau Gaussian), terlepas dari distribusi asalnya. Dalam konteks random walk, ini berarti bahwa saat jumlah langkah meningkat, distribusi posisi cenderung menyerupai distribusi normal. Ini merupakan sifat yang berguna karena memungkinkan kita memperkirakan probabilitas menemukan pejalan pada jarak tertentu dari titik awal.
Hukum bilangan besar
Hukum bilangan besar (LLN) menjelaskan bahwa ketika jumlah percobaan atau langkah meningkat, rata-rata hasil akan konvergen ke rata-rata sebenarnya. Untuk random walk, ini berarti bahwa meskipun posisi rata-rata tetap nol, varians dan rentang posisi yang mungkin tumbuh secara terprediksi pada setiap langkah tambahan. Prinsip ini membantu menjembatani kesenjangan antara keacakan murni dan pola statistik yang dapat diprediksi dalam sampel besar.
Jenis-Jenis Random Walk
Random walk sangat beragam tergantung pada aturan yang mengatur setiap langkah. Jenis-jenis ini memengaruhi bagaimana lintasan berperilaku. Sebagian dirancang untuk lingkungan yang sederhana atau terstruktur sementara yang lain dilengkapi untuk fenomena dunia nyata yang lebih kompleks. Mari jelajahi beberapa jenis random walk yang paling umum.
Random walk 1D, 2D, dan 3D
Dimensionalitas random walk memainkan peran mendasar dalam perilakunya. Dalam random walk 1D, setiap langkah merupakan gerakan maju atau mundur di sepanjang garis. Ini membuatnya relatif mudah untuk dimodelkan dan diprediksi.
Namun, saat kita beralih ke lintasan 2D (bidang) dan 3D (ruang), jalur yang mungkin meningkat signifikan, memperkenalkan perilaku baru. Misalnya, dalam random walk 2D, probabilitas kembali ke titik awal tetap tinggi, sedangkan dalam random walk 3D, probabilitas ini menurun.
Perubahan ini penting dalam bidang seperti fisika dan kimia, di mana partikel dapat berdifusi secara berbeda bergantung pada kendala dimensional.
Lattice random walk
Dalam lattice random walk, pergerakan dibatasi pada titik-titik diskret pada kisi atau grid. Jenis lintasan ini umum digunakan dalam fisika dan teori jaringan, di mana node tersusun pada kisi, dan pergerakan hanya dapat terjadi ke node tetangga.
Contoh umum adalah kisi 2D, di mana setiap langkah memungkinkan pergerakan ke titik yang bersebelahan pada grid Kartesius. Pembatasan ini menyederhanakan pemodelan dengan membatasi jalur pergerakan, yang bermanfaat saat mensimulasikan jaringan kompleks atau struktur molekul.
Gaussian random walk
Dalam Gaussian random walk, ukuran setiap langkah ditentukan oleh distribusi Gaussian (atau normal). Alih-alih bergerak dengan jarak tetap, ukuran langkah bervariasi menurut distribusi berbentuk lonceng, dengan sebagian besar langkah kecil dan sesekali lompatan yang lebih besar. Jenis lintasan ini sering digunakan dalam pemodelan keuangan untuk mempertimbangkan variabilitas perubahan harga aset.
Random walk heterogen dan bias
Random walk heterogen dan bias memungkinkan variasi arah dan ukuran langkah berdasarkan probabilitas tertentu. Fleksibilitas ini membuatnya lebih mudah diadaptasikan ke skenario dunia nyata.
Dalam random walk heterogen, probabilitas untuk bergerak ke arah mana pun dapat berubah berdasarkan lokasi atau kondisi eksternal. Misalnya, hewan yang mencari makan mungkin lebih menyukai area dengan sumber daya yang diketahui, sehingga menciptakan random walk bias. Lintasan ini berguna untuk mempelajari perilaku yang bergantung pada faktor kontekstual.
Random walk dengan drift
Dalam random walk dengan drift, ada kecenderungan konsisten untuk bergerak ke satu arah. Misalnya, harga saham mungkin menunjukkan tren naik secara keseluruhan dari waktu ke waktu meskipun ada fluktuasi harian. Drift pada lintasan ini merepresentasikan gaya atau tren eksternal yang memengaruhi jalur. Jenis ini sering terlihat dalam keuangan, di mana model memasukkan suku drift untuk merepresentasikan pertumbuhan atau penurunan, memberikan pendekatan yang lebih realistis untuk memprediksi harga aset dan tren pasar.
Masing-masing jenis random walk ini memiliki tujuan unik, menawarkan cara berbeda untuk memodelkan perilaku yang acak namun terstruktur. Kendala dimensi, distribusi langkah, dan keberadaan drift atau bias membuat random walk sangat serbaguna untuk pemodelan data dan simulasi lintas bidang.
Aplikasi Random Walk di Dunia Nyata
Random walk bukan sekadar konstruksi teoretis; model ini berperan penting dalam banyak aplikasi praktis di berbagai disiplin. Mari lihat bagaimana random walk membantu pemecahan masalah dunia nyata di berbagai sektor.
Aplikasi dalam data science dan machine learning
Ilmu komputer
Random walk mendasari beberapa algoritma ilmu komputer, seperti pengambilan sampel acak, penelusuran graf web, dan segmentasi citra. Misalnya, algoritma PageRank Google menggunakan random walk untuk memberi peringkat halaman web berdasarkan relevansinya, mensimulasikan bagaimana pengguna mungkin menavigasi tautan di internet secara acak.
Ekstraksi fitur
Dalam machine learning, random walk dapat membantu mengekstraksi fitur dengan menonjolkan hubungan di dalam titik-titik data. Misalnya, dalam analisis jaringan, random walk dapat mengungkap klaster atau komunitas, membantu tugas seperti sistem rekomendasi dan analisis jejaring sosial.
Deteksi anomali
Random walk juga dapat digunakan untuk mendeteksi anomali dalam dataset. Misalnya, jika titik data menyimpang secara signifikan dari lintasan khas pada model random walk, titik-titik tersebut mungkin menunjukkan kejadian tidak biasa atau kesalahan dalam data. Deteksi anomali sangat berharga di bidang seperti keamanan siber dan deteksi penipuan.
Mensimulasikan proses stokastik
Random walk mensimulasikan proses stokastik, atau yang ditentukan secara acak, memungkinkan data scientist memodelkan fenomena dunia nyata yang tak terduga. Dengan mensimulasikan random walk, kita dapat memperoleh wawasan tentang sistem di mana prediksi presisi menantang, seperti pola cuaca atau perilaku pelanggan.
Peramalan deret waktu
Dalam analisis deret waktu, random walk menjadi dasar bagi model peramalan tertentu, termasuk hipotesis random walk dalam keuangan. Model-model ini mengasumsikan bahwa nilai masa depan dalam deret waktu hanya bergantung pada nilai terbaru, tanpa korelasi dengan tren masa lalu. Untuk selengkapnya tentang peramalan deret waktu, lihat ARIMA for Time Series Forecasting: A Complete Guide. Juga, ikuti kursus Forecasting in R bersama Profesor Hyndman, yang menghubungkan model random walk dengan metode peramalan naif dan naif musiman.
Aplikasi di bidang lain
Keuangan
Salah satu penggunaan random walk yang paling menonjol adalah dalam pemodelan keuangan, khususnya untuk memprediksi harga saham. Hipotesis pasar efisien menyatakan bahwa pergerakan harga saham pada dasarnya acak, karena informasi baru langsung terserap, membuat harga masa depan tidak dapat diprediksi. Random walk dapat digunakan untuk memodelkan perubahan harga saham dari waktu ke waktu, menggambarkan bagaimana harga berfluktuasi tanpa lintasan yang dapat diprediksi.
Matematika
Dalam matematika murni, random walk menyediakan solusi untuk masalah kompleks. Misalnya, ini berguna dalam menyelesaikan persamaan Laplace, menganalisis jaringan, dan mengeksplorasi kombinatorika.
Fisika dan kimia
Dalam ilmu fisik, random walk sangat penting untuk memodelkan proses difusi, seperti cara molekul menyebar melalui suatu medium. Gerak Brown, di mana partikel yang tersuspensi dalam fluida bergerak tak terduga akibat tumbukan dengan molekul di sekitarnya, adalah contoh klasik yang dapat disimulasikan secara akurat menggunakan random walk. Ini sebenarnya adalah cara pertama saya mempelajari random walk.
Biologi
Random walk bermanfaat dalam ekologi untuk mempelajari pola pergerakan hewan. Hewan yang mencari sumber daya mungkin tampak bergerak dalam pola random walk, terkadang bias ke wilayah dengan sumber daya yang diketahui. Konsep biologis lain, seperti penyebaran populasi atau gen, sering kali dapat dimodelkan dengan prinsip random walk, sehingga lebih mudah untuk memahami dan memprediksi perubahan dalam ekosistem.
Kasus Khusus dan Varian Random Walk
Selain random walk klasik, beberapa varian lanjutan memperluas konsep ini agar sesuai dengan aplikasi khusus.
Self-avoiding walk
Self-avoiding walk adalah random walk di mana lintasan tidak mengunjungi kembali posisi yang sudah dilewati. Varian ini sangat berguna dalam bidang seperti kimia polimer, di mana ia dapat memodelkan bagaimana rantai polimer terbentuk tanpa saling berpotongan. Karena setiap langkah menghindari titik yang telah dikunjungi sebelumnya, self-avoiding walk lebih terbatas daripada random walk tradisional. Artinya ini menantang secara komputasional namun berguna untuk memahami jalur yang tidak saling tumpang tindih di ruang terbatas.
Branching
Dalam branching random walk, lintasan dapat bercabang menjadi beberapa cabang, dan setiap cabang mengikuti random walk. Jenis lintasan ini penting untuk memodelkan proses bercabang seperti pembelahan sel atau penyebaran informasi melalui jaringan. Setiap “cabang” merepresentasikan jalur acak independen yang berasal dari sumber yang sama.
Correlated walk
Correlated walk membawa konsep ini selangkah lebih maju, di mana arah setiap langkah sebagian dipengaruhi oleh langkah sebelumnya. Varian ini berguna untuk memodelkan inersia pada sistem di mana perubahan terjadi secara bertahap alih-alih acak. Correlated walk sering diterapkan dalam keuangan untuk mensimulasikan tren harga atau dalam ekologi pergerakan untuk memahami bagaimana hewan menavigasi lingkungannya dengan sebagian ingatan akan arah sebelumnya.
Loop-erased walk
Loop-erased walk adalah varian di mana loop, atau jalur yang saling berpotongan, dihapus saat terbentuk. Setiap kali suatu langkah mengunjungi kembali sebuah posisi, loop yang berada di antaranya dihapus, menyisakan jalur yang ringkas dan tidak berulang. Loop-erased walk umum diterapkan dalam analisis jaringan dan algoritma pembangkitan labirin karena menghasilkan jalur yang menghindari redundansi.
Mengimplementasikan Random Walk di Python
Mari coba mengimplementasikan random walk di Python. Untuk memulai, pastikan Anda telah memasang Python (kita akan gunakan Python 3.10) dan pustaka yang diperlukan tersedia. Anda dapat memasang pustaka yang belum ada menggunakan pip. Berikut yang akan kita gunakan:
import numpy as np # for numerical operations and generating random steps
import matplotlib.pyplot as plt # for plotting and visualizing the random walks
Random walk 1D
Kita akan mulai dengan random walk satu dimensi sederhana, di mana setiap langkah adalah +1 atau -1, dipilih secara acak.
# Parameters
n_steps = 100 # Number of steps
# Generate random steps: +1 or -1
steps = np.random.choice([-1, 1], size=n_steps)
# Calculate positions
positions = np.cumsum(steps)
# Plot the random walk
plt.figure(figsize=(10, 6))
plt.plot(positions, marker='o', linestyle='-', markersize=4)
plt.title("1D Random Walk")
plt.xlabel("Step")
plt.ylabel("Position")
plt.grid(True)
plt.show()
Kode ini menghasilkan random walk sederhana dan memvisualisasikan perkembangannya dari waktu ke waktu. Berikut keluaran saat saya menjalankan kode ini:

Ingat, kita menjalankan model stokastik. Ini berarti setiap kali dijalankan, keluarannya akan terlihat sedikit berbeda.
Random walk 2D
Sekarang mari kita perluas random walk ke dua dimensi. Pada setiap langkah, arah akan dipilih secara acak.
# Parameters
n_steps = 500
# Generate random steps in x and y directions
x_steps = np.random.choice([-1, 1], size=n_steps)
y_steps = np.random.choice([-1, 1], size=n_steps)
# Calculate positions
x_positions = np.cumsum(x_steps)
y_positions = np.cumsum(y_steps)
# Plot the 2D random walk
plt.figure(figsize=(8, 8))
plt.plot(x_positions, y_positions, marker='o', linestyle='-', markersize=2, label='Random Walk')
plt.plot(x_positions[0], y_positions[0], 'ro', markersize=8, label='Start') # Red dot for start
plt.plot(x_positions[-1], y_positions[-1], 'ko', markersize=8, label='End') # Black dot for end
plt.title("2D Random Walk")
plt.xlabel("X Position")
plt.ylabel("Y Position")
plt.grid(True)
plt.axis('equal') # Ensures equal scaling for both axes
plt.legend()
plt.show()
Kode ini membuat lintasan yang menarik secara visual dalam dua dimensi.

Jenis random walk dua dimensi ini dapat dimodifikasi untuk mengakomodasi aplikasi seperti gerak partikel atau pemodelan spasial.
Random walk bias
Terakhir, mari lihat contoh yang sedikit lebih kompleks: random walk bias. Untuk memperkenalkan bias, kita dapat menyesuaikan probabilitas arah setiap langkah. Misalnya, kita dapat membuat langkah ke atas lebih mungkin terjadi.
# Parameters
n_steps = 100
bias = 0.7 # Probability of stepping +1
# Generate biased random steps in x and y directions
x_steps = np.random.choice([-1, 1], size=n_steps, p=[1-bias, bias])
y_steps = np.random.choice([-1, 1], size=n_steps, p=[1-bias, bias])
# Calculate positions
x_positions = np.cumsum(x_steps)
y_positions = np.cumsum(y_steps)
# Plot the biased 2D random walk
plt.figure(figsize=(8, 8))
plt.plot(x_positions, y_positions, marker='o', linestyle='-', markersize=2, label='Random Walk')
plt.plot(x_positions[0], y_positions[0], 'ro', markersize=8, label='Start') # Red dot for start
plt.plot(x_positions[-1], y_positions[-1], 'ko', markersize=8, label='End') # Black dot for end
plt.title("Biased 2D Random Walk")
plt.xlabel("X Position")
plt.ylabel("Y Position")
plt.grid(True)
plt.axis('equal') # Ensures equal scaling for both axes
plt.legend()
plt.show()
Dengan mengubah bias, Anda dapat mengamati bagaimana lintasan cenderung menyukai arah tertentu, mensimulasikan skenario dunia nyata seperti drift pada harga saham atau pola migrasi hewan.

Jika kita mengubah parameter bias menjadi 0,55, kita dapat melihat perbedaan mencolok pada cara model berperilaku. Meski masih memiliki bias untuk bergerak ke atas, biasnya tidak sekuat sebelumnya, sehingga menghasilkan lebih banyak loop dan jalan memutar.

Kesimpulan
Random walk adalah alat pemodelan yang berharga bagi data scientist, dapat diterapkan di bidang dari fisika hingga keuangan dan seterusnya. Kemampuannya untuk memodelkan proses stokastik yang kompleks membuatnya tak tergantikan dalam banyak skenario dunia nyata.
Ingin belajar lebih jauh? Lihat rangkaian kursus probabilitas dan statistik dari DataCamp. Anda akan menemukan berbagai kursus hebat baik di Python maupun R. Jika Anda tertarik pada konten yang lebih lanjutan, lihat kursus DataCamp tentang Statistical Simulation in Python dan tutorial Introduction to Machine Learning. Atau jika Anda siap menguji pengetahuan, coba beberapa teka-teki probabilitas ini.
Saya seorang PhD dengan pengalaman 13 tahun bekerja dengan data di lingkungan riset biologi. Saya membuat perangkat lunak dalam beberapa bahasa pemrograman termasuk Python, MATLAB, dan R. Saya bersemangat membagikan kecintaan saya terhadap pembelajaran kepada dunia.
FAQ Random Walk
Apa itu random walk?
Random walk adalah model matematis yang menggambarkan lintasan yang terdiri dari rangkaian langkah acak.
Apa saja aplikasi random walk?
Random walk digunakan di berbagai domain, dari memodelkan pergerakan partikel, mensimulasikan pergerakan harga saham, hingga memahami pola pergerakan hewan.
Apa perbedaan antara random walk sederhana dan random walk bias?
Dalam random walk sederhana, setiap langkah sama kemungkinannya ke arah mana pun. Dalam random walk bias, probabilitas mengambil langkah ke arah tertentu tidak sama, memperkenalkan preferensi atau “bias” ke arah tertentu.
Bagaimana random walk diterapkan pada pemodelan keuangan?
Random walk digunakan untuk mensimulasikan dan memprediksi harga saham serta tren pasar karena kemampuannya memodelkan ketidakpastian dan volatilitas yang melekat.
Apakah random walk sama dengan proses Markov?
Random walk adalah jenis khusus dari proses Markov di mana langkah berikutnya hanya bergantung pada posisi saat ini.

