کی میز کے مندرجات[چھپائیں][دکھائیں]
حساسیت کا تجزیہ بعض شرائط کے تحت منحصر متغیر پر آزاد عوامل کے مجموعہ کے اثرات کا تعین کرنے کے لیے کیا جاتا ہے۔
یہ اس بات کا تعین کرنے کے لیے ایک مضبوط نقطہ نظر ہے کہ ماڈل کی آؤٹ پٹ عام شرائط میں ماڈل کے ان پٹس سے کس طرح متاثر ہوتی ہے۔ اس پوسٹ میں، میں SALib کا استعمال کرتے ہوئے حساسیت کے تجزیے کا ایک فوری جائزہ پیش کروں گا، جو ایک مفت ازگر حساسیت تجزیہ پیکج ہے۔
ایک عددی قدر جسے حساسیت کے اشاریہ کے نام سے جانا جاتا ہے، اکثر ہر ان پٹ کی حساسیت کو ظاہر کرتا ہے۔ حساسیت کے اشاریہ جات کی کئی اقسام ہیں:
- فرسٹ آرڈر انڈیکس: آؤٹ پٹ ویرینس میں ایک ماڈل ان پٹ کی شراکت کا حساب لگاتا ہے۔
- سیکنڈ آرڈر انڈیکس: آؤٹ پٹ ویرینس میں دو ماڈل ان پٹس کے تعاون کا حساب لگاتا ہے۔
- ٹوٹل آرڈر انڈیکس: آؤٹ پٹ ویریئنس میں ماڈل ان پٹ کے تعاون کی مقدار درست کرتا ہے، جس میں پہلے آرڈر کے اثرات (اکیلے ان پٹ میں اتار چڑھاؤ ہوتا ہے) اور کسی بھی اعلی آرڈر کے تعاملات شامل ہوتے ہیں۔
سالب کیا ہے؟
سالیب ایک ازگر پر مبنی ہے۔ آزاد مصدر حساسیت کا جائزہ لینے کے لیے ٹول کٹ۔ اس میں ایک علیحدہ ورک فلو ہے، جس کا مطلب ہے کہ یہ ریاضیاتی یا کمپیوٹیشنل ماڈل کے ساتھ براہ راست تعامل نہیں کرتا ہے۔ اس کے بجائے، SALib ماڈل ان پٹس (ایک نمونہ فنکشن کے ذریعے) تیار کرنے اور ماڈل آؤٹ پٹس سے حساسیت کے اشاریہ (تجزیہ کے افعال میں سے ایک کے ذریعے) کی کمپیوٹنگ کا انچارج ہے۔
ایک عام SALib حساسیت کا تجزیہ چار مراحل پر مشتمل ہوتا ہے:
- ماڈل ان پٹ (پیرامیٹر) اور ہر ایک کے لیے نمونے کی حد کا تعین کریں۔
- ماڈل ان پٹ بنانے کے لیے، نمونہ فنکشن چلائیں۔
- تیار کردہ ان پٹس کا استعمال کرتے ہوئے ماڈل کا اندازہ کریں اور ماڈل کے نتائج کو محفوظ کریں۔
- حساسیت کے اشاریہ جات کی گنتی کرنے کے لیے، آؤٹ پٹس پر تجزیہ فنکشن استعمال کریں۔
Sobol، Morris، اور FAST SALib کی طرف سے فراہم کردہ حساسیت کے تجزیہ کے چند طریقے ہیں۔ بہت سے عوامل اثر انداز ہوتے ہیں کہ دی گئی درخواست کے لیے کون سا طریقہ بہترین ہے، جیسا کہ ہم بعد میں دیکھیں گے۔ وقتی طور پر، ذہن میں رکھیں کہ آپ کو صرف دو افعال استعمال کرنے کی ضرورت ہے، نمونہ اور تجزیہ، قطع نظر اس کے کہ آپ جو بھی تکنیک استعمال کرتے ہیں۔ SALib کو استعمال کرنے کا طریقہ بتانے کے لیے ہم ایک بنیادی مثال کے ذریعے آپ کی رہنمائی کریں گے۔
سالب کی مثال - سوبول کی حساسیت کا تجزیہ
اس مثال میں، ہم ایشیگامی فنکشن کی سوبول کی حساسیت کا جائزہ لیں گے، جیسا کہ ذیل میں دکھایا گیا ہے۔ اس کی اعلی غیر خطوطی اور غیر یکجہتی کی وجہ سے، Ishigami فنکشن کو غیر یقینی اور حساسیت کے تجزیہ کے طریقہ کار کا جائزہ لینے کے لیے وسیع پیمانے پر استعمال کیا جاتا ہے۔
اقدامات مندرجہ ذیل ہیں:
1. سالیب کو درآمد کرنا
پہلا مرحلہ مطلوبہ لائبریریوں کو شامل کرنا ہے۔ SALib کے نمونے اور تجزیہ کے افعال کو Python ماڈیولز میں الگ رکھا گیا ہے۔ سیٹلائٹ کا نمونہ درآمد کرنا اور سوبول تجزیہ کرنے کے افعال، مثال کے طور پر، ذیل میں دکھایا گیا ہے۔
ہم Ishigami فنکشن بھی استعمال کرتے ہیں، جو SALib میں ٹیسٹ فنکشن کے طور پر دستیاب ہے۔ آخر میں، ہم NumPy کو درآمد کرتے ہیں کیونکہ SALib اسے میٹرکس میں ماڈل ان پٹ اور آؤٹ پٹس کو ذخیرہ کرنے کے لیے استعمال کرتا ہے۔
2. ماڈل ان پٹ
اس کے بعد ماڈل آدانوں کی وضاحت ہونی چاہیے۔ Ishigami فنکشن تین ان پٹ کو قبول کرتا ہے: x1، x2، اور x3۔ SALib میں، ہم ایک ڈکٹ بناتے ہیں جس میں ان پٹ کی تعداد، ان کے نام، اور ہر ان پٹ کی حدود کی وضاحت ہوتی ہے، جیسا کہ ذیل میں دیکھا گیا ہے۔
3. نمونے اور ماڈل بنائیں
اس کے بعد نمونے تیار کیے جاتے ہیں۔ ہمیں سالٹیلی سیمپلر کا استعمال کرتے ہوئے نمونے بنانے کی ضرورت ہے کیونکہ ہم سوبول حساسیت کا تجزیہ کر رہے ہیں۔ اس صورت میں، param اقدار ایک NumPy میٹرکس ہیں۔ ہم param values.shape کو چلا کر مشاہدہ کر سکتے ہیں کہ میٹرکس 8000 by 3 ہے۔ سالٹیلی سیمپلر کے ساتھ 8000 نمونے بنائے گئے۔ Saltelli سیمپلر نمونے بناتا ہے، جہاں N 1024 ہے (پیرامیٹر جو ہم نے فراہم کیا ہے) اور D 3 ہے۔ (ماڈل ان پٹ کی تعداد)۔
جیسا کہ پہلے کہا گیا ہے، SALib ریاضیاتی یا کمپیوٹیشنل ماڈل کی تشخیص میں مصروف نہیں ہے۔ اگر ماڈل Python میں لکھا گیا ہے، تو آپ عام طور پر ہر نمونے کے ان پٹ کو لوپ کریں گے اور ماڈل کا اندازہ کریں گے:
نمونے کو ٹیکسٹ فائل میں محفوظ کیا جا سکتا ہے اگر ماڈل Python میں تیار نہیں ہوا ہے:
param values.txt میں ہر لائن ایک ماڈل ان پٹ کی نمائندگی کرتی ہے۔ ماڈل کے آؤٹ پٹ کو اسی انداز میں دوسری فائل میں محفوظ کیا جانا چاہیے، ہر لائن پر ایک آؤٹ پٹ کے ساتھ۔ اس کے بعد، آؤٹ پٹ کو اس کے ساتھ لوڈ کیا جا سکتا ہے:
اس مثال میں، ہم SALib سے Ishigami فنکشن استعمال کرنے جا رہے ہیں۔ ان ٹیسٹ کے افعال کا اندازہ اس طرح کیا جا سکتا ہے:
4. تجزیہ کریں۔
ہم حتمی طور پر ماڈل کے نتائج کو Python میں لوڈ کرنے کے بعد حساسیت کے اشاریہ جات کا حساب لگا سکتے ہیں۔ اس مثال میں، ہم sobol.analyze کا استعمال کریں گے تاکہ پہلے، دوسرے، اور کل-آرڈر انڈیکس کی گنتی کریں۔
Si ایک Python ڈکشنری ہے جس میں "S1," "S2," "ST," "S1 conf," "S2 conf" اور "ST conf" کی کلیدیں ہیں۔ _conf کیز متعلقہ اعتماد کے وقفے رکھتی ہیں، جو عام طور پر 95 فیصد پر سیٹ ہوتے ہیں۔ آؤٹ پٹ کے لیے، تمام انڈیکس، کنسول=True میں کلیدی لفظ پیرامیٹر پرنٹ کا استعمال کریں۔ متبادل طور پر، جیسا کہ ذیل میں دکھایا گیا ہے، ہم انفرادی اقدار کو Si سے پرنٹ کر سکتے ہیں۔
ہم دیکھ سکتے ہیں کہ x1 اور x2 میں فرسٹ آرڈر کی حساسیت ہے، لیکن x3 کا فرسٹ آرڈر پر کوئی اثر نہیں ہوتا۔
اگر کل آرڈر کے اشاریہ جات پہلے آرڈر کے اشاریہ جات سے نمایاں طور پر بڑے ہیں، تو یقینی طور پر اعلیٰ ترتیب کے تعاملات ہو رہے ہیں۔ ہم سیکنڈ آرڈر انڈیکس کو دیکھ کر ان اعلیٰ ترتیب کے تعاملات کو دیکھ سکتے ہیں:
ہم مشاہدہ کر سکتے ہیں کہ x1 اور x3 کا اہم تعامل ہے۔ اس کے بعد، نتیجہ مزید مطالعہ کے لیے پانڈاس ڈیٹا فریم میں تبدیل ہو سکتا ہے۔
5. سازش کرنا
آپ کی سہولت کے لیے چارٹنگ کی بنیادی سہولیات فراہم کی گئی ہیں۔ plot() فنکشن بعد میں ہیرا پھیری کے لیے matplotlib ایکسس آبجیکٹ تیار کرتا ہے۔
نتیجہ
SALib ایک جدید ترین حساسیت تجزیہ ٹول کٹ ہے۔ SALib میں دیگر تکنیکوں میں فوئیر ایمپلیٹیوڈ سنسیٹیویٹی ٹیسٹ (FAST)، مورس میتھڈ، اور ڈیلٹا مومنٹ انڈیپنڈنٹ پیمائش شامل ہیں۔ اگرچہ یہ ایک Python لائبریری ہے، اس کا مقصد کسی بھی قسم کے ماڈلز کے ساتھ کام کرنا ہے۔
SALib ماڈل ان پٹ بنانے اور ماڈل آؤٹ پٹس کا اندازہ لگانے کے لیے استعمال میں آسان کمانڈ لائن انٹرفیس پیش کرتا ہے۔ اس کو دیکھو SALib دستاویزات مزید جاننے کے لئے.
جواب دیجئے