حساسيت جي تجزيي کي استعمال ڪيو ويندو آهي اثر جو تعين ڪرڻ لاءِ آزاد فڪٽرن جي مجموعن جي اثر کي انحصار متغير تي ڪجهه حالتن هيٺ.
اهو طئي ڪرڻ لاءِ هڪ مضبوط طريقو آهي ته ڪيئن ماڊل جي پيداوار تي اثر انداز ٿئي ٿو ماڊل جي ان پٽس طرفان عام اصطلاحن ۾. هن پوسٽ ۾، آئون SALib استعمال ڪندي حساسيت جي تجزيي جو هڪ تڪڙو جائزو ڏيندس، هڪ مفت پٿون حساسيت تجزيو پيڪيج.
هڪ عددي قدر جنهن کي حساسيت انڊيڪس طور سڃاتو وڃي ٿو، اڪثر ڪري هر ان پٽ جي حساسيت جي نمائندگي ڪري ٿو. حساسيت جي اشارن جا ڪيترائي قسم آھن:
- فرسٽ آرڊر انڊيڪس: حساب ڪري ٿو ھڪڙي ھڪڙي ماڊل ان پٽ جي مدد کي آئوٽ ويرينس ۾.
- سيڪنڊ-آرڊر انڊيڪس: حساب ڪري ٿو ٻن ماڊل انپٽس جي مدد کي ٻاھر ڪڍڻ ۾.
- ڪُل-آرڊر انڊيڪس: هڪ ماڊل ان پٽ جي مدد کي مقدار ۾ آڻي ٿو آئوٽ پُٽ ويرينس ۾، ٻنهي کي شامل ڪري فرسٽ آرڊر اثرات (اڪيلو انپٽ fluctuating) ۽ ڪنهن به اعليٰ آرڊر واري ڳالهه ٻولهه.
SALib ڇا آهي؟
سالب هڪ Python تي ٻڌل آهي کليل ذريعو حساسيت جو جائزو وٺڻ لاءِ اوزار. اهو هڪ الڳ ڪم فلو آهي، جنهن جو مطلب آهي ته اهو سڌو سنئون رياضياتي يا ڪمپيوٽيشنل ماڊل سان رابطو نٿو ڪري. ان جي بدران، SALib ماڊل انپٽس پيدا ڪرڻ جو انچارج آهي (هڪ نموني فنڪشن ذريعي) ۽ حساسيت انڊيڪس (تجزيي جي ڪمن مان هڪ ذريعي) ماڊل آئوٽ پُٽ مان.
هڪ عام SALib حساسيت جو تجزيو چار مرحلن تي مشتمل آهي:
- ماڊل انپٽس (پيراميٽرز) ۽ هر هڪ لاء نموني جي حد جو اندازو لڳايو.
- ماڊل انپٽس ٺاهڻ لاءِ، نموني فنڪشن کي هلائڻ.
- ٺاهيل انپٽس استعمال ڪندي ماڊل جو جائزو وٺو ۽ ماڊل جا نتيجا محفوظ ڪريو.
- حساسيت جي انگن اکرن کي ڳڻڻ لاء، تجزيو فنڪشن استعمال ڪريو نتيجن تي.
Sobol، Morris، ۽ FAST صرف SALib پاران مهيا ڪيل حساسيت تجزيي طريقن مان ڪجھ آھن. ڪيترن ئي عنصر تي اثر انداز ٿئي ٿو ته ڪهڙي طريقي سان ڏنل ايپليڪيشن لاء بهترين آهي، جيئن اسان بعد ۾ ڏسنداسين. هن وقت تائين، ذهن ۾ رکو ته توهان کي صرف ٻه افعال استعمال ڪرڻ جي ضرورت آهي، نموني ۽ تجزيو، بغير ڪنهن به ٽيڪنڪ جي توهان استعمال ڪيو. اسان توھان جي ھدايت ڪنداسين ھڪڙي بنيادي مثال ذريعي بيان ڪرڻ لاءِ ته SALib کي ڪيئن استعمال ڪجي.
SALib مثال - سوبول حساسيت جو تجزيو
هن مثال ۾، اسان Ishigami فنڪشن جي سوبول جي حساسيت کي جانچ ڪنداسين، جيئن هيٺ ڏيکاريل آهي. ان جي اعلي nonlinearity ۽ nonmonotonicity جي ڪري، Ishigami فنڪشن وڏي پيماني تي غير يقيني صورتحال ۽ حساسيت جي تجزيي جي طريقن جو جائزو وٺڻ لاء استعمال ڪيو ويندو آهي.
قدم هن ريت آهن:
1. سالب کي درآمد ڪرڻ
پهريون قدم گهربل لائبريرين کي شامل ڪرڻ آهي. SALib جو نمونو ۽ تجزيو افعال پٿون ماڊلز ۾ الڳ رکيا ويا آھن. سيٽلائيٽ جو نمونو درآمد ڪرڻ ۽ سوبول تجزيي افعال، مثال طور، هيٺ ڏيکاريل آهي.
اسان پڻ استعمال ڪندا آهيون Ishigami فنڪشن، جيڪو SALib ۾ ٽيسٽ فنڪشن جي طور تي دستياب آهي. آخرڪار، اسان NumPy کي درآمد ڪندا آهيون جيئن SALib ان کي استعمال ڪري ٿو ماڊل ان پٽ ۽ آئوٽ پُٽ کي ميٽرڪس ۾ محفوظ ڪرڻ لاءِ.
2. ماڊل ان پٽ
ان کان پوء ماڊل ان پٽ جي وضاحت ڪئي وڃي. Ishigami فنڪشن قبول ڪري ٿو ٽي ان پٽ: x1، x2، ۽ x3. SALib ۾، اسان هڪ ڊڪٽ ٺاهيندا آهيون جيڪو بيان ڪري ٿو ان پٽن جو تعداد، انهن جا نالا، ۽ هر ان پٽ تي حدون، جيئن هيٺ ڏجي ٿو.
3. نموني ۽ ماڊل ٺاھيو
پوءِ نمونا ٺاهيا ويندا. اسان کي سلٽيلي نموني استعمال ڪندي نموني ٺاهڻ جي ضرورت آهي ڇو ته اسان سوبول حساسيت جو تجزيو ڪري رهيا آهيون. ھن حالت ۾، پرم قدر ھڪڙو NumPy ميٽرڪس آھن. اسان مشاهدو ڪري سگھون ٿا ته ميٽرڪس 8000 by 3 آهي param values.shape هلائڻ سان. 8000 نمونا سالٽيلي نموني سان ٺاهيا ويا. سالٽيلي نموني نموني ٺاهي ٿو، جتي N 1024 آهي (پيراميٽر جيڪو اسان مهيا ڪيو آهي) ۽ D آهي 3. (ماڊل انپٽس جو تعداد).
جيئن اڳ بيان ڪيو ويو آهي، SALib رياضياتي يا ڪمپيوٽيشنل ماڊل جي تشخيص ۾ مصروف ناهي. جيڪڏهن ماڊل Python ۾ لکيل آهي، توهان عام طور تي هر نموني ان پٽ ذريعي لوپ ڪندا ۽ ماڊل جو اندازو لڳايو:
نمونن کي ٽيڪسٽ فائل ۾ محفوظ ڪري سگھجي ٿو جيڪڏهن ماڊل پٿون ۾ ترقي نه ڪئي وئي آهي:
param values.txt ۾ هر لڪير هڪ ماڊل ان پٽ جي نمائندگي ڪري ٿي. ماڊل جي آئوٽ کي ٻئي فائل ۾ محفوظ ڪيو وڃي ساڳي انداز ۾، هر لڪير تي هڪ آئوٽ سان. ان کان پوء، پيداوار سان لوڊ ٿي سگھي ٿو:
هن مثال ۾، اسان استعمال ڪرڻ وارا آهيون Ishigami فنڪشن SALib کان. انهن امتحاني ڪمن جو اندازو هن ريت ڪري سگهجي ٿو:
4. تجزيو انجام ڏيو
اسان آخرڪار حساسيت انڊيڪس کي حساب ڪري سگھون ٿا ماڊل لوڊ ڪرڻ کان پوءِ Python ۾. هن مثال ۾، اسان استعمال ڪنداسين sobol.analyze پهرين، سيڪنڊ، ۽ ڪل-آرڊر انڊيڪس کي ڳڻڻ لاءِ.
Si هڪ Python ڊڪشنري آهي جنهن ۾ ڪنجيون آهن “S1,” “S2,” “ST,” “S1 conf,” “S2 conf,” and “ST conf.” _conf چاٻيون لاڳاپيل اعتماد جي وقفن کي رکنديون آهن، جيڪي عام طور تي 95 سيڪڙو تي مقرر ڪيا ويا آهن. ٻاھر ڪڍڻ لاءِ، سڀ انڊيڪس، استعمال ڪريو ڪي ورڊ پيراميٽر پرنٽ to console=True. متبادل طور تي، جيئن هيٺ بيان ڪيو ويو آهي، اسان انفرادي قدرن کي پرنٽ ڪري سگهون ٿا Si.
اسان ڏسي سگھون ٿا ته x1 ۽ x2 وٽ پهرين آرڊر جي حساسيت آهي، پر x3 کي ظاهر نٿو ٿئي ته ڪو به پهريون-آرڊر اثر نه آهي.
جيڪڏهن ڪل-آرڊر انڊيڪس خاص طور تي پهرين آرڊر جي انڊيڪس کان وڏيون آهن، اعليٰ آرڊر جي وچ ۾ لاڳاپا ضرور ٿي رهيا آهن. اسان ٻئي آرڊر جي اشارن کي ڏسڻ سان هنن اعلي-آرڊر جي وچ ۾ رابطي کي ڏسي سگهون ٿا:
اسان اهو مشاهدو ڪري سگهون ٿا ته x1 ۽ x3 اهم رابطي ۾ آهن. ان کان پوء، نتيجو وڌيڪ مطالعي لاء پانڊاس ڊيٽا فريم ۾ تبديل ٿي سگھي ٿو.
5. پلاٽ ڪرڻ
توهان جي سهولت لاءِ، بنيادي چارٽنگ جون سهولتون مهيا ڪيون ويون آهن. پلاٽ () فنڪشن بعد ۾ ڦيرڦار لاء matplotlib محور شيون پيدا ڪري ٿو.
ٿڪل
SALib هڪ نفيس حساسيت تجزيي ٽول ڪٽ آهي. SALib ۾ ٻيون ٽيڪنڪ شامل آهن فورئر ايمپليٽيوڊ حساسيت ٽيسٽ (FAST)، مورس ميٿڊ، ۽ ڊيلٽا-مومينٽ آزاد ماپ. جڏهن ته اها هڪ Python لائبريري آهي، اهو ڪنهن به قسم جي ماڊل سان هلائڻ جو ارادو آهي.
SALib پيش ڪري ٿو استعمال ڪرڻ ۾ آسان ڪمانڊ لائن انٽرفيس ماڊل انپٽس ٺاهڻ ۽ ماڊل آئوٽ پُٽ جو جائزو وٺڻ لاءِ. چيڪ آئوٽ ڪريو SALib دستاويز وڌيڪ سکڻ لاء.
جواب ڇڏي وڃو