language: cn
model_unique_abbr: statistical_test_method_for_cross_outliers
version: 1.0

identification:
  docker_image_name: statistical_test_method_for_cross_outliers:1.0
  model_name: 基于统计检验的二元空间点过程异常探测
  semantic: Binary space point process anomaly detection algorithm based on statistical test
  description: 基于统计检验的二元空间点过程异常探测算法是一种发现两元地理空间点对象空间分布及其依赖关系显著异常的非参数统计检验方法。该算法将空间点对象分为基本实体和参考实体，利用交叉K函数检验两类点对象共现的显著性，将基本实体共现强度定义为缓冲区邻域中的参考实体的个数。进一步利用层次约束的Delaunay三角剖分为基本实体，构建稳健合理的空间邻域关系。在此基础上，基于α-shape算法构建支撑域，利用空间随机过程为基础构建零模型，利用蒙特卡洛模拟检验空间交叉异常的显著性。最后，通过生存距离对空间交叉异常模式稳定性进行评价分析。
  category_application: 描述型
  category_data:
    - 二元空间点过程异常探测
  keywords:
    - 异常探测


parameter_info:
  parameters:
    - arg_name: data_path
      is_single_en_dash: false
      param_type: input_data
      name: 空间点数据
      description: "shp格式的点数据集文件"
      data_type: shp
      data_semantic: spatial_point_data

    - arg_name: buffer_distance
      is_single_en_dash: false
      param_type: param

      name: 缓冲距离
      description: "主点的缓冲距离，float类型数值，默认为150"
      data_type: float
      data_semantic: buffer_distance
      specification:
        default: 150

    - arg_name: alpha
      is_single_en_dash: false
      param_type: param
      name: alpha参数
      description: "alpha形状算法中的alpha参数，float类型数值，默认为0.01"
      data_type: float
      data_semantic: alpha param
      specification:
         default: 0.01


    - arg_name: beta
      is_single_en_dash: false
      param_type: param
      name: β参数
      description: "β参数，用于确定Delaunay三角形网络中的长边阈值，float类型数值，默认为3.0"
      data_type: float
      data_semantic: β param
      specification:
        default: 3

    - arg_name: p
      is_single_en_dash: false
      param_type: param
      name: 显著性水平阈值
      description: "用于确定点是否为异常值的显著性水平阈值，float类型数值，默认为0.05"
      data_type: float
      data_semantic: Significance level threshold
      specification:
        default: 0.05

    - arg_name: interval
      is_single_en_dash: false
      param_type: param
      name: 缓冲区间隔数
      description: "划分的缓冲区间隔数，int类型数值，默认为10"
      data_type: int
      data_semantic: Buffer interval number
      specification:
         default: 10

    - arg_name: output
      is_single_en_dash: false
      param_type: output_data
      name: 异常探测结果
      description: "带有显著性水平p值的异常探测结果保存为csv文件。字段noise表示异常结果，正常的为1，异常的为0"
      data_type: csv
      data_semantic: detection_result


application:
  domain: 空间-专题属性异常检测
  objective: 这种算法适用于考虑多类空间点的共现来统计识别显着的异常值的异常探测应用。
  dimension:
    - 二维
  spatial_resolution:
  spatial_reference:
  mechanism: 该算法将空间点对象分为基本实体和参考实体，利用交叉K函数检验两类点对象共现的显著性，将基本实体共现强度定义为缓冲区邻域中的参考实体的个数。进一步利用层次约束的Delaunay三角剖分为基本实体，构建稳健合理的空间邻域关系。在此基础上，基于α-shape算法构建支撑域，利用空间随机过程为基础构建零模型，利用蒙特卡洛模拟检验空间交叉异常的显著性。


operation:
  usage: 该算法需要七个参数，空间点数据(input)，缓冲距离(buffer_distance)，alpha值(alpha)，
          beta值(beta)，显著性水平阈值(p)，缓冲区间隔数(interval)，异常探测结果(output)。
  exec_example:
    - docker run -v $(pwd):/data statistical_test_method_for_cross_outliers:1.0 --data_path, ../data/all.shp, --buffer_distance, 150, --alpha, 0.01, --beta, 0.05, --p, 3, --interval,10,--output, result.shp
  output_display:
    - 输出带有显著性水平p值的异常探测结果保存为csv文件。字段noise表示异常结果，正常的为1，异常的为0，可以根据noise字段进行异常点的可视化
technique:
  language:
    - Python
  os:
    - Linux
    - Windows
source:
  maintainer:  Wenhao Chen
  organization: Central South University
  contact: wenhaochen@csu.edu.cn
  repository:
  integrated_softwares:
    - name: Numpy
      version: 1.24.3
      license:
  references:
    - "Deng, M., Y ang, X., Shi, Y ., et al 2018. A non-parametric statistical test method to detect significant cross-outliers in spatial points. Transactions in GIS, 22(6): 1462–1483."

