నిర్దిష్ట పరిస్థితులలో ఆధారపడిన వేరియబుల్పై స్వతంత్ర కారకాల సేకరణ యొక్క ప్రభావాన్ని గుర్తించడానికి సున్నితత్వ విశ్లేషణ ఉపయోగించబడుతుంది.
సాధారణ పరంగా మోడల్ ఇన్పుట్ల ద్వారా మోడల్ అవుట్పుట్ ఎలా ప్రభావితమవుతుందో నిర్ణయించడానికి ఇది బలమైన విధానం. ఈ పోస్ట్లో, నేను ఉచిత పైథాన్ సెన్సిటివిటీ విశ్లేషణ ప్యాకేజీ అయిన SALibని ఉపయోగించి సున్నితత్వ విశ్లేషణ యొక్క శీఘ్ర అవలోకనాన్ని ఇస్తాను.
సున్నితత్వ సూచిక అని పిలువబడే సంఖ్యా విలువ, ప్రతి ఇన్పుట్ యొక్క సున్నితత్వాన్ని తరచుగా సూచిస్తుంది. అనేక రకాల సున్నితత్వ సూచికలు ఉన్నాయి:
- మొదటి-ఆర్డర్ సూచికలు: అవుట్పుట్ వైవిధ్యానికి ఒకే మోడల్ ఇన్పుట్ యొక్క సహకారాన్ని గణిస్తుంది.
- రెండవ-ఆర్డర్ సూచికలు: అవుట్పుట్ వ్యత్యాసానికి రెండు మోడల్ ఇన్పుట్ల సహకారాన్ని గణిస్తుంది.
- టోటల్-ఆర్డర్ ఇండెక్స్: అవుట్పుట్ వైవిధ్యానికి మోడల్ ఇన్పుట్ సహకారాన్ని అంచనా వేస్తుంది, ఫస్ట్-ఆర్డర్ ఎఫెక్ట్స్ (ఇన్పుట్ ఒంటరిగా హెచ్చుతగ్గులు) మరియు ఏదైనా అధిక-ఆర్డర్ ఇంటరాక్షన్లను కలిగి ఉంటుంది.
SALib అంటే ఏమిటి?
సాలిబ్ పైథాన్ ఆధారితమైనది ఓపెన్ సోర్స్ సున్నితత్వ అంచనాలు చేయడానికి టూల్కిట్. ఇది వేరు చేయబడిన వర్క్ఫ్లోను కలిగి ఉంది, అంటే ఇది గణిత లేదా గణన నమూనాతో నేరుగా సంకర్షణ చెందదు. బదులుగా, SALib మోడల్ ఇన్పుట్లను (నమూనా ఫంక్షన్లలో ఒకదాని ద్వారా) ఉత్పత్తి చేయడం మరియు మోడల్ అవుట్పుట్ల నుండి సున్నితత్వ సూచికలను (విశ్లేషణ ఫంక్షన్లలో ఒకదాని ద్వారా) గణించడం బాధ్యత వహిస్తుంది.
ఒక సాధారణ SALib సెన్సిటివిటీ విశ్లేషణ నాలుగు దశలను కలిగి ఉంటుంది:
- మోడల్ ఇన్పుట్లు (పారామితులు) మరియు ప్రతిదానికి నమూనా పరిధిని నిర్ణయించండి.
- మోడల్ ఇన్పుట్లను సృష్టించడానికి, నమూనా ఫంక్షన్ను అమలు చేయండి.
- ఉత్పత్తి చేయబడిన ఇన్పుట్లను ఉపయోగించి మోడల్ను మూల్యాంకనం చేయండి మరియు మోడల్ ఫలితాలను సేవ్ చేయండి.
- సున్నితత్వ సూచికలను గణించడానికి, అవుట్పుట్లపై విశ్లేషణ ఫంక్షన్ను ఉపయోగించండి.
సోబోల్, మోరిస్ మరియు ఫాస్ట్ అనేది SALib అందించిన కొన్ని సున్నితత్వ విశ్లేషణ పద్ధతుల్లో మాత్రమే. ఇచ్చిన అప్లికేషన్ కోసం ఏ విధానం ఉత్తమమైనదో అనేక అంశాలు ప్రభావితం చేస్తాయి, మనం తర్వాత చూద్దాం. ప్రస్తుతానికి, మీరు ఉపయోగించాల్సిన సాంకేతికతతో సంబంధం లేకుండా మీరు నమూనా మరియు విశ్లేషణ అనే రెండు ఫంక్షన్లను మాత్రమే ఉపయోగించాలని గుర్తుంచుకోండి. SALibని ఎలా ఉపయోగించాలో వివరించడానికి మేము ఒక ప్రాథమిక ఉదాహరణ ద్వారా మీకు మార్గనిర్దేశం చేస్తాము.
SALib ఉదాహరణ – సోబోల్ సున్నితత్వ విశ్లేషణ
ఈ ఉదాహరణలో, మేము క్రింద చూపిన విధంగా ఇషిగామి ఫంక్షన్ యొక్క సోబోల్ సున్నితత్వాన్ని పరిశీలిస్తాము. అధిక నాన్లీనియారిటీ మరియు నాన్మోనోటోనిసిటీ కారణంగా, ఇషిగామి ఫంక్షన్ అనిశ్చితి మరియు సున్నితత్వ విశ్లేషణ పద్ధతులను అంచనా వేయడానికి విస్తృతంగా ఉపయోగించబడుతుంది.
దశలు క్రింది విధంగా వెళ్తాయి:
1. SALibని దిగుమతి చేస్తోంది
అవసరమైన లైబ్రరీలను జోడించడం మొదటి దశ. SALib యొక్క నమూనా మరియు విశ్లేషణ విధులు పైథాన్ మాడ్యూల్స్లో ప్రత్యేకంగా ఉంచబడ్డాయి. ఉపగ్రహ నమూనా మరియు సోబోల్ విశ్లేషణ ఫంక్షన్లను దిగుమతి చేయడం, ఉదాహరణకు, క్రింద చూపబడింది.
మేము ఇషిగామి ఫంక్షన్ని కూడా ఉపయోగిస్తాము, ఇది SALibలో టెస్ట్ ఫంక్షన్గా అందుబాటులో ఉంది. చివరగా, మోడల్ ఇన్పుట్లు మరియు అవుట్పుట్లను మ్యాట్రిక్స్లో నిల్వ చేయడానికి SALib ఉపయోగిస్తున్నందున మేము NumPyని దిగుమతి చేస్తాము.
2. మోడల్ ఇన్పుట్
అప్పుడు మోడల్ ఇన్పుట్లను తప్పనిసరిగా నిర్వచించాలి. ఇషిగామి ఫంక్షన్ మూడు ఇన్పుట్లను అంగీకరిస్తుంది: x1, x2 మరియు x3. SALibలో, దిగువన చూసినట్లుగా, ఇన్పుట్ల సంఖ్య, వాటి పేర్లు మరియు ప్రతి ఇన్పుట్పై పరిమితులను పేర్కొనే డిక్ట్ను మేము నిర్మిస్తాము.
3. నమూనాలు మరియు నమూనాను రూపొందించండి
అప్పుడు నమూనాలు ఉత్పత్తి చేయబడతాయి. మేము సోబోల్ సెన్సిటివిటీ విశ్లేషణ చేస్తున్నందున మేము సాల్టెల్లి నమూనాను ఉపయోగించి నమూనాలను సృష్టించాలి. ఈ సందర్భంలో, పారామ్ విలువలు NumPy మాతృక. param values.shapeని అమలు చేయడం ద్వారా మాతృక 8000 బై 3 అని మనం గమనించవచ్చు. సాల్టెల్లి నమూనాతో 8000 నమూనాలు సృష్టించబడ్డాయి. సాల్టెల్లి నమూనా నమూనాలను సృష్టిస్తుంది, ఇక్కడ N 1024 (మేము అందించిన పరామితి) మరియు D 3. (మోడల్ ఇన్పుట్ల సంఖ్య).
గతంలో చెప్పినట్లుగా, SALib గణిత లేదా గణన నమూనా మూల్యాంకనంలో నిమగ్నమై లేదు. మోడల్ పైథాన్లో వ్రాయబడితే, మీరు సాధారణంగా ప్రతి నమూనా ఇన్పుట్ ద్వారా లూప్ చేసి మోడల్ను అంచనా వేస్తారు:
నమూనాను పైథాన్లో అభివృద్ధి చేయకుంటే నమూనాలను టెక్స్ట్ ఫైల్లో సేవ్ చేయవచ్చు:
param values.txtలోని ప్రతి పంక్తి ఒక మోడల్ ఇన్పుట్ని సూచిస్తుంది. మోడల్ యొక్క అవుట్పుట్ ప్రతి లైన్లో ఒక అవుట్పుట్తో సారూప్య శైలిలో మరొక ఫైల్లో సేవ్ చేయబడాలి. ఆ తర్వాత, అవుట్పుట్లు వీటితో లోడ్ చేయబడవచ్చు:
ఈ ఉదాహరణలో, మేము SALib నుండి Ishigami ఫంక్షన్ని ఉపయోగించబోతున్నాము. ఈ పరీక్ష విధులను ఈ క్రింది విధంగా మూల్యాంకనం చేయవచ్చు:
4. విశ్లేషణ జరుపుము
మోడల్ ఫలితాలను పైథాన్లోకి లోడ్ చేసిన తర్వాత మనం చివరకు సున్నితత్వ సూచికలను గణించవచ్చు. ఈ ఉదాహరణలో, మేము మొదటి, రెండవ మరియు మొత్తం-ఆర్డర్ సూచికలను గణించడానికి sobol.analyzeని ఉపయోగిస్తాము.
Si అనేది “S1,” “S2,” “ST,” “S1 conf,” “S2 conf,” మరియు “ST conf” కీలను కలిగి ఉన్న పైథాన్ నిఘంటువు. _conf కీలు అనుబంధిత విశ్వాస విరామాలను కలిగి ఉంటాయి, ఇవి సాధారణంగా 95 శాతానికి సెట్ చేయబడతాయి. అవుట్పుట్ చేయడానికి, అన్ని సూచికలు, కన్సోల్=ట్రూకి కీవర్డ్ పారామీటర్ ప్రింట్ని ఉపయోగించండి. ప్రత్యామ్నాయంగా, క్రింద వివరించిన విధంగా, మేము Si నుండి వ్యక్తిగత విలువలను ముద్రించవచ్చు.
x1 మరియు x2 ఫస్ట్-ఆర్డర్ సెన్సిటివిటీని కలిగి ఉన్నాయని మనం చూడవచ్చు, కానీ x3కి ఫస్ట్-ఆర్డర్ ప్రభావం కనిపించడం లేదు.
మొదటి-ఆర్డర్ సూచికల కంటే మొత్తం-ఆర్డర్ సూచికలు గణనీయంగా పెద్దగా ఉంటే, అధిక-ఆర్డర్ పరస్పర చర్యలు చాలా ఖచ్చితంగా జరుగుతాయి. రెండవ-ఆర్డర్ సూచికలను చూడటం ద్వారా మనం ఈ అధిక-ఆర్డర్ పరస్పర చర్యలను చూడవచ్చు:
x1 మరియు x3 ముఖ్యమైన పరస్పర చర్యలను కలిగి ఉన్నాయని మనం గమనించవచ్చు. ఆ తర్వాత, తదుపరి అధ్యయనం కోసం ఫలితం పాండాస్ డేటాఫ్రేమ్గా మార్చబడవచ్చు.
5. ప్లాటింగ్
మీ సౌలభ్యం కోసం, ప్రాథమిక చార్టింగ్ సౌకర్యాలు అందించబడ్డాయి. ప్లాట్() ఫంక్షన్ తదుపరి తారుమారు కోసం matplotlib అక్షం వస్తువులను ఉత్పత్తి చేస్తుంది.
ముగింపు
SALib అనేది ఒక అధునాతన సున్నితత్వ విశ్లేషణ టూల్కిట్. SALibలోని ఇతర సాంకేతికతలలో ఫోరియర్ యాంప్లిట్యూడ్ సెన్సిటివిటీ టెస్ట్ (ఫాస్ట్), మోరిస్ మెథడ్ మరియు డెల్టా-మొమెంట్ ఇండిపెండెంట్ మెజర్ ఉన్నాయి. ఇది పైథాన్ లైబ్రరీ అయితే, ఇది ఏ రకమైన మోడల్లతోనైనా పనిచేయడానికి ఉద్దేశించబడింది.
SALib మోడల్ ఇన్పుట్లను సృష్టించడానికి మరియు మోడల్ అవుట్పుట్లను అంచనా వేయడానికి ఉపయోగించడానికి సులభమైన కమాండ్-లైన్ ఇంటర్ఫేస్ను అందిస్తుంది. తనిఖీ చేయండి SALib డాక్యుమెంటేషన్ మరింత తెలుసుకోవడానికి.
సమాధానం ఇవ్వూ