CN115688035A - 一种基于自监督学习的时序电力数据异常检测方法 - Google Patents
一种基于自监督学习的时序电力数据异常检测方法 Download PDFInfo
- Publication number
- CN115688035A CN115688035A CN202211278394.8A CN202211278394A CN115688035A CN 115688035 A CN115688035 A CN 115688035A CN 202211278394 A CN202211278394 A CN 202211278394A CN 115688035 A CN115688035 A CN 115688035A
- Authority
- CN
- China
- Prior art keywords
- task
- abnormal
- loss
- self
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 230000002159 abnormal effect Effects 0.000 claims abstract description 42
- 238000012549 training Methods 0.000 claims abstract description 17
- 230000000737 periodic effect Effects 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 238000013528 artificial neural network Methods 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 9
- 230000005856 abnormality Effects 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims description 2
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 claims 1
- 230000000052 comparative effect Effects 0.000 claims 1
- 229910052739 hydrogen Inorganic materials 0.000 claims 1
- 239000001257 hydrogen Substances 0.000 claims 1
- 230000000306 recurrent effect Effects 0.000 abstract description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于自监督学习的时序电力数据异常检测方法。首先构建基于门控循环神经网络自编码器的多任务的异常检测模型,包括样本间对比任务、重构任务和样本内预测任务;获取企业监测的用电量的时间序列数据集,预处理后,对每一个传感器的时间序列数据根据周期性规律切分成小样本,作为输入训练异常检测模型;将待检测的数据进行预处理并根据周期性规律切分输入异常检测模型,并输出重构任务损失与样本内预测任务损失,将二者输入异常评分模型得出异常评分;判断异常评分是否超过阈值,若超过,则为异常,否则视为正常。本发明将预测任务、对比任务和重构任务三个任务相结合,可以更好地表征时间序列数据,从而降低误报率。
Description
技术领域
本发明涉及一种电力数据的异常检测技术,具体地说是一种基于自监督学习的时序电力数据异常检测方法。
背景技术
智能电网与物联网技术的融合在能源基础设施中发挥了重要作用。大数据和人工智能技术的发展,也不断提升智能电网的有效性和可靠性。其中一项重要的应用是检测智能电网中的异常情况,例如检测异常消费模式以防止窃电。根据是否提供标签,现有的时间序列异常检测方法可分为三类,即监督方法、半监督方法和无监督方法。带标签的监督方法通常将异常检测视为一项分类任务,带标签的监督方法的局限性在于异常现象罕见且难以收集,收集异常标签的成本高昂。
有研究提出了基于模式聚类的半监督模型,其中具有有限的异常标签。在智能电网中,为监督学习方法收集足够的异常标签非常耗时,几乎不可能。因此绝大多数研究集中在不使用标签的无监督方法。自监督方法可以被视为一种无监督方法。时间序列异常检测的无监督方法可进一步分为两大类,即基于预测的方法和基于重构的方法。基于预测的方法利用预测任务预测下一步的观测值,这种方法的异常预测误差较高。基于重构的方法假设异常很难重构,因此高重构误差表明存在异常。大多数现有方法只考虑时间异常模式或对单个任务建模以检测异常,这导致了较高的误报率。
发明内容
本发明的目的是提供一种基于自监督学习的时序电力数据异常检测方法,首先提出了一个由多头注意模块和多层感知机(Multi-layer perceptron,MLP)组成的对比任务来捕捉相互的异常模式。其次,将预测任务、对比任务和重构任务三个任务结合在一起,以更好地表示时间序列数据,从而降低误报率,降低安全风险。
本发明的目的通过以下技术方案实现:
一种基于自监督学习的时序电力数据异常检测方法,该方法包括:
1)模型设计:构建基于门控循环神经网络自编码器的多任务的异常检测模型,包括样本间对比任务、重构任务和样本内预测任务;
2)模型训练:获取企业监测的用电量的时间序列数据集X={x1,x2,...,xN},并进行预处理操作;预处理后,对每一个传感器的时间序列数据根据周期性规律切分成小样本,作为输入训练异常检测模型;
3)异常检测:模型训练好后,将待检测的数据进行预处理并根据周期性规律切分输入异常检测模型,并输出重构任务损失与样本内预测任务损失,将二者输入异常评分模型得出异常评分;判断异常评分是否超过阈值,若超过,则判断为异常,否则视为正常。
进一步地,所述异常检测模型使用三个GRU隐藏层大小分别为32、64、128的编码器和解码器,Dropout率设置为0.3,学习率设置为0.0005。GRU的形式化如下:
zt=sigmoid(Wz·[xt,ht-1]) rt=sigmoid(Wr·[xt,ht-1])
进一步地,所述样本间对比任务通过多头注意力块和MLP层来捕捉不同监测点相互之间异常的模式。
1)X的每个输入都以一种自注意的方式表示,如公式所示:
3)多头注意力可以表示为如下公式:
MultiHead(Q,K,V)=[head1,head2,...,headh]WO
其中“[head1,head2,...,headh]”表示矩阵拼接,WO表示可训练的权重矩阵。
3)多头注意力的输出表示为cj=MultiHead(Q,K,V)
4)给定一批M个样本,将来自同一传感器的样本视为正对(cj,cj+),来自不同的传感器视为负对(cj,cj-)。对比损失函数如下:
其中<cj,cj+>,<cj,cj->表示两个样本之间相似性的内积;τ表示温度参数;Nj表示来自与j同一传感器的样本集。
进一步地,所述样本内预测任务基于多个全连接层来捕获时间异常模式,将多个完全连接层和dropout层结合起来,给定时间序列Xt={x1,x2,...,xt},预测时间步长t+1处的观测Xt+1。将多个完全连接层与Dropout层结合起来以正则化模型,如公式所示:
使用均方根误差(RMSE)作为预测损失,损失函数如下:
进一步地,所述的企业用电量数据集预处理方法,针对缺失值,若其前后相邻数据没有缺失值,则取平均值来填充此缺失值;否则填充为0。
进一步地,所述的多任务的异常评分模型的公式如下:
Score=λ1Lossinter+λ2Lossintra+λ3Lossrecon
其中λ是三个任务的平衡参数,λ1、λ2、λ3分别设置为0.25、0.25和0.5。
本发明首先提出了一个由多头注意模块和多层感知机(Multi-layerperceptron,MLP)组成的对比任务来捕捉相互的异常模式。其次,将预测任务、对比任务和重构任务三个任务结合在一起,以更好地表示时间序列数据,从而降低误报率。
与现有技术相比,本发明将预测任务、对比任务和重构任务三个任务相结合,可以更好地表征时间序列数据,从而降低误报率,降低安全风险。
附图说明
图1为本发明的整体流程图;
图2为本发明的异常检测模型流程图;
图3为本模型与其它四种方法在不同训练比率的性能对比图;
图4为本发明训练和验证数据的总损失对比图。
具体实施方式
下面结合附图和具体实施方式对本发明所属方法进一步说明。
一种基于自监督学习的时序电力数据异常检测方法,首先提出了一个由多头注意模块和多层感知机(Multi-layer perceptron,MLP)组成的对比任务来捕捉相互的异常模式。其次,将预测任务、对比任务和重构任务三个任务结合在一起,以更好地表示时间序列数据,从而降低误报率,降低安全风险。图1为本发明的整体流程图;具体如下:
步骤1、模型设计:构建基于门控循环神经网络自编码器的多任务的异常检测模型,如图2所示,包括样本间对比任务、重构任务和样本内预测任务;
异常检测模型使用三个GRU隐藏层大小分别为32、64、128的编码器和解码器,Dropout率设置为0.3,学习率设置为0.0005。批量大小设置为128,多头注意力的头数为2,隐藏大小设置为128。GRU的形式化如下:
zt=sigmoid(Wz·[xt,ht-1]) rt=sigmoid(Wr·[xt,ht-1])
A1、样本间对比任务通过多头注意力块和MLP层来捕捉不同监测点相互之间异常的模式。
(1)X的每个输入都以一种自注意的方式表示,如公式所示:
(2)多头注意力可以表示为如下公式:
MultiHead(Q,K,V)=[head1,head2,...,headh]WO
其中“[head1,head2,...,headh]”表示矩阵拼接,WO表示可训练的权重矩阵。
(3)多头注意力的输出表示为cj=MultiHead(Q,K,V)
(4)给定一批M个样本,将来自同一传感器的样本视为正对(cj,cj+),来自不同的传感器视为负对(cj,cj-)。对比损失函数如下:
其中<cj,cj+>,<cj,cj->表示两个样本之间相似性的内积;τ表示温度参数;Nj表示来自与j同一传感器的样本集。
A2、样本内预测任务基于多个全连接层来捕获时间异常模式,将多个完全连接层和dropout层结合起来,给定时间序列Xt={x1,x2,...,xt},预测时间步长t+1处的观测Xt+1。将多个完全连接层与Dropout层结合起来以正则化模型,如公式所示:
使用均方根误差(RMSE)作为预测损失,损失函数如下:
步骤2、数据采集:获取中国国家电网公司(SGCC)的42372个企业监测的用电量的时间序列数据集,80%用于模型训练,20%用于测试。在该数据集中,约8.5%的客户显示异常用电量,可以作为真值标签来验证异常检测模型的性能。
步骤3、模型训练:对训练数据进行预处理操作。具体为,针对缺失值,若其前后相邻数据没有缺失值,则取平均值来填充此缺失值;否则填充为0。
预处理后,对每一个传感器的时间序列数据根据周期性规律切分成小样本,根据周期性规律切分预处理后的时间序列,采用大小为w0,步幅为1的滑动窗口进行切分;每个分段表示为所有分段集合表示为w0为常数,分钟数据取值为64。将样本序列长度默认设置为7。
最后,将样本序列送入本发明的模型中进行训练。
步骤4、异常检测:模型训练好后,将待检测的数据进行预处理并根据周期性规律切分输入异常检测模型,并输出重构任务损失Lossrecon与样本内预测任务损失Lossintra,将二者输入异常评分模型得出异常评分;判断异常评分是否超过阈值,若超过,则判断为异常,否则视为正常。
多任务的异常评分模型的公式如下:
Score=λ1Lossinter+λ2Lossintra+λ3Lossrecon
其中λ是三个任务的平衡参数,λ1、λ2、λ3分别设置为0.25、0.25和0.5。
图3展示了本发明与其它四种方法在不同训练比率的性能比较结果,ARIMA(差分整合移动平均自回归模型)和Wide&Deep CNN(基于广域和深度卷积神经网络)是基于预测的异常检测方法,LSTM-Autoencoder(长短期记忆网络自动编码器)和BeatGAN(结合自动编码器和生成对抗网络)是基于重构的方法。异常检测性能的评价指标包括两个,即AUC(接受者操作特征曲线ROC下方面积)和MAP(平均精度均值)。两个指标的值越高,表示性能越好。共设置三组实验,训练率分别为60%、70%和80%。其中突出显示了每个比率的最佳性能(标注数据标签)。本发明方法在三种训练率下的AUC均优于其他方法。每种方法在70%的训练率都取得较高的效果。此外,Wide&Deep CNN方法也很具有竞争力。但是由于本发明方法不需要标签信息,所以比用标签训练的Wide&Deep CNN方法更实用。
图4展示了训练和验证数据在不同迭代次数下的均方误差损失,训练和验证数据的总损失可以在有限的迭代内收敛,这表明了本发明的优越性。
Claims (8)
1.一种基于自监督学习的时序电力数据异常检测方法,其特征在于包括以下步骤:
1)模型设计:构建基于门控循环神经网络自编码器的多任务的异常检测模型,包括样本间对比任务、重构任务和样本内预测任务;
2)模型训练:获取企业监测的用电量的时间序列数据集X={x1,x2,...,xN},并进行预处理操作;预处理后,对每一个传感器的时间序列数据根据周期性规律切分成小样本,作为输入训练异常检测模型;
3)异常检测:模型训练好后,将待检测的数据进行预处理并根据周期性规律切分输入异常检测模型,并输出重构任务损失与样本内预测任务损失,将二者输入异常评分模型得出异常评分;判断异常评分是否超过阈值,若超过,则判断为异常,否则视为正常。
3.根据权利要求1所述一种基于自监督学习的时序电力数据异常检测方法,其特征在于,步骤1)所述样本间对比任务通过多头注意力块和MLP层来捕捉不同监测点相互之间异常的模式;
1)X的每个输入都以一种自注意的方式表示,如公式所示:
2)多头注意力表示为如下公式:
MultiHead(Q,K,V)=[head1,head2,...,headh]WO
其中“[head1,head2,...,headh]”表示矩阵拼接,WO表示可训练的权重矩阵;
3)多头注意力的输出表示为cj=MultiHead(Q,K,V)
4)给定一批M个样本,将来自同一传感器的样本视为正对(cj,cj+),来自不同的传感器视为负对(cj,cj-),对比损失函数如下:
其中<cj,cj+>,<cj,cj->表示两个样本之间相似性的内积;τ表示温度参数;Nj表示来自与j同一传感器的样本集。
6.根据权利要求1所述一种基于自监督学习的时序电力数据异常检测方法,其特征在于,步骤2)所述的企业用电量数据集预处理方法,其特征在于,针对缺失值,若其前后相邻数据没有缺失值,则取平均值来填充此缺失值;否则填充为0。
8.根据权利要求1所述一种基于自监督学习的时序电力数据异常检测方法,其特征在于,步骤3)所述的异常评分模型的公式如下:
Score=λ1Lossinter+λ2Lossintra+λ3Lossrecon
其中λ是三个任务的平衡参数,λ1、λ2、λ3分别设置为0.25、0.25和0.5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211278394.8A CN115688035A (zh) | 2022-10-19 | 2022-10-19 | 一种基于自监督学习的时序电力数据异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211278394.8A CN115688035A (zh) | 2022-10-19 | 2022-10-19 | 一种基于自监督学习的时序电力数据异常检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115688035A true CN115688035A (zh) | 2023-02-03 |
Family
ID=85067097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211278394.8A Pending CN115688035A (zh) | 2022-10-19 | 2022-10-19 | 一种基于自监督学习的时序电力数据异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688035A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361673A (zh) * | 2023-06-01 | 2023-06-30 | 西南石油大学 | 准周期时间序列无监督异常检测方法、系统及终端 |
CN117034180A (zh) * | 2023-10-10 | 2023-11-10 | 国网湖北省电力有限公司武汉供电公司 | 电力通信设备数据异常检测方法、系统及存储介质 |
CN117034179A (zh) * | 2023-10-10 | 2023-11-10 | 国网山东省电力公司营销服务中心(计量中心) | 基于图神经网络的异常电量识别及溯源方法及系统 |
CN117056874A (zh) * | 2023-08-17 | 2023-11-14 | 国网四川省电力公司营销服务中心 | 一种基于深度孪生自回归网络的无监督窃电检测方法 |
CN117150407A (zh) * | 2023-09-04 | 2023-12-01 | 国网上海市电力公司 | 一种工业碳排放数据的异常检测方法 |
CN117237165A (zh) * | 2023-09-22 | 2023-12-15 | 中节能天融科技有限公司 | 一种检测造假数据的方法 |
CN117272055A (zh) * | 2023-11-23 | 2023-12-22 | 国网山西省电力公司营销服务中心 | 一种基于滤波增强自编码器的电能表异常检测方法及装置 |
CN117559450A (zh) * | 2024-01-12 | 2024-02-13 | 吉林大学 | 一种基于反馈模型提升非介入式负荷监测精度的方法 |
CN117851920A (zh) * | 2024-03-07 | 2024-04-09 | 国网山东省电力公司信息通信公司 | 电力物联数据异常检测方法及系统 |
CN117937475A (zh) * | 2024-03-21 | 2024-04-26 | 合肥工业大学 | 基于多模态时序学习的负荷预测模型、方法和系统 |
-
2022
- 2022-10-19 CN CN202211278394.8A patent/CN115688035A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361673A (zh) * | 2023-06-01 | 2023-06-30 | 西南石油大学 | 准周期时间序列无监督异常检测方法、系统及终端 |
CN116361673B (zh) * | 2023-06-01 | 2023-08-11 | 西南石油大学 | 准周期时间序列无监督异常检测方法、系统及终端 |
CN117056874B (zh) * | 2023-08-17 | 2024-08-13 | 国网四川省电力公司营销服务中心 | 一种基于深度孪生自回归网络的无监督窃电检测方法 |
CN117056874A (zh) * | 2023-08-17 | 2023-11-14 | 国网四川省电力公司营销服务中心 | 一种基于深度孪生自回归网络的无监督窃电检测方法 |
CN117150407B (zh) * | 2023-09-04 | 2024-10-01 | 国网上海市电力公司 | 一种工业碳排放数据的异常检测方法 |
CN117150407A (zh) * | 2023-09-04 | 2023-12-01 | 国网上海市电力公司 | 一种工业碳排放数据的异常检测方法 |
CN117237165A (zh) * | 2023-09-22 | 2023-12-15 | 中节能天融科技有限公司 | 一种检测造假数据的方法 |
CN117237165B (zh) * | 2023-09-22 | 2024-05-07 | 中节能数字科技有限公司 | 一种检测造假数据的方法 |
CN117034180B (zh) * | 2023-10-10 | 2023-12-22 | 国网湖北省电力有限公司武汉供电公司 | 电力通信设备数据异常检测方法、系统及存储介质 |
CN117034179B (zh) * | 2023-10-10 | 2024-02-02 | 国网山东省电力公司营销服务中心(计量中心) | 基于图神经网络的异常电量识别及溯源方法及系统 |
CN117034179A (zh) * | 2023-10-10 | 2023-11-10 | 国网山东省电力公司营销服务中心(计量中心) | 基于图神经网络的异常电量识别及溯源方法及系统 |
CN117034180A (zh) * | 2023-10-10 | 2023-11-10 | 国网湖北省电力有限公司武汉供电公司 | 电力通信设备数据异常检测方法、系统及存储介质 |
CN117272055B (zh) * | 2023-11-23 | 2024-02-06 | 国网山西省电力公司营销服务中心 | 一种基于滤波增强自编码器的电能表异常检测方法及装置 |
CN117272055A (zh) * | 2023-11-23 | 2023-12-22 | 国网山西省电力公司营销服务中心 | 一种基于滤波增强自编码器的电能表异常检测方法及装置 |
CN117559450A (zh) * | 2024-01-12 | 2024-02-13 | 吉林大学 | 一种基于反馈模型提升非介入式负荷监测精度的方法 |
CN117559450B (zh) * | 2024-01-12 | 2024-03-29 | 吉林大学 | 一种基于反馈模型提升非介入式负荷监测精度的方法 |
CN117851920A (zh) * | 2024-03-07 | 2024-04-09 | 国网山东省电力公司信息通信公司 | 电力物联数据异常检测方法及系统 |
CN117937475A (zh) * | 2024-03-21 | 2024-04-26 | 合肥工业大学 | 基于多模态时序学习的负荷预测模型、方法和系统 |
CN117937475B (zh) * | 2024-03-21 | 2024-08-13 | 合肥工业大学 | 基于多模态时序学习的负荷预测模型、方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115688035A (zh) | 一种基于自监督学习的时序电力数据异常检测方法 | |
CN111914873B (zh) | 一种两阶段云服务器无监督异常预测方法 | |
Liu et al. | LSTM-GAN-AE: A promising approach for fault diagnosis in machine health monitoring | |
CN114386521B (zh) | 时间序列数据的异常检测方法、系统、设备和存储介质 | |
Du et al. | GAN-based anomaly detection for multivariate time series using polluted training set | |
WO2021257128A2 (en) | Quantum computing based deep learning for detection, diagnosis and other applications | |
CN116760742B (zh) | 基于多阶段混合时空融合的网络流量异常检测方法及系统 | |
CN112087442B (zh) | 基于注意力机制的时序相关网络入侵检测方法 | |
CN114676742A (zh) | 一种基于注意力机制和残差网络的电网异常用电检测方法 | |
Son et al. | Deep learning-based anomaly detection to classify inaccurate data and damaged condition of a cable-stayed bridge | |
CN114760098A (zh) | 一种基于cnn-gru的电网虚假数据注入检测方法及装置 | |
Mao et al. | Unsupervised deep multitask anomaly detection with robust alarm strategy for online evaluation of bearing early fault occurrence | |
Ye et al. | A novel self-supervised learning-based anomalous node detection method based on an autoencoder for wireless sensor networks | |
Gu et al. | An improved sensor fault diagnosis scheme based on TA-LSSVM and ECOC-SVM | |
CN114841072A (zh) | 一种基于差分融合Transformer的时序预测方法 | |
Shi et al. | A novel approach to detect electricity theft based on conv-attentional Transformer Neural Network | |
Takiddin et al. | Deep autoencoder-based detection of electricity stealth cyberattacks in AMI networks | |
CN116520806A (zh) | 一种工业系统智能故障诊断系统及其方法 | |
CN115964258A (zh) | 基于多时序分析的物联网卡异常行为分级监测方法及系统 | |
CN117786529A (zh) | 一种风电机组scada数据智能修复方法 | |
Zhang et al. | A flexible monitoring framework via dynamic-multilayer graph convolution network | |
Li et al. | Tadl: Fault localization with transformer-based anomaly detection for dynamic microservice systems | |
Saneja et al. | A hybrid approach for outlier detection in weather sensor data | |
Wang et al. | Remaining useful life prediction for space bearing with cage friction fault based on data pre-screening and gated recurrent unit | |
Zhang et al. | Time series anomaly detection for smart grids via multiple self-supervised tasks learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |