Ayẹwo ifamọ ni a lo lati pinnu ipa ti ikojọpọ awọn ifosiwewe ominira lori oniyipada ti o gbẹkẹle labẹ awọn ipo kan.
O jẹ ọna ti o lagbara fun ṣiṣe ipinnu bi abajade awoṣe ṣe ni ipa nipasẹ awọn igbewọle awoṣe ni awọn ofin gbogbogbo. Ninu ifiweranṣẹ yii, Emi yoo fun atokọ ni iyara ti itupalẹ ifamọ nipa lilo SALib, package itupalẹ ifamọ Python ọfẹ kan.
Iye nomba ti a mọ si atọka ifamọ, nigbagbogbo duro fun ifamọ igbewọle kọọkan. Awọn oriṣi lọpọlọpọ ti awọn atọka ifamọ:
- Awọn atọka aṣẹ-akọkọ: ṣe iṣiro idasi ti igbewọle awoṣe ẹyọkan si iyatọ iṣejade.
- Awọn atọka aṣẹ-keji: ṣe iṣiro idasi ti awọn igbewọle awoṣe meji si iyatọ iṣejade.
- Atọka-pipaṣẹ lapapọ: ṣe iwọn idasi igbewọle awoṣe si iyatọ iṣejade, yika awọn ipa-ibere akọkọ mejeeji (igbewọle ti n yipada nikan) ati eyikeyi awọn ibaraenisepo aṣẹ-giga.
Kini SAlib?
SAlib jẹ orisun Python ìmọ-orisun ohun elo irinṣẹ fun ṣiṣe awọn igbelewọn ifamọ. O ni iṣan-iṣẹ ti o ya sọtọ, eyiti o tumọ si pe ko ṣe ajọṣepọ taara pẹlu mathematiki tabi awoṣe iṣiro. Dipo, SAlib wa ni idiyele ti iṣelọpọ awọn igbewọle awoṣe (nipasẹ ọkan ninu awọn iṣẹ apẹẹrẹ) ati iṣiro awọn itọka ifamọ (nipasẹ ọkan ninu awọn iṣẹ itupalẹ) lati awọn abajade awoṣe.
Ayẹwo ifamọ SAlib aṣoju kan ni awọn igbesẹ mẹrin:
- Ṣe ipinnu awọn igbewọle awoṣe (awọn paramita) ati iwọn ayẹwo fun ọkọọkan.
- Lati ṣẹda awọn igbewọle awoṣe, mu iṣẹ apẹẹrẹ ṣiṣẹ.
- Ṣe ayẹwo awoṣe nipa lilo awọn igbewọle ti ipilẹṣẹ ati fi awọn abajade awoṣe pamọ.
- Lati ṣe iṣiro awọn itọka ifamọ, lo iṣẹ itupalẹ lori awọn abajade.
Sobol, Morris, ati FAST jẹ diẹ ninu awọn ọna itupalẹ ifamọ ti a pese nipasẹ SALib. Ọpọlọpọ awọn okunfa ni ipa ọna wo ni o dara julọ fun ohun elo ti a fun, bi a yoo rii nigbamii. Fun akoko yii, ranti pe o nilo lati lo awọn iṣẹ meji nikan, apẹẹrẹ ati itupalẹ, laibikita ilana eyikeyi ti o lo. A yoo ṣe itọsọna fun ọ nipasẹ apẹẹrẹ ipilẹ kan lati ṣapejuwe bi o ṣe le lo SALib.
Apeere SAlib – Sobol 'Itupalẹ Ifamọ
Ni apẹẹrẹ yii, a yoo ṣe ayẹwo ifamọ Sobol ti iṣẹ Ishigami, bi a ṣe han ni isalẹ. Nitori ailorukọ rẹ giga ati aiṣedeede, iṣẹ Ishigami jẹ lilo pupọ lati ṣe iṣiro aidaniloju ati awọn ilana itupalẹ ifamọ.
Awọn igbesẹ lọ bi wọnyi:
1. Gbigbe SALib
Igbesẹ akọkọ ni lati ṣafikun awọn ile-ikawe ti o nilo. Ayẹwo ati awọn iṣẹ itupalẹ ti SAlib ti wa ni pato ni awọn modulu Python. Ṣe agbewọle ayẹwo satẹlaiti ati awọn iṣẹ itupalẹ Sobol, fun apẹẹrẹ, ti han ni isalẹ.
A tun lo iṣẹ Ishigami, eyiti o wa bi iṣẹ idanwo ni SAlib. Nikẹhin, a gbe NumPy wọle bi SALib ṣe nlo o lati tọju awọn igbewọle awoṣe ati awọn igbejade sinu matrix kan.
2. Awoṣe Input
Awọn igbewọle awoṣe gbọdọ lẹhinna jẹ asọye. Iṣẹ Ishigami gba awọn igbewọle mẹta: x1, x2, ati x3. Ni SAlib, a ṣe agbekalẹ dict kan ti o ṣalaye nọmba awọn igbewọle, awọn orukọ wọn, ati awọn opin lori titẹ sii kọọkan, bi a ti rii ni isalẹ.
3. Ṣe ina Awọn ayẹwo ati Awoṣe
Awọn ayẹwo lẹhinna wa ni ipilẹṣẹ. A nilo lati ṣẹda awọn ayẹwo ni lilo apẹẹrẹ Saltelli nitori a n ṣe itupalẹ ifamọ Sobol. Ni ọran yii, awọn iye param jẹ matrix NumPy kan. A le ṣe akiyesi pe matrix jẹ 8000 nipasẹ 3 nipasẹ ṣiṣe awọn iye param.shape. Awọn apẹẹrẹ 8000 ni a ṣẹda pẹlu apẹẹrẹ Saltelli. Oluyẹwo Saltelli ṣẹda awọn ayẹwo, nibiti N jẹ 1024 (paramita ti a pese) ati D jẹ 3. (nọmba awọn igbewọle awoṣe).
Gẹgẹbi a ti sọ tẹlẹ, SAlib ko ṣiṣẹ ni iṣiro tabi iṣiro awoṣe iṣiro. Ti a ba kọ awoṣe naa ni Python, iwọ yoo lo deede nipasẹ titẹ sii ayẹwo kọọkan ki o ṣe ayẹwo awoṣe naa:
Awọn ayẹwo le wa ni fipamọ si faili ọrọ ti awoṣe ko ba ni idagbasoke ni Python:
Laini kọọkan ni awọn iye param.txt duro fun igbewọle awoṣe kan. Ijade awoṣe yẹ ki o wa ni fipamọ si faili miiran ni iru ara, pẹlu abajade kan lori laini kọọkan. Lẹhin iyẹn, awọn abajade le jẹ ti kojọpọ pẹlu:
Ninu apẹẹrẹ yii, a yoo lo iṣẹ Ishigami lati SAlib. Awọn iṣẹ idanwo wọnyi le ṣe iṣiro bi atẹle:
4. Ṣe Analysis
A le nipari ṣe iṣiro awọn atọka ifamọ lẹhin ikojọpọ awọn abajade awoṣe sinu Python. Ni apẹẹrẹ yii, a yoo lo sobol.analyze lati ṣe iṣiro akọkọ, keji, ati awọn itọka aṣẹ-papapọ.
Si jẹ iwe-itumọ Python ti o ni awọn bọtini “S1,” “S2,” “ST,” “S1 conf,” “S2 conf,” ati “ST conf.” Awọn bọtini _conf di awọn aaye aarin igbẹkẹle ti o somọ, eyiti a ṣeto ni gbogbogbo si 95 ogorun. Lati jade, gbogbo awọn atọka, lo titẹ paramita ọrọ-ọrọ lati console=Otitọ. Ni omiiran, bi a ti ṣe apejuwe rẹ ni isalẹ, a le tẹjade awọn iye kọọkan lati Si.
A le rii pe x1 ati x2 ni ifamọ ibere akọkọ, ṣugbọn x3 ko han pe o ni awọn ipa-ibere akọkọ eyikeyi.
Ti awọn atọka-aṣẹ lapapọ ba tobi pupọ ju awọn atọka aṣẹ-akọkọ lọ, awọn ibaraenisepo aṣẹ ti o ga julọ dajudaju yoo waye. A le rii awọn ibaraenisepo aṣẹ-giga wọnyi nipa wiwo awọn itọka aṣẹ-keji:
A le ṣe akiyesi pe x1 ati x3 ni awọn ibaraẹnisọrọ to ṣe pataki. Lẹhin iyẹn, abajade le yipada si Pandas DataFrame fun iwadi siwaju sii.
5. Idite
Fun irọrun rẹ, awọn ohun elo charting ipilẹ ti pese. Idite () -iṣẹ fun wa matplotlib asulu ohun fun ọwọ ifọwọyi.
ipari
SAlib jẹ ohun elo irinṣẹ itupalẹ ifamọ ti o fafa. Awọn imọ-ẹrọ miiran ni SAlib pẹlu Idanwo Ifamọ Ifamọ Fourier (FAST), Ọna Morris, ati Iwọn Ominira Akoko Delta. Lakoko ti o jẹ ile-ikawe Python, o pinnu lati ṣiṣẹ pẹlu awọn awoṣe ti eyikeyi iru.
SAlib nfunni ni wiwo laini aṣẹ-rọrun-lati-lo fun ṣiṣẹda awọn igbewọle awoṣe ati iṣiro awọn igbejade awoṣe. Ṣayẹwo SAlib iwe aṣẹ lati ni imọ siwaju.
Fi a Reply