Bab lan Paragraf[Singidaken][Tampilake]
Analisis sensitivitas digunakake kanggo nemtokake pangaruh saka kumpulan faktor independen ing variabel gumantung ing kahanan tartamtu.
Iki minangka pendekatan sing kuat kanggo nemtokake cara output model dipengaruhi dening input model ing istilah umum. Ing kirim iki, aku bakal menehi ringkesan cepet analisis sensitivitas nggunakake SALib, paket analisis sensitivitas Python gratis.
Nilai numerik sing dikenal minangka indeks sensitivitas, asring nuduhake sensitivitas saben input. Ana sawetara jinis indeks sensitivitas:
- Indeks urutan pertama: ngitung kontribusi input model siji kanggo varians output.
- Indeks urutan kapindho: ngitung kontribusi saka rong input model kanggo varians output.
- Indeks urutan total: ngitung kontribusi input model kanggo varians output, nyakup efek urutan pertama (input sing fluktuasi dhewe) lan interaksi urutan sing luwih dhuwur.
Apa SALib?
SALib punika Python basis Open-sumber toolkit kanggo nindakake taksiran sensitivitas. Nduwe alur kerja sing suwek, tegese ora sesambungan langsung karo model matematika utawa komputasi. Nanging, SALib tanggung jawab kanggo ngasilake input model (liwat salah sawijining fungsi sampel) lan ngitung indeks sensitivitas (liwat salah sawijining fungsi analisis) saka output model.
Analisis sensitivitas SALib sing khas dumadi saka patang langkah:
- Nemtokake input model (parameter) lan kisaran sampel kanggo saben.
- Kanggo nggawe input model, jalanake fungsi sampel.
- Evaluasi model nggunakake input sing digawe lan simpen asil model.
- Kanggo ngitung indeks sensitivitas, gunakake fungsi analisis ing output.
Sobol, Morris, lan FAST mung sawetara cara analisis sensitivitas sing diwenehake dening SALib. Akeh faktor sing mengaruhi pendekatan sing paling apik kanggo aplikasi tartamtu, kaya sing bakal kita deleng mengko. Saiki, elinga yen sampeyan mung kudu nggunakake rong fungsi, conto lan nganalisa, preduli saka teknik apa wae sing sampeyan gunakake. Kita bakal nuntun sampeyan conto dhasar kanggo nggambarake carane nggunakake SALib.
Tuladha SALib – Analisis Sensitivitas Sobol
Ing conto iki, kita bakal nliti sensitivitas Sobol saka fungsi Ishigami, minangka kapacak ing ngisor iki. Amarga nonlinier lan nonmonotonisitas sing dhuwur, fungsi Ishigami digunakake kanggo ngevaluasi metodologi analisis ketidakpastian lan sensitivitas.
Langkah-langkah kasebut kaya ing ngisor iki:
1. Ngimpor SAlib
Langkah pisanan yaiku nambah perpustakaan sing dibutuhake. Sampel lan analisa fungsi SALib tetep beda ing modul Python. Ngimpor conto satelit lan fungsi nganalisa Sobol, contone, kapacak ing ngisor iki.
Kita uga nggunakake fungsi Ishigami, sing kasedhiya minangka fungsi test ing SALib. Pungkasan, kita ngimpor NumPy amarga SALib digunakake kanggo nyimpen input lan output model ing matriks.
2. Model Input
Input model banjur kudu ditetepake. Fungsi Ishigami nampa telung input: x1, x2, lan x3. Ing SALib, kita mbangun dict sing nemtokake jumlah input, jeneng, lan watesan ing saben input, kaya sing katon ing ngisor iki.
3. Generate Samples lan Model
Sampel kasebut banjur digawe. Kita kudu nggawe conto nggunakake Saltelli sampler amarga kita nindakake analisis sensitivitas Sobol. Ing kasus iki, nilai param minangka matriks NumPy. Kita bisa mirsani sing matriks 8000 dening 3 dening mbukak nilai param.shape. 8000 conto digawe karo Saltelli sampler. Saltelli sampler nggawe conto, ngendi N 1024 (parameter kita nyedhiyani) lan D punika 3. (jumlah input model).
Kaya sing wis kasebut sadurunge, SALib ora melu evaluasi model matematika utawa komputasi. Yen model ditulis nganggo Python, sampeyan biasane bakal ngubengi saben input sampel lan netepake model kasebut:
Sampel bisa disimpen menyang file teks yen model ora dikembangake ing Python:
Saben baris ing param values.txt nggantosi siji input model. Output model kudu disimpen menyang file liyane kanthi gaya sing padha, kanthi siji output ing saben baris. Sawisé iku, output bisa dimuat karo:
Ing conto iki, kita bakal nggunakake fungsi Ishigami saka SALib. Fungsi tes kasebut bisa dievaluasi kaya ing ngisor iki:
4. Nindakake Analisis
Kita pungkasane bisa ngetung indeks sensitivitas sawise ngemot asil model menyang Python. Ing conto iki, kita bakal nggunakake sobol.analyze kanggo ngitung indeks urutan pisanan, kaloro, lan total.
Si minangka kamus Python sing nduweni tombol "S1," "S2," "ST," "S1 conf," "S2 conf," lan "ST conf." Tombol _conf nahan interval kapercayan sing gegandhengan, sing umume disetel dadi 95 persen. Kanggo output, kabeh indeks, gunakake print parameter tembung kunci kanggo console=True. Utawa, kaya sing digambarake ing ngisor iki, kita bisa nyithak nilai individu saka Si.
Kita bisa ndeleng manawa x1 lan x2 duwe sensitivitas urutan pertama, nanging x3 katon ora duwe pengaruh urutan pertama.
Yen indeks urutan total luwih gedhe tinimbang indeks urutan pertama, interaksi urutan sing luwih dhuwur mesthi kedadeyan. Kita bisa ndeleng interaksi sing luwih dhuwur iki kanthi ndeleng indeks urutan kapindho:
Kita bisa mirsani yen x1 lan x3 duwe interaksi sing signifikan. Sawise iku, asil bisa diowahi dadi Pandas DataFrame kanggo sinau luwih lanjut.
5. Plot
Kanggo penak, fasilitas charting dhasar kasedhiya. Fungsi plot () ngasilake obyek sumbu matplotlib kanggo manipulasi sabanjure.
kesimpulan
SALib minangka toolkit analisis sensitivitas sing canggih. Teknik liyane ing SALib kalebu Uji Sensitivitas Amplitudo Fourier (FAST), Metode Morris, lan Ukur Independen Delta-Momen. Nalika iku perpustakaan Python, iku dimaksudaké kanggo operate karo model saka sembarang jenis.
SALib nawakake antarmuka baris perintah sing gampang digunakake kanggo nggawe input model lan ngevaluasi output model. Deloken dokumentasi SALib kanggo mangerteni sing luwih lengkap.
Ninggalake a Reply