Статистика на уровне популяции по текущим и «прошлым» агентам одного типа агентов

Я ищу более удобный способ сбора статистики по популяции агентов, не только по агентам, которые в настоящее время существуют, но также по агентам, которые были удалены из модели.

Насколько я понимаю, создание статистики в области статистики в свойствах популяции агентов учитывает только экземпляры живых агентов.

Модель Basic Health Economics в библиотеке примеров моделей собирает статистику по всем агентам Person, которые когда-либо жили в этой модели. В этой модели рассчитываются годы жизни с поправкой на качество (QALY). Этот показатель - Качество жизни * Время. В этой конкретной модели в Person переменная QoL содержит значение качества жизни, которое связано с состоянием здоровья, в котором в данный момент находится экземпляр Person. Используя статистику в поле свойств населения, QoL каждого агента суммируется. , который затем используется как поток в запасе SD, а поток - как поток NewQALY за год.

Кажется утомительным и неэффективным использование SD-потока для каждой статистики, которую я хочу иметь, которая также включает «прошлых» агентов. Есть ли у кого-нибудь лучший подход, чем тот, который используется в модели базовой экономики здравоохранения?


person UTq    schedule 28.05.2018    source источник


Ответы (1)


как насчет этого? (согласно метрике QoL):

  1. Вы создаете элемент статистики под названием QoLStats (из палитры анализа)
  2. Вы создаете мероприятие, которое проходит циклически каждый год

В вашем случае вы делаете:

totalQoL=sum(population,p->p.QoL);
QoLStats.add(totalQoL);

Вам необходимо создать новый элемент статистики для каждой статистики, которую вы хотите собрать ... возможно, вы захотите вместо этого использовать элемент набора данных, в зависимости от того, какую информацию вы хотите собирать.

person Felipe    schedule 28.05.2018
comment
Спасибо, Фелипе. Однако разве это не менее точный способ? Агенты могут умереть между событиями, поэтому я думаю, вы «пропустите» статистику по этим агентам. Вы можете уменьшить интервал событий, но это приблизится к методу запаса и потока. - person UTq; 29.05.2018
comment
он не менее точен, он одинаково точен ... В любом случае, я не могу думать о другом на самом деле ... Если только вы не собираете статистику прямо в диаграммах состояний агентов, используя тот же метод, который я предлагаю ... каждый раз, когда вы выйти или войти в состояние, в котором вы собираете статистику времени ... но это действительно зависит от того, какую статистику вы хотите собирать ... ваш вопрос довольно широкий - person Felipe; 29.05.2018
comment
если агенты могут умереть между ними, добавьте код в раздел при удалении типа агента, чтобы записать правильное время ... может потребоваться быть осторожным, чтобы не произошло двойного бронирования, но все это выполнимо. - person Benjamin; 29.05.2018