L-analiżi tas-sensittività tintuża biex tiddetermina l-impatt ta 'ġabra ta' fatturi indipendenti fuq varjabbli dipendenti taħt ċerti kundizzjonijiet.
Huwa approċċ b'saħħtu biex jiġi ddeterminat kif l-output tal-mudell jiġi affettwat mill-inputs tal-mudell f'termini ġenerali. F'din il-kariga, ser nagħti ħarsa ġenerali ta 'malajr tal-analiżi tas-sensittività billi tuża SALib, pakkett ta' analiżi tas-sensittività Python b'xejn.
Valur numeriku magħruf bħala l-indiċi tas-sensittività, ta' spiss jirrappreżenta s-sensittività ta' kull input. Hemm bosta tipi ta' indiċi ta' sensittività:
- Indiċijiet tal-ewwel ordni: jikkalkula l-kontribuzzjoni ta 'input ta' mudell wieħed għall-varjanza tal-output.
- Indiċi tat-tieni ordni: jikkalkula l-kontribuzzjoni ta 'żewġ inputs tal-mudell għall-varjanza tal-output.
- Indiċi tal-ordni totali: jikkwantifika l-kontribut ta' input mudell għall-varjanza tal-output, li jinkludi kemm l-effetti tal-ewwel ordni (l-input li jvarja waħdu) kif ukoll kwalunkwe interazzjoni ta' ordni ogħla.
X'inhu SALib?
SALib hija bbażata fuq Python open-source sett ta' għodda biex isiru valutazzjonijiet tas-sensittività. Għandu fluss tax-xogħol maqtugħ, li jfisser li ma jinteraġixxix direttament mal-mudell matematiku jew komputazzjoni. Minflok, SALib huwa inkarigat li jipproduċi l-inputs tal-mudell (permezz ta 'waħda mill-funzjonijiet tal-kampjun) u jikkalkula l-indiċijiet tas-sensittività (permezz ta' waħda mill-funzjonijiet ta 'analiżi) mill-outputs tal-mudell.
Analiżi tas-sensittività SALib tipika tikkonsisti f'erba 'passi:
- Iddetermina l-inputs tal-mudell (parametri) u l-firxa tal-kampjun għal kull wieħed.
- Biex toħloq inputs tal-mudell, ħaddem il-funzjoni tal-kampjun.
- Evalwa l-mudell billi tuża l-inputs iġġenerati u ssejvja r-riżultati tal-mudell.
- Biex tikkalkula l-indiċijiet tas-sensittività, uża l-funzjoni tanalizza fuq l-outputs.
Sobol, Morris, u FAST huma biss ftit mill-metodi ta 'analiżi tas-sensittività pprovduti minn SALib. Ħafna fatturi jinfluwenzaw liema approċċ huwa l-aħjar għal applikazzjoni partikolari, kif naraw aktar tard. Għalissa, żomm f'moħħok li għandek bżonn biss li tutilizza żewġ funzjonijiet, kampjun u tanalizza, irrispettivament minn kwalunkwe teknika li timpjega. Aħna ser niggwidawk permezz ta 'eżempju bażiku biex turi kif tuża SALib.
Eżempju SALib - Analiżi tas-Sensittività ta' Sobol
F'dan l-eżempju, se neżaminaw is-sensittività tas-Sobol tal-funzjoni Ishigami, kif muri hawn taħt. Minħabba n-nonlinearità għolja u n-nonmonotoniċità tagħha, il-funzjoni Ishigami tintuża ħafna biex tevalwa metodoloġiji ta 'analiżi ta' inċertezza u sensittività.
Il-passi jmorru kif ġej:
1. Importazzjoni SALib
L-ewwel pass huwa li żżid il-libreriji meħtieġa. Il-kampjuni u l-funzjonijiet ta 'analiżi ta' SALib jinżammu distinti fil-moduli Python. L-importazzjoni tal-kampjun tas-satellita u l-funzjonijiet ta 'analiżi ta' Sobol, pereżempju, tidher hawn taħt.
Aħna nużaw ukoll il-funzjoni Ishigami, li hija disponibbli bħala funzjoni tat-test f'SALib. Fl-aħħarnett, aħna jimportaw NumPy peress li SALib jużah biex jaħżen l-inputs u l-outputs tal-mudell f'matriċi.
2. Input tal-Mudell
L-inputs tal-mudell għandhom imbagħad jiġu definiti. Il-funzjoni Ishigami taċċetta tliet inputs: x1, x2, u x3. F'SALib, aħna nibnu dict li jispeċifika n-numru ta 'inputs, l-ismijiet tagħhom, u l-limiti fuq kull input, kif jidher hawn taħt.
3. Iġġenera Kampjuni u l-Mudell
Il-kampjuni mbagħad jiġu ġġenerati. Għandna bżonn noħolqu kampjuni bl-użu tal-kampjun Saltelli peress li qed nagħmlu analiżi tas-sensittività Sobol. F'dan il-każ, il-valuri tal-param huma matriċi NumPy. Nistgħu nosservaw li l-matriċi hija 8000 bi 3 billi nħaddmu param values.shape. Inħolqu 8000 kampjun bil-kampjun tas-Saltelli. Il-kampjun Saltelli joħloq kampjuni, fejn N huwa 1024 (il-parametru li pprovdejna) u D huwa 3. (in-numru ta 'inputs tal-mudell).
Kif intqal qabel, SALib mhuwiex involut fl-evalwazzjoni tal-mudell matematiku jew komputazzjonali. Jekk il-mudell huwa miktub f'Python, inti tipikament se tgħaddi minn kull input tal-kampjun u tivvaluta l-mudell:
Il-kampjuni jistgħu jiġu ssejvjati f'fajl ta' test jekk il-mudell ma jkunx żviluppat f'Python:
Kull linja f'param values.txt tirrappreżenta input mudell wieħed. L-output tal-mudell għandu jiġi ssejvjat f'fajl ieħor fi stil simili, b'output wieħed fuq kull linja. Wara dan, l-outputs jistgħu jiġu mgħobbija bi:
F'dan l-eżempju, se nużaw il-funzjoni Ishigami minn SALib. Dawn il-funzjonijiet tat-test jistgħu jiġu evalwati kif ġej:
4. Wettaq Analiżi
Fl-aħħar nistgħu nikkalkulaw l-indiċijiet tas-sensittività wara li tgħabbi r-riżultati tal-mudell f'Python. F'dan l-eżempju, se nużaw sobol.analyze biex nikkalkulaw l-ewwel, it-tieni u l-indiċi tal-ordni totali.
Si huwa dizzjunarju Python li għandu ċ-ċwievet "S1," "S2," "ST," "S1 conf," "S2 conf," u "ST conf." Iċ-ċwievet _conf iżommu l-intervalli ta 'kunfidenza assoċjati, li ġeneralment huma ssettjati għal 95 fil-mija. Biex toħroġ, l-indiċijiet kollha, uża l-parametru tal-kelma prinċipali print to console=True. Alternattivament, kif muri hawn taħt, nistgħu nipprintjaw il-valuri individwali minn Si.
Nistgħu naraw li x1 u x2 għandhom sensittività tal-ewwel ordni, iżda x3 ma jidhirx li għandu xi impatti tal-ewwel ordni.
Jekk l-indiċijiet tal-ordni totali huma akbar b'mod sinifikanti mill-indiċijiet tal-ewwel ordni, interazzjonijiet ta 'ordni ogħla żgur li qed iseħħu. Nistgħu naraw dawn l-interazzjonijiet ta 'ordni ogħla billi nħarsu lejn l-indiċi tat-tieni ordni:
Nistgħu nosservaw li x1 u x3 għandhom interazzjonijiet sinifikanti. Wara dan, ir-riżultat jista 'jiġi ttrasformat għal Pandas DataFrame għal aktar studju.
5. Plottjar
Għall-konvenjenza tiegħek, huma pprovduti faċilitajiet bażiċi tal-iċċartjar. Il-funzjoni plot() tipproduċi oġġetti matplotlib assi għal manipulazzjoni sussegwenti.
konklużjoni
SALib huwa sett ta' għodda ta' analiżi tas-sensittività sofistikata. Tekniki oħra f'SALib jinkludu t-Test ta' Sensittività tal-Amplitudità Fourier (FAST), il-Metodu Morris, u l-Miżura Indipendenti tad-Delta-Moment. Filwaqt li hija librerija Python, hija maħsuba biex topera ma 'mudelli ta' kull tip.
SALib joffri interface tal-linja tal-kmand faċli biex tużah għall-ħolqien ta' inputs tal-mudell u l-valutazzjoni tal-outputs tal-mudell. Iċċekkja Dokumentazzjoni SALib biex jitgħallmu aktar.
Ħalli Irrispondi