Ny famakafakana ny fahatsapana dia ampiasaina hamaritana ny fiantraikan'ny fitambaran'ny anton-javatra tsy miankina amin'ny fari-piainana miankina amin'ny fepetra sasany.
Fomba fiasa mahery vaika hamaritana ny fiantraikan'ny vokarin'ny modely amin'ny fampidiran'ny modely amin'ny ankapobeny. Amin'ity lahatsoratra ity, hanome topimaso haingana momba ny famakafakana ny fahatsapan-tena aho amin'ny fampiasana SALib, fonosana famakafakana ny fahatsapan'ny Python maimaim-poana.
Ny sanda isa fantatra amin'ny anarana hoe tondro fahatsapan-tena, dia maneho matetika ny fahatsapan'ny fampidirana tsirairay. Misy karazany maro ny indices sensitivity:
- Tondro filaharana voalohany: kajy ny fandraisan'anjaran'ny fampidiran'ny modely tokana amin'ny fiovaovan'ny vokatra.
- Fanondroana filaharana faharoa: kajy ny fandraisan'anjaran'ny fampidiran-dresaka modely roa amin'ny variana mivoaka.
- Tondron'ny filaharana manontolo: manombatombana ny fandraisan'anjaran'ny modelim-pidirana amin'ny fiovaovan'ny fivoahana, ahitana ny vokatry ny filaharana voalohany (miovaova irery ny fidirana) sy ny fifaneraserana ambony kokoa.
Inona no atao hoe SAlib?
SALib dia mifototra amin'ny Python Open-source fitaovana hanaovana fanombanana ny fahatsapana. Izy io dia manana workflow misaraka, izay midika fa tsy mifandray mivantana amin'ny maodely matematika na computational. Fa kosa, ny SALib dia miandraikitra ny famokarana ny fampidirana modely (amin'ny alalan'ny iray amin'ireo asa santionany) sy ny kajy ny tondro fahatsapan-tena (amin'ny alalan'ny iray amin'ireo fiasa analyse) avy amin'ny vokatra modely.
Ny famakafakana ny fahatsapan'ny SALib mahazatra dia misy dingana efatra:
- Farito ny fampidirana modely (parameter) sy ny isan'ny santionany ho an'ny tsirairay.
- Mba hamoronana fampidirana modely, tanteraho ny asa santionany.
- Tombanana ny modely amin'ny alàlan'ny fampidirana vokatra ary tehirizo ny valin'ny modely.
- Mba hanombanana ny mari-pamantarana fahatsapan-tena dia ampiasao ny fiasa analyse amin'ny vokatra.
Sobol, Morris, ary FAST dia vitsivitsy amin'ireo fomba famakafakana fahatsapan-tena nomen'ny SALib. Antony maro no misy fiantraikany amin'ny fomba fiasa mety indrindra amin'ny fampiharana iray, ho hitantsika any aoriana. Amin'izao fotoana izao, tadidio fa mila mampiasa asa roa fotsiny ianao, santionany sy mamakafaka, na inona na inona teknika ampiasainao. Hitarika anao amin'ny ohatra fototra iray izahay mba hanehoana ny fomba fampiasana ny SALib.
Ohatra SALib - Famakafakana ny fahatsapana Sobol
Amin'ity ohatra ity, hodinihintsika ny fahatsapan'i Sobol amin'ny fiasan'ny Ishigami, araka ny aseho etsy ambany. Noho ny tsy fisian'ny linearity sy ny tsy monotonicity, ny asa Ishigami dia ampiasaina betsaka hanombanana ny tsy fahazoana antoka sy ny fomba famakafakana ny fahatsapana.
Toy izao manaraka izao ny dingana:
1. Manafatra SAlib
Ny dingana voalohany dia ny manampy ireo tranomboky ilaina. Ny santionany sy ny famakafakana ny asan'ny SALib dia tazonina miavaka amin'ny maody Python. Ny fanafarana ny santionany amin'ny zanabolana sy ny asa famakafakana Sobol, ohatra, dia aseho eto ambany.
Mampiasa ny fiasa Ishigami ihany koa izahay, izay azo ampiasaina amin'ny asa fitsapana ao amin'ny SALib. Farany, manafatra NumPy izahay satria ampiasain'i SALib hitahiry ny fampidirana sy ny vokatra ao anaty matrix.
2. Model Input
Tokony hofaritana avy eo ny fampidirana modely. Ny fiasa Ishigami dia manaiky fampidirana telo: x1, x2, ary x3. Ao amin'ny SALib, manangana dict izahay izay mamaritra ny isan'ny fampidirana, ny anarany ary ny fetra amin'ny fidirana tsirairay, araka ny hita etsy ambany.
3. Mamorona Santionany sy ny Modely
Ny santionany dia avoaka avy eo. Mila mamorona santionany amin'ny fampiasana ny sampler Saltelli isika satria manao fanadihadiana momba ny fahatsapana Sobol. Amin'ity tranga ity, ny sanda param dia matrix NumPy. Azontsika jerena fa ny matrix dia 8000 amin'ny 3 amin'ny alàlan'ny fampandehanana param values.shape. Santionany 8000 no noforonina tamin'ny sampler Saltelli. Ny sampler Saltelli dia mamorona santionany, izay ny N dia 1024 (ny mari-pamantarana nomenay) ary ny D dia 3. (ny isan'ny fampidirana modely).
Araka ny voalaza teo aloha, ny SALib dia tsy mirotsaka amin'ny fanombanana modely matematika na computational. Raha nosoratana tamin'ny Python ny maodely, dia matetika ianao no mamakivaky ny santionany tsirairay ary manombana ny modely:
Ny santionany dia azo tehirizina amin'ny rakitra lahatsoratra raha tsy novolavolaina amin'ny Python ny modely:
Ny andalana tsirairay ao amin'ny param values.txt dia maneho fampidirana modely iray. Tokony hotehirizina amin'ny rakitra hafa amin'ny fomba mitovy amin'izany ny vokatra navoakan'ny modely, miaraka amin'ny vokatra iray isaky ny andalana. Aorian'izay, ny vokatra dia azo fehezina amin'ny:
Amin'ity ohatra ity dia hampiasa ny fiasa Ishigami avy amin'ny SALib isika. Ireo asa fitsapana ireo dia azo tombanana toy izao manaraka izao:
4. Manaova fanadihadiana
Afaka manisa ny mari-pamantarana fahatsapan-tena isika amin'ny farany aorian'ny fametrahana ny valin'ny modely amin'ny Python. Amin'ity ohatra ity, hampiasa ny sobol.analyze isika mba hanombanana ny tondro filaharana voalohany, faharoa ary manontolo.
Si dia rakibolana Python manana ny fanalahidy "S1", "S2", "ST", "S1 conf," "S2 conf," ary "ST conf." Ny fanalahidin'ny _conf dia mitazona ny elanelan'ny fahatokisana mifandray, izay apetraka amin'ny 95 isan-jato amin'ny ankapobeny. Mba hamoahana, ny indices rehetra dia ampiasao ny teny fanalahidy fanontana printy ho console=True. Raha tsy izany, araka ny aseho eto ambany, dia azontsika atao ny manonta ny soatoavina tsirairay avy amin'ny Si.
Hitantsika fa ny x1 sy ny x2 dia manana fahatsapana filaharana voalohany, saingy toa tsy misy fiantraikany amin'ny laharana voalohany ny x3.
Raha lehibe kokoa noho ireo tondro-nambaratonga voalohany ny tondro-kafatra manontolo, dia azo antoka fa misy ny fifaneraserana ambony kokoa. Afaka mahita ireo fifandraisana ambony kokoa ireo isika amin'ny fijerena ireo tondro misy laharana faharoa:
Azontsika jerena fa ny x1 sy ny x3 dia manana fifandraisana lehibe. Aorian'izay, ny valiny dia azo ovaina ho Pandas DataFrame ho an'ny fandalinana fanampiny.
5. Tetika
Ho an'ny fanamorana anao dia misy fitaovana fanaovana tabilao fototra. Ny asa plot() dia mamokatra zavatra matplotlib axis ho an'ny fanodinkodinana manaraka.
Famaranana
SALib dia fitaovana famakafakana saro-pady. Ny teknika hafa ao amin'ny SALib dia ahitana ny Fitsapana Fahatsapana Amplitude Fourier (FAST), Fomba Morris, ary Fandrefesana tsy miankina Delta-Moment. Na dia tranomboky Python aza izy io, dia natao hampiasaina amin'ny karazana modely rehetra.
SALib dia manolotra interface tsara andalana mora ampiasaina amin'ny famoronana fampidirana modely sy fanombanana ny vokatra modely. Zahao hoe SALib documentation hahafantatra bebe kokoa.
Leave a Reply