Объект Данные
гистограммы:
Собранная статистика может быть отображена с помощью Гистограммы.
Чтобы создать
объект сбора данных гистограммы
с
палитры Статистика на
диаграмму класса активного объекта (или эксперимента).Теперь нужно задать интервалы гистограммы. Укажите, хотите ли Вы явно задать интервалы, либо использовать возможность автоматического формирования интервалов самой гистограммой, с помощью группы кнопок Диапазон значений.
Имя – Имя объекта сбора данных. По этому имени объект будет доступен из кода.
Отображать имя – Если опция выбрана, то имя объекта сбора данных будет отображаться в графическом редакторе.
Исключить – Если опция выбрана, то объект сбора данных будет исключен из модели.
На верхнем
уровне
– Если опция выбрана, то объект
сбора данных
будет виден на
презентации класса, в который будет вложен данный активный объект.
Поскольку объекты сбора данных не могут
присутствовать на
презентации класса верхнего уровня, этот флажок всегда
сброшен и недоступен.
На презентации – Если опция выбрана, то объект сбора данных будет отображаться на презентации во время выполнения модели.
Значение – Выражение, которое будет динамически вычисляться во время выполнения модели, чтобы получить новое измерение, которое будет добавлено в объект сбора данных.
Кол-во интервалов – Количество интервалов этой гистограммы.
Диапазон значений– Здесь Вы можете выбрать, как будут формироваться интервалы этой гистограммы. Если Вы знаете предполагаемые минимальное и максимальное значения измеряемых данных, то Вы можете выбрать опцию Фиксированный и задать границы диапазона значений гистограммы в полях Минимум и Максимум. Если нет, то мы рекомендуем выбрать опцию Выбирается автоматически - в этом случае от Вас не требуется задавать диапазон значений - гистограмма будет автоматически изменять интервалы при выходе добавляемых значений за пределы изначально выбранного диапазона значений.Вычислять процентили– Если опция выбрана, то будут вычисляться процентили. В этом случае Вам нужно будет задать значения нижнего и верхнего доверительных интервалов в полях Нижний и Верхний соответственно.
Не обновлять данные автоматически - Если опция выбрана, то набор данных не будет обновляться автоматически. В этом случае Вам нужно будет самостоятельно добавлять новые значения в набор данных, как это описано здесь.
Обновлять данные автоматически - Если опция выбрана, то новые значения будут добавляться в набор данных автоматически с периодичностью, указанной в поле Период (период задается в единицах модельного времени).
Обновлять данные автоматически после каждого "прогона"/итерации - [Видно, если элемент находится на диаграмме эксперимента] - Если опция выбрана, то новые значения будут добавляться в объект сбора данных после каждого "прогона"/итерации модели.
Собираемая объектом статистика доступна с помощью следующих методов. Объект Данные гистограммы представлен в AnyLogic экземпляром одного из следующих классов:
HistogramSimpleData- Данные гистограммы с фиксированным минимумом, максимумом и количеством интервалов. Выходящие за пределы заданного диапазона значения регистрируются в специальных интервалах "ниже нижней границы" и "выше верхней". Этот класс предоставляет следующие методы:
double getPDFOutsideHigh() - Возвращает процент значений (значение, лежащее в пределах 0..1) , которые попали выше заданного максимума.
double getPDFOutsideLow() - Возвращает процент значений (значение, лежащее в пределах 0..1), которые попали ниже заданного минимума.
void setMinMax(double min, double max) - Полностью удаляет хранящиеся данные гистограммы и заново устанавливает диапазон интервалов.
HistogramSmartData - Данные гистограммы с фиксированным количеством интервалов, но с адаптивно настраиваемым диапазоном значений. Все значения всегда попадают в выбираемый для гистограммы диапазон значений. Этот класс предоставляет следующие методы:
double getIntervalWidth() - Returns the current interval width, i.e. the data range corresponding to one interval.
double getLowerBound() - Returns the lower bound of the range covered by intervals.
Оба класса наследуют от базового класса HistogramData следующие методы, которые применимы к обоим типам гистограмм:
void
add(double val) - Добавляет в объект новое
значение val.
int count() - Возвращает количество значений, хранимых в объекте.
void reset() - Полностью удаляет данные, удаляет значения плотности вероятности, функции распределения и статистику.
double max() - Возвращает максимальное значение, или Double.NEGATIVE_INFINITY, если объект не хранит ни одного значения.
double mean() - Возвращает среднее значение гистограммы.
double meanConfidence() - Возвращает средний доверительный интервал для хранящихся значений. Средний доверительный интервал вычисляется исходя из предположения, что доверительная вероятность равна 95%.
double min() - Возвращает минимальное значение, или Double.POSITIVE_INFINITY, если объект не хранит ни одного значения.
double deviation() - Возвращает среднеквадратичное (стандартное) отклонение для хранящихся значений.
int getNumberOfIntervals() - Возвращает количество интервалов.
StatisticsDiscrete getStatistics() - Возвращает объект Статистика, встроенный в этот объект Данные гистограммы.
double getXMax() - Возвращает верхнюю границу диапазона значений.
double getXMin() - Возвращает нижнюю границу диапазона значений.
Плотность вероятности
double getPDF(int index) - Возвращает плотность вероятности для интервала с заданным индексом index.
double getMaxPDF() - Возвращает максимальное значение плотности вероятности по всем интервалам, т.e. максимальное количество попаданий значеинй в интервал, поделенное на общее количество значений.
Функция распределения
double getCDF(int index) - Возвращает функцию распределения для интервала с заданным индексом index.
void setCDFEnabled(boolean yes) - Разрешает (если в качестве аргумента передать true) или запрещает (если передать false) вычисление функции распределения.
boolean isCDFEnabled() - Проверяет, разрешено ли вычисление функции распределения. Возвращает true, если да, false - если нет.
Процентили
boolean arePercentilesEnabled() - Проверяет, разрешено ли вычисление процентилей. Возвращает true, если да, false - если нет.
void setPercentilesEnabled(boolean yes) - Разрешает (если в качестве аргумента передать true) или запрещает (если передать false) вычисление процентилей (значений данных, соответствующих заданным нижней и верхней процентным границам).
void
setPercents(double low, double high)
- Задает процентные границы для вычисления процентилей.
double getPercentHigh() - Возвращает верхнее процентное значение, используемое для вычисления процентилей (1 соответствует 100%).
double getPercentLow() - Возвращает нижнее процентное значение, используемое для вычисления процентилей (1 соответствует 100%).