Lab Analitik Bisnis CME Group Foundation

by Andrew Durrer

Source: https://www.rpubs.com/adurrer/bsadlab_08

1 Pendahuluan

Dalam percobaan ini, kita akan fokus pada analisis sensitivitas dan simulasi Monte Carlo

Analisi sensitivitas adalah studi tentang bagaimana ketidakpastian dalam keluaran model matematika atau sistem (numerik dan lainnya) dapat dibagi ke berbagai sumber ketidakpastian dalam masukannya. Kita akan menggunakan packages dalam R yang bernama lpSolveAPI.

Simulasi Monte Carlo menggunakan pengambilan sampel acak berulang dari keseluruhan atau populasi tertentu untuk mendapatkan hasil tertentu. Jenis simulasi ini dikenal sebagai simulasi probabilistik, bukan simulasi deterministik.

Contoh dari Simulasi Monte Carlo adalah yang diterapkan untuk memperkirakan nilai pi. Simulasi ini didasarkan pada menghasilkan titik acak dalam satuan persegi dan melihat berapa banyak titik yang berada dalam lingkaran yang dikelilingi oleh satuan persegi (ditandai dengan warna merah). Semakin tinggi jumlah titik sampel, semakin dekat hasilnya dengan hasil sebenarnya. Setelah memilih 30.000 titik acak, perkiraan untuk pi menjadi lebih dekat dengan nilai sebenarnya dalam ketelitian empat titik desimal.

Dalam percobaan ini, kita akan mempelajari cara menghasilkan sampel acak dengan berbagai simulasi dan cara menjalankan analisis sensitivitas pada kasus penggunaan pemasaran yang dibahas.

2 Setup

Ingatlah untuk selalu mengatur direktori kerja kalian ke lokasi sumber file. Pergi ke “Session”, scroll ke bawah, lalu pilih “Set Working Directory”, dan klik “To Source File Location”. Baca dengan hati-hati dibawah ini dan ikuti instruksi untuk menyelesaikan tugas dan menjawab pertanyaan apapun. Kirimkan hasil pekerjaan Anda ke RPubs.

3 Bagian A: Analisis Sensitivitas

Untuk melakukan analisis sensitivitas, kita perlu menginstall packages lpSolveAPI, kita tidak perlu menginstall packages jika kita sudah menginstall nya dalam R kita masing-masing.

Kita akan meninjau kembali dan menyelesaikan lagi kasus pemasaran yang dibahas (juga dalam percobaan sebelumnya).

## Model name: 
##                C1       C2            
## Maximize  275.691   48.341            
## R1              1        1  <=  350001
## R2              1        0  >=   15000
## R3              0        1  >=   75000
## R4              2       -1   =       1
## R5              1        0  >=       0
## R6              0        1  >=       0
## Kind          Std      Std            
## Type         Real     Real            
## Upper         Inf      Inf            
## Lower           0        0
## [1] 0
## [1] 43443717
## [1] 116667.3 233333.7

Untuk bagian sensitivitas, kita akan menambahkan dua bagian coding baru untuk mendapatkan hasil sensitivitas.

## $objfrom
## [1]  -96.6820 -137.8455
## 
## $objtill
## [1] 1e+30 1e+30

3.1 Tugas 1

Hasil yang didapat terdiri dari dua bagian yaitu: keluaran berlabel objfrom menunjukkan batas bawah dari koefisien sedangkan keluaran berlabel objtill menunjukkan batas atas. Jelaskan secara bersamaan apa yang diwakili oleh hasil sensitivitas dengan mengacu pada model pemasaran.

3.1.1 Jawaban tugas 1

objfrom menunjukkan berapa angka terendah dari setiap variabel, agar dari persamaan dapat dipenuhi tanpa perlu dioptimalkan dan objtill adalah angka yang sangat besar.

## $duals
## [1] 124.12433   0.00000   0.00000  75.78333   0.00000   0.00000   0.00000
## [8]   0.00000
## 
## $dualsfrom
## [1]  1.125005e+05 -1.000000e+30 -1.000000e+30 -3.050010e+05 -1.000000e+30
## [6] -1.000000e+30 -1.000000e+30 -1.000000e+30
## 
## $dualstill
## [1] 1.00000e+30 1.00000e+30 1.00000e+30 4.75002e+05 1.00000e+30 1.00000e+30
## [7] 1.00000e+30 1.00000e+30

3.2 Tugas 2

Untuk latihan ini kita hanya tertarik pada bagian pertama dari keluaran yang diberi duals label. Jelaskan secara bersamaan apa yang diwakili oleh dua hasil sensitivitas bukan nol. Dalam jawaban Anda, bedakan antara batasan yang mengikat dan tidak mengikat, dan sertakan penjelasan tentang kelebihan atau kekurangan, dan nilai-nilai marjinal.

3.2.1 Jawaban tugas 2

Hasil bukan nol mewakili kendala yang tidak mengikat, yang berarti bahwa saat varibale meningkat, solusi optimal tidak terpengaruh. Dengan kata lain memiliki kelonggaran untuk “bergerak”, sementara batasan pengikatan terbatas dan akan mempengaruhi solusi optimal jika ditingkatkan. Ini juga berarti bahwa ada nilai marjinal jika terikat dan oleh karena itu dipengaruhi oleh perubahan tersebut.

Untuk memperoleh pemahaman yang lebih baik tentang hasil sensitivitas, dan untuk memastikan integritas kalkulasi, uji independen dapat dilakukan.

3.3 Tugas 3

Jalankan pemecah program linier lagi mulai dari awal, dengan mendefinisikan objek model baru lpmark1. Semuanya sama, ubah batasan anggaran hanya dengan \(\$1\) dan selesaikan. Secara spesifik, semua sama, ubah batasan pertama \(X1 + X2 \leq 350000\) hanya dengan \(\$1\) sehingga batasan baru akan menjadi \(X1 + X2 \leq 350001\). Catat nilai optimal untuk penjualan seperti yang diberikan oleh fungsi tujuan. 43443641

3.4 Tugas 4

Hitung perubahan diferensial dalam penjualan. Bagikan pengamatan Anda.

3.4.1 Jawaban tugas 4

  1. Saya tidak melihat perubahan dalam penjualan

3.5 Tugas 5

Menjalankan pemecah program linier lagi mulai dari awal, dengan mendefinisikan objek model baru lpmark2. Semua dianggap sama, ubah batasan keempat \(2X_1 - X_2 = 0\) dengan hanya \(\$1\) dan selesaikan. Batasan baru akan menjadi \(2X_1 - X_2 = 1\). Catat nilai optimal untuk penjualan seperti yang diberikan oleh fungsi tujuan.

3.6 Tugas 6

Hitung perubahan diferensial dalam penjualan. Bagikan pengamatan Anda.

3.6.1 Jawaban tugas 6

  1. Perbedaan meningkat antara lpmark1 dan proses ini.

4 Bagian B: Simulasi Monte Carlo

Untuk tugas ini kita akan menjalankan simulasi Monte Carlo untuk menghitung probabilitas bahwa pengembalian harian dari S&P akan > 5%. Kami akan mengasumsikan bahwa laba harian S&P historis mengikuti distribusi normal dengan pengembalian harian rata-rata 0,03 (%) dan deviasi standar 0,97 (%).

Untuk memulai, kami akan menghasilkan 100 sampel acak dari distribusi normal. Untuk sampel yang dibangkitkan kita akan menghitung mean, standar deviasi, dan probabilitas kejadian dimana hasil simulasi lebih besar dari 5%.

Untuk menghasilkan sampel acak dari distribusi normal kita akan menggunakan fungsi rnorm ()di R. Dalam contoh di bawah ini kita menetapkan jumlah proses (atau sampel) menjadi 100.

## [1] 0.03561612
## [1] 0.974095
## [1] 0.4939

4.1 Tugas 7

Ulangi kalkulasi di atas untuk kasus dimana jumlah simulasi / sampel sama dengan 1000. Catat mean, standar deviasi, dan probabilitas. Beri nama semua variabel yang diperlukan sebagai run1, sims1, average1, std1, dan prob1.

4.2 Tugas 8

Ulangi kalkulasi di atas untuk kasus di mana jumlah simulasi atau sampel sama dengan 10000. Catat mean, stnadar deviasi, dan probabilitas. Beri nama semua variabel yang diperlukan sebagai run2, sims2, average2, std2, dan prob2.

4.3 Tugas 9

Buat daftar dalam bentuk tabel nilai mean, standar deviasi, dan probabilitas untuk ketiga kasus: simulasi 100, 1000, dan 10000.

4.3.1 Jawaban tugas 9

mean -.0205 .02989 .02195 sd .995 .9843 .9624 prob .457 .491 .4855

4.4 Tugas 10

Jelaskan bagaimana nilai berubah / berperilaku seiring bertambahnya jumlah simulasi. Apa taruhan terbaik Anda untuk kemungkinan terjadinya lebih besar dari 5% dan mengapa? Bagaimana ini mirip dengan kasus penggunaan gambar untuk menghitung pi yang disajikan di paragraf pengantar?

4.4.1 Jawaban tugas 10

Secara umum, semakin banyak simulasi, semakin akurat prediksinya sehingga standar deviasi menjadi lebih ketat dan probabilitas meningkat seiring waktu. Sekitar separuh waktu pengembalian lebih besar dari 5%. Ini serupa dalam arti bahwa semakin banyak varibales yang ditambahkan, semakin akurat predisinya dan semakin representatif angkanya di dunia nyata.