Table of Contents[Veşartin][Rêdan]
Analîza hestiyariyê ji bo destnîşankirina bandora komek faktorên serbixwe li ser guhêrbarek girêdayî di bin hin mercan de tê bikar anîn.
Ew nêzîkatiyek bihêz e ji bo destnîşankirina ka çawa hilberîna modelê ji hêla têketinên modelê ve bi gelemperî bandor dike. Di vê postê de, ez ê li ser analîza hestiyariyê bi karanîna SALib, pakêtek belaş a analîzkirina hestiyariyê ya Python, hûrguliyek bilez bidim.
Nirxek jimareyî ku wekî nîşana hesasiyetê tê zanîn, bi gelemperî hesasiyeta her ketinê temsîl dike. Gelek celeb nîşaneyên hestiyariyê hene:
- Indeksên rêza yekem: beşdariya têketina modelek yekane ya ji bo cûdahiya derketinê hesab dike.
- Indeksên rêza duyemîn: beşdariya du têketinên modelê li cihêrengiya derketinê hesab dike.
- Endeksa rêza tevayî: tevkariya têketina modelê ya ji bo cûdahiya derketinê dihejmêre, hem bandorên rêza yekem (veguhastina têketinê bi tenê) hem jî her danûstendinên rêza bilind vedihewîne.
SALib çi ye?
SALib bingehek Python e vekirî amûrek ji bo kirina nirxandinên hestiyariyê. Ew xwedan xebatek veqetandî ye, ku tê vê wateyê ku ew rasterast bi modela matematîkî an hesabkerî re têkilî nake. Di şûna wê de, SALib berpirsiyarê hilberandina têketinên modelê (bi riya yek ji fonksiyonên nimûne) û hesabkirina nîşaneyên hestiyariyê (bi yek ji fonksiyonên analîzê) ji derketinên modelê ye.
Analîzek hestiyariyê ya SALib ji çar gavan pêk tê:
- Têketinên modelê (parametre) û rêza nimûneyê ji bo her yekê diyar bikin.
- Ji bo afirandina têketinên modelê, fonksiyona nimûneyê bimeşînin.
- Modelê bi karanîna danûstendinên çêkirî binirxînin û encamên modelê hilînin.
- Ji bo hejmartina nîşaneyên hestiyariyê, fonksiyona analîzê ya li ser derketinan bikar bînin.
Sobol, Morris, û FAST tenê çend ji rêbazên analîzkirina hestiyariyê ne ku ji hêla SALib ve têne peyda kirin. Gelek faktor bandor dikin ka kîjan nêzîkatî ji bo serîlêdanek diyarkirî çêtirîn e, wekî ku em ê paşê bibînin. Heya nuha, ji bîr mekin ku hûn tenê hewce ne ku du fonksiyonan bikar bînin, nimûne û analîz bikin, bêyî ku hûn kîjan teknîkî bikar bînin. Em ê bi mînakek bingehîn rê bidin we da ku hûn çawa SALib bikar bînin nîşan bidin.
Mînak SALib - Analîza Hesasiya Sobol'
Di vê nimûneyê de, em ê hesasiya Sobol ya fonksiyona Ishigami, wekî ku li jêr tê xuyang kirin, lêkolîn bikin. Ji ber nehêlîbûn û nemonotonicbûna wê ya bilind, fonksiyona Ishigami bi berfirehî tê bikar anîn da ku metodolojiyên analîzkirina nezelaliyê û hesasiyetê binirxîne.
Pêngavên weha diçin:
1. Importing SALib
Pêngava yekem lê zêdekirina pirtûkxaneyên pêwîst e. Nimûne û fonksiyonên analîzkirina SALib di modulên Python de cihêreng têne girtin. Mînakî, hinartina nimûneya satelîtê û fonksiyonên analîzkirina Sobol, li jêr têne xuyang kirin.
Em fonksiyona Ishigami jî bikar tînin, ku di SALib de wekî fonksiyonek ceribandinê heye. Di dawiyê de, em NumPy vedigirin ji ber ku SALib wê bikar tîne da ku têketin û derketinên modelê di matrixê de hilîne.
2. Input Model
Dûv re pêdivî ye ku têketinên modelê bêne diyar kirin. Fonksiyona Ishigami sê ketinan qebûl dike: x1, x2, û x3. Di SALib de, em dîktatorek çêdikin ku wekî ku li jêr tê dîtin, hejmara têketin, navên wan, û sînorên li ser her têketinê diyar dike.
3. Nimûne û Modelê biafirînin
Dûv re nimûne têne çêkirin. Pêdivî ye ku em bi karanîna nimûneya Saltelli nimûneyan biafirînin ji ber ku em analîzek hestiyariya Sobol dikin. Di vê rewşê de, nirxên param matrixek NumPy ne. Em dikarin mêze bikin ku matrix 8000 bi 3 ye bi xebitandina param values.shape. 8000 nimûne bi nimûneya Saltelli hatin afirandin. Nimûneya Saltelli nimûneyan diafirîne, ku N 1024 e (pîvana ku me daye) û D 3 ye. (hejmara têketinên modelê).
Wekî ku berê hate gotin, SALib bi nirxandina modela matematîkî an hesabkerî ve mijûl nabe. Ger model di Python de hatî nivîsandin, hûn ê bi gelemperî her têketina nimûneyê bigerin û modelê binirxînin:
Heke model di Python-ê de neyê pêşve xistin, nimûne dikarin li pelek nivîsê werin hilanîn:
Her rêzek di param values.txt de yek têketina modelê temsîl dike. Divê hilberîna modelê li pelek din bi şêwazek wusa were hilanîn, li ser her rêzê yek derketin. Piştî vê yekê, hilberan dikarin werin barkirin:
Di vê nimûneyê de, em ê fonksiyona Ishigami ji SALib bikar bînin. Van fonksiyonên îmtîhanê dikarin wekî jêrîn bêne nirxandin:
4. Analîzê bikin
Em dikarin di dawiyê de piştî barkirina encamên modelê li Python, nîşaneyên hestiyariyê hesab bikin. Di vê nimûneyê de, em ê sobol.analyze bikar bînin da ku nîşaneyên yekem, duyemîn, û rêza tevayî hesab bikin.
Si ferhengek Python e ku bişkojkên "S1", "S2", "ST", "S1 conf", "S2 conf," û "ST conf" hene. Bişkojkên _conf navberên pêbaweriya têkildar digirin, ku bi gelemperî ji sedî 95 têne danîn. Ji bo derketinê, hemî nîşanan, pîvana peyva key print print to console=True bikar bînin. Wekî din, wekî ku li jêr tê destnîşan kirin, em dikarin nirxên kesane ji Si çap bikin.
Em dikarin bibînin ku x1 û x2 xwedan hestiyariya rêza yekem in, lê x3 xuya nake ku bandorên rêza yekem hebe.
Ger jimareyên rêza giştî bi girîngî ji pîvanên rêza yekem mezintir bin, bê guman danûstandinên rêza bilind pêk tên. Em dikarin van danûstendinên rêza bilindtir bi lênihêrîna nîşaneyên rêza duyemîn bibînin:
Em dikarin bibînin ku x1 û x3 têkiliyên girîng hene. Piştî wê, dibe ku encam ji bo lêkolînek din veguhere Pandas DataFrame.
5. Plankirin
Ji bo rehetiya we, tesîsên nexşeya bingehîn têne peyda kirin. Fonksiyona plot() ji bo manîpulasyonên paşîn tiştên eksê matplotlib çêdike.
Xelasî
SALib amûrek analîzkirina hestiyariyê ya sofîstîke ye. Teknîkên din ên di SALib de Testa Hesasiyeta Amplitude Fourier (FAST), Rêbaza Morris, û Pîvana Serbixwe ya Delta-Moment in. Dema ku ew pirtûkxaneyek Python e, armanc ew e ku bi her cûre modelan re bixebite.
SALib ji bo afirandina têketinên modelê û nirxandina derketinên modelê navgînek rêzika fermanê-karanîna hêsan pêşkêşî dike. Lêkolîn Belgekirina SALib ji bo hînbûna zêdetir.
Leave a Reply