统计Statistics | AnyLogic 帮助
统计对象计算一系列数据样本的统计信息(平均值、最小值、最大值等),数据类型为double。
根据数据被视为离散还是连续,对象的工作原理不同。
演示模型: 观测次数的统计函数打开AnyLogic Cloud中的模型页面。在那里,您可以运行模型或下载它(点击模型源文件)。
连续数据
数据样本在时间上是持久的;也就是说,值在连续时间中持续存在,但仅在离散时间点改变(例如队列长度)。样本必须以递增的时间戳添加到此统计中。平均值、方差等函数假定最后一个添加的值一直持续到调用时间。此类数据集的平均值是一个时间加权值。
离散数据
样本在时间上没有持续时间(例如产品成本或患者的住院时间)。它们作为孤立的、离散的时间点出现,因此平均值仅仅是所有单独样本的总和除以样本数量。
要创建一个统计对象:
- 从分析面板拖动统计元素到图形编辑器。
- 转到属性视图。
- 指定数据样本应被视为离散还是连续。
- 在值编辑框中输入评估数据项值的表达式。
- 最后,选择您希望如何更新此数据元素。
属性
通用
名称 — 统计对象的名称。名称用于标识和访问统计。
忽略 — 如果选中,统计对象将从模型中排除。
可见 — 如果选中,统计对象在运行时的演示中可见。
显示名称 — 如果选中,在演示图表上显示统计对象的名称。
离散(样本在时间上没有持续时间) — 如果选中,数据被视为离散。
连续(样本在时间上有持续时间) — 如果选中,数据被视为连续。
值 — 动态评估以获取当前数据样本的表达式。
自动更新数据 — 如果选中,从指定的确切时间(选择使用模型时间)或日期(选择使用日历日期)开始自动添加新数据样本,并以指定的重复时间重复。
不自动更新数据 — 如果选中,统计数据不会自动更新。在这种情况下,您应该自己添加新样本,如更新分析数据对象中所述。
记录到数据库 — 如果选中,此统计元素收集的数据将添加到模型执行日志中 — 统计日志(如果在模型的数据库属性中启用了日志记录)。
您可以设置统计对象将数据写入模型执行日志 — 统计日志。为此,请选择统计的记录到数据库选项,并启用模型写入日志,如模型执行日志中所述。
在运行模型时,您可以查看收集的统计数据,并可选择将其复制到剪贴板,以便稍后将其粘贴到其他应用程序中(例如Excel)进行统计分析。
用于处理收集数据的API
您可以使用统计元素的API处理收集的数据。函数集根据统计元素的类型而有所不同:
-
连续 — 元素是StatisticsContinuous类的实例。
-
离散 — 元素是StatisticsDiscrete类的实例。
连续统计
函数 | 描述 |
---|---|
void add(double value, double time) | 向统计中添加新的数据样本,即在给定时间通知统计值的变化。value — 新值。time — 时间。 |
int count() | 返回添加到统计中的样本数量。 |
void reset() | 丢弃所有累积的统计数据。 |
double max() | 返回最大样本值,如果没有添加样本,则返回负无穷大。 |
double min() | 返回最小样本值,如果没有添加样本,则返回正无穷大。 |
String toString() | 返回统计的制表符分隔的多行文本表示。 |
double deviation() | 返回最后一次更新时统计的偏差。 |
double deviation(double time) | 假设最后一个添加的值持续到给定时间,返回给定时间的统计标准偏差。 |
double integral() | 返回最后一次更新时统计的平均积分,如果没有添加样本,则返回0。 |
double integral(double time) | 假设最后一个添加的值持续到给定时间,返回给定时间的统计积分,如果没有添加样本,则返回0。 |
double mean() | 返回最后一次更新时统计的平均值,如果没有添加样本,则返回0。 |
double mean(double time) | 假设最后一个添加的值持续到给定时间,返回给定时间的统计平均值,如果没有添加样本,则返回0。 |
double meanConfidence() | 返回最后一次更新时统计的平均置信区间的半宽,如果没有添加样本,则返回0。平均置信区间假定置信水平等于95%。 |
double meanConfidence(double time) | 假设最后一个添加的值持续到给定时间,返回给定时间的统计平均置信区间的半宽,如果少于2个样本被添加或如果没有经过时间,则返回无穷大。平均置信区间假定置信水平等于95%。 |
double variance() | 返回最后一次更新时统计的方差,如果没有添加样本,则返回0。 |
double variance(double time) | 假设最后一个添加的值持续到给定时间,返回给定时间的统计方差,如果没有添加样本,则返回0。 |
离散统计
函数 | 描述 |
---|---|
void add(double value) | 向统计中添加样本值。 |
int count() | 返回添加到统计中的样本数量。 |
void reset() | 丢弃所有累积的统计数据。 |
double max() | 返回最大样本值,如果没有添加样本,则返回负无穷大。 |
double min() | 返回最小样本值,如果没有添加样本,则返回正无穷大。 |
String toString() | 返回统计的制表符分隔的多行文本表示。 |
double deviation() | 返回统计的标准偏差。 |
double mean() | 返回统计的平均值,如果没有添加样本,则返回0。 |
double meanConfidence() | 返回统计的平均置信区间的半宽,如果没有添加样本,则返回0。平均置信区间假定置信水平等于95%。 |
double sum() | 函数返回添加到统计中的样本的总和,如果没有添加样本,则返回0。 |
double variance() | 返回统计的方差,如果少于2个样本被添加,则返回0。 |