Anda di halaman 1dari 4

BAB 3

PERTUMBUHAN POPULASI STOKASTIK

3.3 Simulasi pertumbuhan populasi

Seperti yang telah kita lihat, pemodelan stokastik secara signifikan lebih rumit daripada
pemodelan terminologis. Ketika pemodelan menjadi lebih canggih, simulasi numerik menjadi
perlu. Di sini, sebagai ilustrasi, kami menunjukkan bagaimana mensimulasikan realisasi
pertumbuhan populasi individu.

Pendekatan naif akan memanfaatkan tingkat kelahiran b secara langsung. Selama


interval waktu singkat ∆t, setiap individu memiliki kemungkinan tetapi melahirkan. Kita dapat
memutuskan apakah seseorang melahirkan dengan menghasilkan penyimpangan acak (angka
pseudo-acak antara nol dan satu): jika penyimpangan acak kurang dari b∆t, maka individu
tersebut melahirkan; jika lebih besar dari b∆t, maka individu tidak. Dengan N individu pada
waktu t, maka kita cukup menghitung penyimpangan N acak. Menghitung jumlah penyimpangan
acak kurang dari b∆t memungkinkan kita untuk memperbarui ukuran populasi ke waktu t + ∆t.
Untuk akurasi, mustt harus kecil, menjadikan ini metode yang lambat secara komputasional.

Namun, ada cara yang jauh lebih efisien untuk mensimulasikan pertumbuhan populasi.
Tentukan variabel acak τ = τ(N) menjadi waktu yang dibutuhkan suatu populasi untuk tumbuh
dari ukuran N ke ukuran N + 1 karena satu kelahiran. Variabel acak τ disebut waktu interevent
dan mewakili waktu yang telah berlalu antara kelahiran. Sebuah simulasi dari ukuran populasi N0
ukuran nilai acak yang berbeda dari τ, Nrelatif f akan kemudian hanya membutuhkan komputasi perhitungan mudah
dan cepat jika kita Nf tahu - N0 fungsi kepadatan probabilitas (pdf) dari τ.

Oleh karena itu, kami mendefinisikan P(τ) sebagai pdf dari τ untuk populasi berukuran
N. Fungsi distribusi kumulatif (cdf), F(τ), didefinisikan sebagai probabilitas bahwa waktu
interaksi kurang dari τ diberikan oleh

F(τ) = ∫ τ0 P(τ)dτ,
di mana P(τ) = F (τ). Fungsi distribusi kumulatif komplementer (ccdf), G(τ), didefinisikan
sebagai probabilitas bahwa waktu interevent lebih besar dari τ diberikan oleh G(τ) = 1 - F(τ).

Sekarang probabilitas bahwa waktu interevent lebih besar dari τ + ∆τ, dengan ∆τ kecil,
diberikan oleh probabilitas bahwa itu lebih besar dari τ kali probabilitas bahwa tidak ada
kelahiran dalam interval waktu ∆τ. Oleh karena itu, G(τ + ∆τ) memenuhi

G(τ + ∆τ) = G(τ) (1 - bN∆τ).

Membedakan G dan mengambil batas ∆τ → 0 menghasilkan persamaan diferensial


dGdτ = -bNG,

yang dapat diintegrasikan menggunakan kondisi awal G(0) = 1 untuk mendapatkan


G(τ) = e-bNτ.

Dari G(τ), kita dapat menemukanF(τ) = 1 - e-bNτ, P(τ) = bNe-bNτ. (3.32)


Pdf, P(τ), memiliki bentuk distribusi eksponensial dengan parameter bN.

Di sini, kita menggunakan hasil yang terkenal dari teori probabilitas yang memungkinkan
kita menghitung τ menggunakan penyimpangan acak. Dengan ya penyimpangan acak, τ dapat
dikomposisikan dari τ = F-1(y), di mana F-1 adalah fungsi kebalikan dari F. Rumus yang benar
untuk distribusi eksponensial adalah
. (3.33)
τ = -ln (1 - y) bN

Untuk mensimulasikan populasi yang tumbuh dari N0 ke Nf, kami menghitung Nf - N0 secara acak
mendefinisikan y, dan kemudian menghitung waktu interevent yang sesuai menggunakan (3.33),
berhati-hati untuk menyesuaikan ukuran populasi N sebagai populasi tumbuh.

Di bawah ini, kami menggambarkan fungsi MATLAB sederhana yang mensimulasikan


satu realisasi pertumbuhan populasi dari ukuran awal N0 hingga ukuran akhir Nf, dengan tingkat
kelahiran b.
fungsi [t, N] = populasi_growth_simulasi (b, N0, Nf)
% mensimulasikan pertumbuhan populasi dari N0 ke Nf dengan tingkat kelahiran b
N = N0: Nf;
y = rand (1, Nf-N0); % penyimpangan acak
tau = -log (1-y) ./ (b * N (1: Nf-N0)); % interevent times
t = [0 cumsum (tau)]; % jumlah kumulatif kali interevent

Fungsi populasi_growth_simulation.m dapat didorong oleh skrip MATLAB untuk menghitung


realisasi pertumbuhan populasi. Sebagai contoh, skrip berikut menghitung 25 realisasi untuk
pertumbuhan populasi dari 10 menjadi 100 dengan b = 1 dan plot semua realisasi:

% hitung realisasi nyata dan plot


b = 1; N0 = 10; Nf = 100;
nreal = 25;
untuk i = 1: nreal
[t, N] = populasi_growth_simulation (b, N0, Nf);
plot (t, N); tahan;
end
xlabel ('t'); ylabel ('N');

Gambar 3.1 menyajikan tiga grafik, menunjukkan 25 realisasi pertumbuhan populasi dimulai
dengan ukuran populasi 10, 100, dan 1000, dan berakhir dengan ukuran populasi faktor 10 lebih
besar. Perhatikan bahwa varians, relatif terhadap ukuran populasi awal, berkurang dengan
bertambahnya jumlah populasi awal, mengikuti hasil analisis kami (3,31).
50 0
0 1 2 3 (a) (b) 100
1000
N
N
500
0
0123t
(c)
t
10000
N
5000
0

0123t
Gambar 3.1: Dua puluh lima realisasi pertumbuhan populasi dengan ukuran populasi awal 10,
100, dan 1000, masing-masing dalam (a), (b), dan (c).

Anda mungkin juga menyukai