Uhlalutyo lwe-sensitivity lusetyenziselwa ukumisela impembelelo yengqokelela yezinto ezizimeleyo kwi-variable variable phantsi kweemeko ezithile.
Yindlela eyomeleleyo yokumisela ukuba imveliso yomfuziselo ichatshazelwa njani na ngamagalelo omzekelo ngokubanzi. Kule post, ndiza kunika umbono okhawulezayo wohlalutyo lobuntununtunu usebenzisa i-SALib, iphakheji yasimahla yokuhlalutya ubuntununtunu bePython.
Ixabiso lamanani elaziwa njengesalathiso sovakalelo, rhoqo limele uvakalelo lwegalelo ngalinye. Kukho iintlobo ezininzi zezalathisi zobuntununtunu:
- Izalathi zodidi lokuqala: ibala igalelo lomzekelo omnye wegalelo kwimveliso eyahlukileyo.
- Izalathi zodidi lwesibini: zibala igalelo leemodeli ezimbini zegalelo kwimveliso eyahlukileyo.
- Isalathiso se-odolo iyonke: silinganisa igalelo lomzekelo wegalelo kwimveliso eyahlukileyo, ebandakanya zombini iziphumo zomyalelo wokuqala (igalelo liguquguquka lodwa) kunye naluphi na unxibelelwano oluphezulu.
Yintoni iSALib?
SALib yiPython-based Vula Umnikezi isixhobo sokwenza uvavanyo lovakalelo. Inomsebenzi ovaliweyo, okuthetha ukuba ayinxibelelani ngokuthe ngqo nemodeli yezibalo okanye yokubala. Endaweni yoko, i-SALib ijongene nokuvelisa igalelo lemodeli (ngomnye wemisebenzi yesampulu) kunye nokubala izalathisi zobuntununtunu (ngeminye yemisebenzi yokuhlalutya) ukusuka kwiziphumo zemodeli.
Uhlalutyo oluqhelekileyo lovakalelo lwe-SALib lunamanyathelo amane:
- Qinisekisa amagalelo emodeli (iparamitha) kunye noluhlu lwesampulu nganye.
- Ukwenza amagalelo emodeli, sebenzisa isampulu umsebenzi.
- Vavanya imodeli usebenzisa amagalelo avelisiweyo kwaye ugcine iziphumo zemodeli.
- Ukubala izalathisi zobuntununtunu, sebenzisa umsebenzi wokuhlalutya kwiziphumo.
I-Sobol, i-Morris, kunye ne-FAST zimbalwa zeendlela zokuhlalutya uvakalelo olunikezwa yi-SALib. Izinto ezininzi zinempembelelo yeyiphi indlela efanelekileyo kwisicelo esinikiweyo, njengoko siza kubona kamva. Okwangoku, khumbula ukuba kufuneka usebenzise imisebenzi emibini kuphela, isampula kwaye uhlalutye, nokuba bubuphi na ubuchule obusebenzisayo. Siza kukukhokela kumzekelo osisiseko ukubonisa indlela yokusebenzisa i-SALib.
Umzekelo we-SALib – uHlahlelo lwe-Sensitivity ye-Sobol
Kulo mzekelo, siza kuhlolisisa i-Sobol 'ubuntununtunu bomsebenzi we-Ishigami, njengoko kuboniswe ngezantsi. Ngenxa yokungahambelani kwayo okuphezulu kunye ne-nonmonotonicity, umsebenzi we-Ishigami usetyenziswa ngokubanzi ukuvavanya ukungaqiniseki kunye neendlela zokuhlalutya uvakalelo.
Amanyathelo ahamba ngolu hlobo lulandelayo:
1. Ukungenisa ngaphandle kweSALib
Inyathelo lokuqala kukongeza amathala eencwadi afunekayo. Isampulu kunye nokuhlalutya imisebenzi ye-SALib igcinwa yahlukile kwiimodyuli zePython. Ukungenisa isampula yesathelayithi kunye nemisebenzi yokuhlalutya kweSobol, umzekelo, kuboniswe ngezantsi.
Sikwasebenzisa umsebenzi we-Ishigami, okhoyo njengomsebenzi wokuvavanya kwi-SALib. Okokugqibela, singenisa iNumPy njengoko i-SALib iyisebenzisa ukugcina amagalelo emodeli kunye neziphumo kwimatrix.
2. Igalelo leModeli
Amagalelo emodeli kufuneka emva koko achazwe. Umsebenzi we-Ishigami wamkela amagalelo amathathu: x1, x2, kunye no-x3. Kwi-SALib, sakha umyalelo ochaza inani lamagalelo, amagama abo, kunye nemida kwigalelo ngalinye, njengoko kubonwe ngezantsi.
3. Veza iiSampulu kunye neModeli
Iisampuli ziye zenziwe. Kufuneka senze iisampulu sisebenzisa i-sampler ye-Saltelli kuba sisenza uhlalutyo lwe-Sobol sensitivity. Kule meko, amaxabiso eparam yi-NumPy matrix. Sinokubona ukuba i-matrix yi-8000 ngo-3 ngokusebenzisa ixabiso le-param.shape. Iisampulu ezingama-8000 zenziwa kunye nesampulu ye-Saltelli. I-sampler ye-Saltelli yenza iisampulu, apho i-N yi-1024 (ipharamitha esiyinikezile) kunye no-D ngu-3. (inani lamagalelo emodeli).
Njengoko bekutshiwo ngaphambili, i-SALib ayibandakanyekanga kuvavanyo lwemodeli yezibalo okanye yokubala. Ukuba imodeli ibhaliwe kwiPython, uya kuthi gqi kwigalelo ngalinye lesampulu kwaye uvavanye imodeli:
Iisampulu zinokugcinwa kwifayile yokubhaliweyo ukuba imodeli ayiphuhliswanga kwiPython:
Umgca ngamnye kwi-param values.txt imele igalelo lomzekelo omnye. Imveliso yemodeli kufuneka igcinwe kwenye ifayile ngendlela efanayo, kunye nemveliso enye kumgca ngamnye. Emva koko, iziphumo zinokulayishwa nge:
Kulo mzekelo, siza kusebenzisa umsebenzi we-Ishigami ovela kwi-SALib. Le misebenzi yovavanyo inokuvavanywa ngolu hlobo lulandelayo:
4. Yenza uhlalutyo
Ekugqibeleni sinokubala izalathisi zovakalelo emva kokulayisha iziphumo zemodeli kwiPython. Kulo mzekelo, siya kusebenzisa i-sobol.analyze ukubala i-indices yokuqala, yesibini, kunye ne-totali ye-odolo.
Isi sisichazi-magama sePython esinamaqhosha “S1,” “S2,” “ST,” “S1 conf,” “S2 conf,” kunye “ST conf.” Izitshixo ze-_conf zibamba ukuzithemba okuhambelana nezithuba, ezibekwe ngokubanzi kuma-95 ekhulwini. Ukukhupha, zonke ii-indices, sebenzisa igama elingundoqo iparameter print to console=Yinyani. Kungenjalo, njengoko kubonisiwe ngezantsi, sinokuprinta amaxabiso omntu ngamnye kwiSi.
Siyabona ukuba u-x1 kunye no-x2 banobuntununtunu bomyalelo wokuqala, kodwa u-x3 akabonakali ngathi unazo naziphi na iimpembelelo zomyalelo wokuqala.
Ukuba ii-indices ze-odolo zizonke zikhulu kakhulu kune-indices zomyalelo wokuqala, unxibelelwano olunomgangatho ophezulu ngokuqinisekileyo luyenzeka. Sinokubona olu nxibelelwano luphezulu ngokujonga izalathi zomyalelo wesibini:
Sinokuqaphela ukuba u-x1 kunye no-x3 banonxibelelwano olubalulekileyo. Emva koko, isiphumo sinokutshintshwa sibe yiPandas DataFrame ukuze kuqhutyekwe nokufunda.
5. Ukuceba
Ukuze kube lula kuwe, izibonelelo ezisisiseko zeetshathi zibonelelwa. Iploti () umsebenzi uvelisa izinto ze-matplotlib ze-axis yohanahaniso olulandelayo.
isiphelo
I-SALib sisixhobo esiphucukileyo sokuhlalutya uvakalelo. Obunye ubuchule kwi-SALib bubandakanya uvavanyo lwe-Fourier Amplitude Sensitivity Test (FAST), Indlela kaMorris, kunye neDelta-Moment Independent Measure. Ngelixa ilayibrari yePython, yenzelwe ukusebenza ngeemodeli zalo naluphi na uhlobo.
I-SALib inikezela nge-interface yomgca womyalelo ekulula ukuyisebenzisa ukwenza amagalelo emodeli kunye nokuvavanya iziphumo zemodeli. Phuma Amaxwebhu eSALib Ukufunda kabanzi.
Shiya iMpendulo