Результаты CLIMADA-Период доходности не соответствуют кривой превышения воздействия
Я рассчитываю влияние периода доходности для одной линии риска в CLIMADA. Я получил результат ниже. введите сюда описание изображения
Для того же набора данных я попытался вывести кривую частоты Exceedanc, которая обычно должна соответствовать данным периода повторяемости. Но совпадения нет.
введите сюда описание изображения
Я пытался манипулировать входными данными периода повторяемости, изменяя диапазон. Но ничего не произошло. Я попытался просмотреть коды, используемые для вывода периода повторяемости, показанного ниже;
def local_exceedance_imp(self, return_periods=(25, 50, 100, 250)): """Рассчитать карту воздействия превышения для заданных периодов доходности. Требуется атрибутimp_mat.
Parameters
----------
return_periods : Any, optional
return periods to consider
Dafault is (25, 50, 100, 250)
Returns
-------
np.array
"""
LOGGER.info('Computing exceedance impact map for return periods: %s',
return_periods)
if self.imp_mat.size == 0:
raise ValueError('Attribute imp_mat is empty. Recalculate Impact'
'instance with parameter save_mat=True')
num_cen = self.imp_mat.shape[1]
imp_stats = np.zeros((len(return_periods), num_cen))
cen_step = CONFIG.max_matrix_size.int() // self.imp_mat.shape[0]
if not cen_step:
raise ValueError('Increase max_matrix_size configuration parameter to > '
f'{self.imp_mat.shape[0]}')
# separte in chunks
chk = -1
for chk in range(int(num_cen / cen_step)):
self._loc_return_imp(np.array(return_periods),
self.imp_mat[:, chk * cen_step:(chk + 1) * cen_step].toarray(),
imp_stats[:, chk * cen_step:(chk + 1) * cen_step])
self._loc_return_imp(np.array(return_periods),
self.imp_mat[:, (chk + 1) * cen_step:].toarray(),
imp_stats[:, (chk + 1) * cen_step:])
return imp_stats
1 ответ
На втором рисунке вы пересчитали кривую периода доходности для значений по умолчанию.(25, 50, 100, 250)
. Это отличается от вашего первого изображения со значениями(100, 200, 300, 500)
.