Таҳлили ҳассосият барои муайян кардани таъсири маҷмӯи омилҳои мустақил ба тағирёбандаи вобаста дар шароити муайян истифода мешавад.
Ин як равиши қавӣ барои муайян кардани он аст, ки чӣ гуна ба баромади модел аз воридоти модел дар мафҳуми умумӣ таъсир мерасонад. Дар ин паём, ман шарҳи фаврии таҳлили ҳассосиятро бо истифода аз SALib, як бастаи ройгони таҳлили ҳассосияти Python медиҳам.
Қимати ададӣ, ки ҳамчун шохиси ҳассосият маълум аст, аксар вақт ҳассосияти ҳар як вурудро ифода мекунад. Якчанд намудҳои нишондиҳандаҳои ҳассосият мавҷуданд:
- Индексҳои дараҷаи аввал: саҳми як вуруди моделро ба фарқияти баромад ҳисоб мекунад.
- Индексҳои дараҷаи дуюм: саҳми ду вуруди моделиро ба фарқияти баромад ҳисоб мекунад.
- Индекси маҷмӯӣ-тартиб: саҳми саҳми моделро ба тафовути натиҷаҳо миқдор медиҳад, ки ҳам таъсири дараҷаи аввал (ватанҳо вуруди тағйирёбанда) ва ҳам ҳама гуна таъсироти дараҷаи олиро дар бар мегирад.
SALib чист?
САЛиб ба Python асос ёфтааст манбаъи кушода маҷмӯи асбобҳо барои арзёбии ҳассосият. Он дорои ҷараёни кори ҷудошуда мебошад, ки маънои онро дорад, ки он мустақиман бо модели математикӣ ё ҳисоббарорӣ ҳамкорӣ намекунад. Ба ҷои ин, SALib барои истеҳсоли воридоти модел (тавассути яке аз функсияҳои намунавӣ) ва ҳисоб кардани нишондиҳандаҳои ҳассосият (тавассути яке аз функсияҳои таҳлил) аз натиҷаҳои модел масъул аст.
Таҳлили маъмулии ҳассосияти SALib аз чор марҳила иборат аст:
- Воридоти модел (параметрҳо) ва диапазони намунаро барои ҳар як муайян кунед.
- Барои эҷоди вуруди модел, функсияи намунаро иҷро кунед.
- Моделро бо истифода аз вурудоти тавлидшуда арзёбӣ кунед ва натиҷаҳои моделро захира кунед.
- Барои ҳисоб кардани нишондиҳандаҳои ҳассосият, функсияи таҳлилро дар натиҷаҳо истифода баред.
Собол, Моррис ва FAST танҳо чанде аз усулҳои таҳлили ҳассосият аз ҷониби SALib мебошанд. Бисёр омилҳо таъсир мерасонанд, ки кадом равиш барои барномаи додашуда беҳтар аст, тавре ки мо дертар хоҳем дид. Дар айни замон, дар хотир доред, ки ба шумо лозим аст, ки танҳо ду функсияро истифода баред, намуна ва таҳлил, новобаста аз он, ки шумо кадом техникаро истифода мебаред. Мо ба шумо тавассути як мисоли асосӣ роҳнамоӣ хоҳем кард, то нишон диҳед, ки чӣ тавр истифода бурдани SALib.
Намунаи SALib - Таҳлили ҳассосияти Собол
Дар ин мисол, мо ҳассосияти Соболи функсияи Ишигамиро, ки дар зер нишон дода шудааст, баррасӣ хоҳем кард. Аз сабаби ғайрихаттӣ ва ғайримонотонӣ будани он, функсияи Ишигами барои арзёбии методологияҳои таҳлили номуайянӣ ва ҳассосият ба таври васеъ истифода мешавад.
Қадамҳо чунинанд:
1. Воридоти SALib
Қадами аввал ин илова кардани китобхонаҳои зарурӣ мебошад. Намуна ва функсияҳои таҳлили SALib дар модулҳои Python фарқ мекунанд. Воридоти намунаи моҳвораӣ ва функсияҳои таҳлили Собол, масалан, дар зер нишон дода шудааст.
Мо инчунин функсияи Ishigami-ро истифода мебарем, ки он ҳамчун вазифаи санҷишӣ дар SALib дастрас аст. Дар ниҳоят, мо NumPy-ро ворид мекунем, зеро SALib онро барои нигоҳ доштани воридот ва баромадҳои модел дар матритса истифода мебарад.
2. Вуруди намуна
Пас аз он, вуруди модел бояд муайян карда шавад. Функсияи Ишигами се вурудро қабул мекунад: x1, x2 ва x3. Дар SALib, мо дикта месозем, ки шумораи вурудҳо, номҳои онҳо ва маҳдудиятҳои ҳар як вурудро, тавре ки дар зер дида мешавад, муайян мекунад.
3. Намунаҳо ва моделро эҷод кунед
Сипас намунаҳо тавлид мешаванд. Мо бояд бо истифода аз намунагирандаи Saltelli намунаҳо эҷод кунем, зеро мо таҳлили ҳассосияти Соболро анҷом медиҳем. Дар ин ҳолат, арзишҳои параметр матритсаи NumPy мебошанд. Мо метавонем мушоҳида кунем, ки матритса 8000 ба 3 аст, тавассути иҷрои param values.shape. Бо намунагирандаи Saltelli 8000 намуна офарида шудааст. Намунадиҳандаи Saltelli намунаҳоро эҷод мекунад, ки дар он N 1024 (параметре, ки мо пешниҳод кардем) ва D 3 аст (шумораи вуруди модел).
Тавре ки қаблан гуфта шуда буд, SALib ба арзёбии модели математикӣ ё ҳисоббарорӣ машғул нест. Агар модел бо Python навишта шуда бошад, шумо одатан ҳар як вуруди намунаро давр мезанед ва моделро арзёбӣ мекунед:
Намунаҳоро метавон дар файли матнӣ захира кард, агар модел дар Python таҳия нашуда бошад:
Ҳар як сатр дар param values.txt як вуруди моделро ифода мекунад. Натиҷаи модел бояд ба файли дигар бо услуби шабеҳ бо як баромад дар ҳар сатр захира карда шавад. Баъд аз ин, натиҷаҳо метавонанд бо:
Дар ин мисол, мо функсияи Ishigami-ро аз SALib истифода мебарем. Ин функсияҳои санҷиширо метавон ба таври зерин арзёбӣ кард:
4. Таҳлилро анҷом диҳед
Дар ниҳоят мо метавонем нишондиҳандаҳои ҳассосиятро пас аз бор кардани натиҷаҳои модел ба Python ҳисоб кунем. Дар ин мисол, мо sobol.analyze-ро барои ҳисоб кардани нишондиҳандаҳои якум, дуюм ва умумии тартиби истифода хоҳем кард.
Si луғати Python аст, ки дорои калидҳои "S1", "S2", "ST", "S1 conf," S2 conf ва "ST conf" мебошад. Калидҳои _conf фосилаҳои эътимоди алоқамандро нигоҳ медоранд, ки одатан ба 95 фоиз муқаррар карда мешаванд. Барои баровардани ҳамаи индексҳо, калимаи калидии параметри print to console=True -ро истифода баред. Интихобан, тавре ки дар зер нишон дода шудааст, мо метавонем арзишҳои инфиродиро аз Si чоп кунем.
Мо мебинем, ки x1 ва x2 ҳассосияти дараҷаи аввал доранд, аммо x3 ягон таъсири дараҷаи аввал надоранд.
Агар нишондиҳандаҳои тартиби умумӣ аз индексҳои дараҷаи якум ба таври назаррас калонтар бошанд, бешубҳа мутақобилаи дараҷаи олӣ сурат мегирад. Мо метавонем ин мутақобилаҳои дараҷаи олиро тавассути дидани нишондиҳандаҳои дараҷаи дуюм бубинем:
Мо метавонем мушоҳида кунем, ки x1 ва x3 таъсири мутақобилаи назаррас доранд. Пас аз он, натиҷа метавонад ба Pandas DataFrame барои омӯзиши минбаъда табдил дода шавад.
5. Нақшакашӣ
Барои роҳати шумо, асбобҳои асосии диаграмма пешбинӣ шудаанд. Функсияи plot() объектҳои меҳвари matplotlib-ро барои коркарди минбаъда истеҳсол мекунад.
хулоса
SALib як абзори мураккаби таҳлили ҳассосият аст. Дигар усулҳо дар SALib санҷиши ҳассосияти амплитудаи Фурье (FAST), усули Моррис ва чораи мустақили Delta-Momentро дар бар мегиранд. Гарчанде ки он китобхонаи Python аст, он барои кор бо моделҳои ҳама гуна намуд пешбинӣ шудааст.
SALib интерфейси қулайи истифодабарии сатри фармонро барои эҷоди вуруди модел ва арзёбии натиҷаҳои модел пешниҳод мекунад. Тафтиш Ҳуҷҷатҳои SALib Барои гирифтани маълумоти муфассалтар.
Дин ва мазҳаб