KR101172579B1 - 이상 속성을 포함하는 데이터의 검출 방법 및 장치 - Google Patents

이상 속성을 포함하는 데이터의 검출 방법 및 장치 Download PDF

Info

Publication number
KR101172579B1
KR101172579B1 KR1020090124331A KR20090124331A KR101172579B1 KR 101172579 B1 KR101172579 B1 KR 101172579B1 KR 1020090124331 A KR1020090124331 A KR 1020090124331A KR 20090124331 A KR20090124331 A KR 20090124331A KR 101172579 B1 KR101172579 B1 KR 101172579B1
Authority
KR
South Korea
Prior art keywords
data
pattern
attributes
importance
attribute
Prior art date
Application number
KR1020090124331A
Other languages
English (en)
Other versions
KR20110067647A (ko
Inventor
배두환
윤경아
Original Assignee
한국과학기술원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020090124331A priority Critical patent/KR101172579B1/ko
Publication of KR20110067647A publication Critical patent/KR20110067647A/ko
Application granted granted Critical
Publication of KR101172579B1 publication Critical patent/KR101172579B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

하나 이상의 속성을 포함하는 데이터 집합에서 이상 속성을 포함하는 데이터를 검출하기 위한 방법 및 장치가 개시된다. 이 방법은 데이터에 포함되는 속성들의 수치 범위를 각각 적어도 하나의 구간(interval)으로 분할하고, 속성들의 값을 해당 값을 포함하는 구간으로 각각 대체함으로써 데이터를 트랜잭션으로 변환하는 데이터 전처리 단계, 트랜잭션들의 집합으로부터 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(data association pattern, DAP)을 결정하는 데이터 연관 패턴 결정 단계, 결정된 데이터 연관 패턴들 각각의 중요도(significance)를 결정하는 중요도 결정 단계, 및 데이터 연관 패턴을 부분 집합으로서 포함하는 데이터를 결정하고, 결정된 데이터의 속성들에 대해 데이터 연관 패턴의 중요도를 이용하여 데이터가 이상 속성을 포함하는지 여부를 결정하는 이상치 판정 단계를 포함한다. 본 발명에 의하여, 여러 개의 이상 속성을 가지는 이상치 데이터도 높은 신뢰도로 식별할 수 있다 .
소프트웨어 프로젝트 데이터, 소프트웨어 데이터, 데이터 품질, 이상치, 데이터 패턴, 오류 데이터

Description

이상 속성을 포함하는 데이터의 검출 방법 및 장치{Pattern-based method and apparatus of identifying data with abnormal attributes}
본 발명은 여러 개의 속성을 가지는 데이터의 집합 중에서 이상 속성을 가지는 이상치 데이터를 검출하는 기술에 관련되며, 특히, 소프트웨어 프로젝트 데이터(software project data, SPD)의 품질을 증진시키기 위해 이 데이터의 정상적인 특성을 반영하는 패턴을 기반으로 이에 부합하지 않는 이상치들과 이들의 이상 속성을 검출하는 기술에 관한 것이다.
소프트웨어 프로젝트 데이터는 향후 발생할 소프트웨어 프로젝트 관리를 목적으로 하는 속성으로 구성되어진 완료된 소프트웨어 프로젝트 정보들의 집합으로서 소프트웨어 프로젝트 데이터 인스턴스(software project data instance, 이하 "SPD 인스턴스")들의 집합으로 표시된다. 도 1은 11개의 SPD 인스턴스들과 5개의 속성으로 구성된 소프트웨어 프로젝트 데이터를 예로 보이고 있다. 또한, 이상치(outlier)란 특정 속성에 비정상적인 값들을 포함하고 있는 SPD 인스턴스로 정의되고, 비정상적인 값을 포함하고 있는 속성을 이상 속성(abnormal attribute)이라고 정의한다. 도 1에서, SPD 인스턴스들인 PRJ-016과 PRJ-030은 이상치들이고 이들 은 Defects와 Size 속성에서 각각 비정상값을 갖기 때문에 이들 속성들이 각 이상치들에 대해 이상 속성이 된다.
소프트웨어 프로젝트 데이터는 프로젝트 관리자가 소프트웨어 프로젝트의 관리와 관련된 의사결정에 사용하는 데이터이므로 이의 품질은 매우 중요하다. 하지만, 소프트웨어 프로젝트 데이터의 품질의 중요성에도 불구하고, 실무에서 이 데이터들을 수집할 때는 문제성있는 데이터(problematic data)들도 함께 불가피하게 수집된다. 이러한 문제성있는 데이터들은 특정 속성에 비정상적인 값들을 포함하고 있는 프로젝트 인스턴스(project instance)들이다. 소프트웨어 프로젝트 데이터의 품질을 높이기 위해서는 이상치와 이들의 이상 속성의 검출이 중요한데, 사람에 의한 직접적인 검출은 매우 어렵고 시간이 소요되는 작업이다. 따라서 이러한 데이터의 식별이 데이터 품질 향상을 위해 필수적임에도 불구하고 소프트웨어 프로젝트 데이터를 대상으로 한 기법들의 개발이 많이 진행되어 있지 않은 상태이다.
특히, 생명정보 분야 및 데이터 마이닝 분야에서는 다양한 데이터들을 바탕으로 이러한 연구가 많이 진행되어 있는 상태이나 이들 대부분은 오류정보를 포함하고 있는 특정 인스턴스를 찾는 데만 국한되어 있고, 실제 이상치로 찾은 인스턴스 내에서 이상 속성을 찾는 것에는 관심을 두지 않았다. 이에 대해서는, V. J. Hodge, J. Austin. A survey of outlier detection methodologies, Artificial Intelligence Review, Vol 22, 2004, pp85-126.을 참조한다.
소프트웨어 프로젝트 데이터를 포함한 소프트웨어 개발 데이터들을 대상으로 개발된 기법으로는 Khoshgoftaar와 Hulse에 의해 개발된 PANDA(Pairwise Attribute Noise Detection Algorithm) 기법, AOI(Attribute Of Interest) 기법, 및 Liebchen 과 동료들에 의해 개발된 C4.5를 활용한 기법 등이 있다.
먼저 PANDA 기법은 V. J. Hulse, T. M. Khoshgoftaar, H. Juang. The pairwise attribute noise detection algorithm, Knowledge and Information Systems Journal, Vol 11, No. 2, 2007, pp170-190.에 기재되어 있는데, 이것은 하나의 속성에 대해 비슷한 값을 갖는 인스턴스들의 집합에서 정상치와의 값의 차이를 잡음 인자(noise factor)라고 정의하고, 각 인스턴스의 모든 속성들에 대한 잡음 인자의 합에 따라 이상치를 결정하는 방식이다. 이 합에 따라 이상치 순위를 결정하는데, 이 합이 클수록 이상치가 될 가능성이 높으며 최종적으로 전문가가 이 값을 보고 이상치를 결정하게 된다. 이 기법은 쉽게 사용할 수 있는 반면 어떤 속성이 이상 속성인지에 대한 정보를 제공하지 않는다.
AOI 기법은 T. M. Khoshgoftaar, J. V. Hulse. Determining noisy instances relative to attributes of interest, Intelligent Data Analysis, Vol 10, No. 3, 2006, pp251-268.에 기재되어 있는데, 이것은 PANDA를 이용한 기법이다. 즉, AOI 기법은 각 인스턴스에 대해 특정 속성을 포함시켰을 때와 제외되었을 때 각각에 대한 잡음 인자 합을 구하고 이들의 이상치 순위의 차이를 구한다. 그리고, 이 차이가 클수록 이 인스턴스가 해당 속성에서 이상치가 된다고 결정한다. 전체 속성에 적용하면 이상치들과 이들의 이상 속성을 구할 수 있다. AOI 기법의 단점은 어떤 이상치가 특정 개수 이상의 이상 속성을 가질 경우 이 이상치를 식별하지 못한다는 점이며, 예를 들어 참조 문헌에서는 16개의 속성으로 구성된 데이터의 경우 5개 이 상의 이상 속성을 갖는 이상치는 식별하지 못한다.
Liebchen의 C4.5 기법은 G. Liebchen, B. Twala, M. Shepperd, M. Cartwright, M. Stephens, Filtering, robusting filtering, polishing: techniques for addressing quality in software data, Proceedings of the first ACM/IEEE international symposium on Software Engineering and Measurement, 2007, pp99-106.에 기재되는데, 이것은 먼저 effort 속성을 기준으로 C4.5 분류모델을 만들고 이에 부합하지 않는 인스턴스를 이상치로 찾는다. 각 이상치들의 이상 속성을 찾기 위해, 찾은 이상치들을 제외한 정상 데이터들을 이용하여 각 속성들을 기준으로 각각 C4.5 분류모델을 만든다. 이렇게 생성된 C4.5 모델들을 찾은 이상치들에 적용하여 각 속성별로 잘못 분류되는 이상치들에 대해 해당 속성을 이상 속성으로 갖는 것으로 결정한다. C4.5 기법은 데이터에 대해 클래스 레이블(class label), 즉 C4.5 분류모델을 생성 시 기준으로 사용된 속성과 각각의 다른 모든 속성들은 강한 상관관계에 있으나, 클래스 레이블을 제외한 속성들 간에는 약한 상관관계가 있다는 가정을 가지고 있다. 그러나, 이 가정은 각 속성들이 강한 상관관계를 갖는 소프트웨어 프로젝트 데이터의 특성이 다르므로, C4.5 기법은 기반 기술이 소프트웨어 프로젝트 데이터인 경우에는 적합하지 않다. 또, 클래스 레이블을 이상 속성으로 갖는 이상치는 잘 찾지만, 다른 속성들을 이상 속성으로 갖는 경우 식별성능이 떨어지는 단점을 가지고 있다.
문헌 Q. Song, M. Shepperd, M. Cartwright, C. Mair. Software detect association mining and defect correction effort prediction, IEEE Transactions on software Engineering, Vol 32, No. 2, 2006, pp69-82.을 참조하면, C4.5 분류모델을 통해 생성되면서 데이터의 정상 특성을 반영하는 규칙(rule) 들은 데이터 마이닝 분야의 빈번 패턴(frequent pattern)들을 기반으로 추출되는 연관규칙(association rule) 보다 덜 정확하다고 알려져 있다. 따라서, 빈번 패턴과 연관규칙에서 제공하는 척도들인 지지도(support) 및 신뢰도(confidence)를 사용하여 데이터의 정상 특성을 반영하는 패턴을 찾고 이를 이용하여 이상치들과 이들의 이상 속성을 식별하는 기법이 J. Han, M. Kamber, Data Mining: concepts and techniques, 2nd edition, Morgan Kaufmann, 2006. 에 소개된다. 더 나아가, 소프트웨어 프로젝트 데이터가 아닌 다른 데이터를 활용하여 빈번 패턴을 이용하여 이상치를 식별하는 기법도 Z. He, X. Xu, J. Z. Huang, S. Deng, FP-outlier: frequent pattern based outlier detection, Computer Science and Information Systems, Vol. 2, no. 1, 2005, pp103-118.에 소개된다. 하지만, 이 기법은 어떤 이상치가 짧고 지지도가 강한 패턴을 포함하고 있을 경우 이를 정상으로 판별할 가능성이 높다는 단점을 가지고 있다.
그러나, 소프트웨어 데이터(즉, 소프트웨어 개발 도중 발생된 데이터)를 대상으로 개발된 이상치들과 이들의 이상 속성들을 식별하는 기법들은 다음과 같은 단점을 가지고 있다.
우선, 어떤 이상치가 특정 개수 이상의 이상 속성을 가질 경우 이 이상치를 식별하지 못한다. 실제 소프트웨어 프로젝트 데이터의 경우 많은 이상 속성을 갖는 이상치가 발생할 수 있다(예: 중소 규모의 프로젝트만을 주로 수행하던 개발 조직 에서 대형 프로젝트를 수주하여 수행한 경우 공수, 개발된 코드 크기 등 대부분의 속성들의 값이 예전 수행되었던 프로젝트의 값보다 큰 값을 지니게 된다).
또한, C4.5를 기반으로 한 기법의 경우, C4.5가 갖는 데이터에 대한 가정이 소프트웨어 프로젝트 데이터에 적합하지 않으므로 그 결과도 정확도가 떨어진다. 또한, 클래스 레이블을 이상 속성으로 갖는 이상치는 잘 찾으나, 다른 속성들을 이상 속성으로 갖는 경우 식별 성능이 떨어지는 단점을 가지고 있다.
더 나아가, C4.5보다 정확한 데이터내의 규칙을 추출하는 것으로 알려진 연관규칙의 추출에 사용되는 빈번 패턴을 활용한 이상치 식별 기법의 경우 지지도만을 반영하므로 그 정확도가 떨어진다.
그러므로, 이러한 단점을 극복하고 소프트웨어 프로젝트 데이터의 이상치를 정확하게 판별할 수 있는 기법이 절실히 요구된다.
본 발명의 목적은 이상 속성들을 식별할 수 있는 이상치 데이터 식별 기법을 제공하는 것이다.
본 발명의 다른 목적은 소프트웨어 데이터에서 이상치가 특정 개수 이상의 이상 속성을 가질 경우에도 이 이상치를 식별할 수 있는 이상치 데이터 식별 기법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 C4.5 기법의 경우 클래스 레이블을 이상 속성으로 갖는 이상치는 물론, 다른 속성들을 이상 속성으로 갖는 이상치 데이터도 신뢰성 높게 식별할 수 있고, 연관 규칙의 추출에 사용되는 빈번 패턴을 활용한 이상치 식별 기법의 경우 지지도 외에 다른 척도를 더 적용함으로써 그 정확도를 향상시킬 수 있는 이상치 데이터 식별 장치를 제공하는 것이다.
상기와 같은 목적들을 달성하기 위한 본 발명의 일면은, 하나 이상의 속성을 포함하는 데이터 집합에서 이상 속성을 포함하는 데이터를 검출하기 위한 방법에 관한 것이다. 이 방법은 데이터에 포함되는 속성들의 수치 범위를 각각 적어도 하나의 구간(interval)으로 분할하고, 속성들의 값을 해당 값을 포함하는 구간으로 각각 대체함으로써 데이터를 트랜잭션으로 변환하는 데이터 전처리 단계, 트랜잭션들의 집합으로부터 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(data association pattern, DAP)을 결정하는 데이터 연관 패턴 결 정 단계, 결정된 데이터 연관 패턴들 각각의 중요도(significance)를 결정하는 중요도 결정 단계, 및 데이터 연관 패턴을 부분 집합으로서 포함하는 데이터를 결정하고, 결정된 데이터의 속성들에 대해 데이터 연관 패턴의 중요도를 이용하여 데이터가 이상 속성을 포함하는지 여부를 결정하는 이상치 판정 단계를 포함한다. 데이터 전처리 단계는 속성들의 값에 계층적 군집화(hierarchical clustering) 기법을 적용하여 속성들의 값이 포함될 수 있는 수치 범위를 적어도 하나의 구간으로 분할(discretization)하는 단계를 더 포함한다. 데이터 연관 패턴 결정 단계는, 트랜잭션들의 집합으로부터 서로 관련성이 있는 구간들을 추출하여 패턴 p를 생성하는 단계, 전체 데이터 내에서의 패턴 p의 발생 빈도를 나타내는 지지도(support) 및 패턴을 구성하는 구간들 간의 상관 관계의 정도를 나타내는 신뢰도(confidence)를 연산하는 단계, 및 소정의 임계치보다 큰 지지도 및 신뢰도를 가지는 패턴 p를 데이터 연관 패턴으로서 결정하는 단계를 더 포함한다. 특히, 중요도 결정 단계는 패턴 p의 지지도 및 신뢰도를 각각 정규화하고, 정규화된 지지도 및 신뢰도의 평균을 패턴 p의 강도(strength)로서 결정하는 단계, 및 패턴 p의 강도를 정규화하고, 정규화된 강도 및 패턴 p를 구성하는 구간들의 개수를 고려하여 패턴 p의 중요도를 결정하는 단계를 더 포함한다. 바람직하게는, 이상치 판정 단계는 데이터 연관 패턴을 부분 집합으로서 포함하는 것으로 결정된 데이터의 속성들에 각각에 대하여, 속성에 상응하는 구간을 포함하는 데이터 연관 패턴들의 중요도를 합산하는 단계, 합산된 속성별 중요도 중 최대값을 이용하여 각 속성별 중요도를 정규화하는 단계, 정규화된 결과를 소정의 임계치와 비교하는 단계, 및 정규화된 결과가 임계치보다 작을 경우 데이터가 이상 속성을 포함하는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 한다. 특히, 본 발명에서 식별되는 데이터는 장래의 소프트웨어 프로젝트 관리에 이용되는 속성으로 구성되는 완료된 소프트웨어 프로젝트 정보들의 집합인 소프트웨어 프로젝트 데이터(software project data)인 것을 특징으로 한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 다른 면은 하나 이상의 속성을 포함하는 데이터 집합에서 이상 속성을 포함하는 데이터를 검출하기 위한 장치에 관한 것이다. 본 발명에 의한 장치는 데이터에 포함되는 속성들의 수치 범위를 각각 적어도 하나의 구간으로 분할하고, 속성들의 값을 해당 값을 포함하는 구간으로 각각 대체함으로써 데이터를 트랜잭션으로 변환하는 데이터 전처리부, 트랜잭션들의 집합으로부터 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(DAP)을 결정하는 데이터 연관 패턴 결정부, 결정된 데이터 연관 패턴들 각각의 중요도를 결정하는 중요도 결정부, 및 데이터 연관 패턴을 부분 집합으로서 포함하는 데이터를 결정하고, 결정된 데이터의 속성들에 대해 데이터 연관 패턴의 중요도를 이용하여 데이터가 이상 속성을 포함하는지 여부를 결정하는 이상치 판정부를 포함한다. 데이터 전처리부는 속성들의 값에 계층적 군집화 기법을 적용하여 속성들의 값이 포함될 수 있는 수치 범위를 적어도 하나의 구간으로 분할한다. 데이터 연관 패턴 결정부는 트랜잭션들의 집합으로부터 서로 관련성이 있는 구간들을 추출하여 패턴 p를 생성하고, 전체 데이터 내에서의 패턴 p의 발생 빈도를 나타내는 지지도 및 패턴을 구성하는 구간들 간의 상관 관계의 정도를 나타내는 신뢰도를 연산하며, 및 소정의 임계치보다 큰 지지도 및 신뢰도를 가지는 패턴 p를 데이터 연관 패턴으로서 결정한다. 특히, 중요도 결정부는 패턴 p의 지지도 및 신뢰도를 각각 정규화하고, 정규화된 지지도 및 신뢰도의 평균을 패턴 p의 강도로서 결정하며, 및 패턴 p의 강도를 정규화하고, 정규화된 강도 및 패턴 p를 구성하는 구간들의 개수를 고려하여 패턴 p의 중요도를 결정한다. 더 나아가, 이상치 판정부는 데이터 연관 패턴을 부분 집합으로서 포함하는 것으로 결정된 데이터의 속성들에 각각에 대하여, 속성에 상응하는 구간을 포함하는 데이터 연관 패턴들의 중요도를 합산하고, 합산된 속성별 중요도 중 최대값을 이용하여 각 속성별 중요도를 정규화하며, 정규화된 결과를 소정의 임계치와 비교하고, 및 정규화된 결과가 임계치보다 작을 경우 데이터가 이상 속성을 포함하는 것으로 결정하는 것을 특징으로 한다.
또한, 본 발명은 상기 데이터 검출 장치 및 방법을 기능시키기 위한 프로그램이 기록되며, 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 의하여, 소프트웨어 프로젝트 데이터의 품질을 향상시킴으로써 소프트웨어 프로젝트 관리자의 올바른 의사결정에 도움을 준다. 특히 소프트웨어 프로젝트 데이터는 비용 산정 모델과 같은 예측 모델들이나 분석 모델들을 생성하는데 사용된다. 이때 이상치들이 정상 데이터와 함께 모델 생성에 사용될 경우, 이 모델들의 정확도는 떨어지게 된다. 정확도가 낮은 모델들은 프로젝트 관리자의 잘못된 의사결정을 유도할 수 있으므로 소프트웨어 프로젝트 데이터의 높은 품질이 강조되며 이상치들은 제거되거나 따로 관리되어야만 한다. 본 발명은 이러한 이상 치를 식별해 줌으로서 이들 데이터의 품질향상에 도움을 준다.
또한, 이상치 뿐만 아니라 이상 속성을 식별하는 일 또한 전문가가 직접 수행하기에 어려운 일이다. 특히 수집된 데이터의 양이 많아지거나 관리하는 속성들의 개수가 늘어날 경우 이 작업은 더욱 어려워지는데, 본 발명에서는 이상치뿐만 아니라 이상 속성들까지 식별하여 전문가의 어려움을 경감시킨다.
또한, 이상 속성을 식별함으로서 품질 관리자는 데이터 수집시 자주 오류가 발생하는 속성을 분석하여 이의 발생원인을 제거하는 활동을 수행할 수 있다. 예로, 자주 이상 속성으로 발생하는 속성이 코드 크기(code size) 인 경우 데이터 수집시 단위를 확인하도록(가령, LOC인지 KLOC인지) 강조하거나, 코드 크기를 측정하는 표준을 다시 수립하여 데이터 수집 담당자에게 제공하는 등의 활동들을 들 수 있다.
뿐만 아니라, 식별된 이상 속성의 값이 오류값으로 판단될 경우, 이를 수정할 수 있는 기회를 제공한다. 일반적으로 많은 기업들이 적은 양의 소프트웨어 프로젝트 데이터를 가지고 있는데, 이들 데이터 내에서 적은 수의 이상 속성들을 갖는 이상치의 경우 삭제보다는 오류값을 정정하여 정상 데이터를 사용하는 편이 더 낫다. 이상 속성에 대한 정보가 없는 채로 이상치만 식별할 경우 이를 수정하지 못하고 이상치가 가지고 있는 중요한 정상적인 정보들을 손실하게 된다.
또한, 본 발명에 의하여 하나의 이상치가 몇 개 이상의 이상 속성을 갖느냐에 대한 조건이나 사용자에 의해 지정된 특정 속성이 이상 속성이냐 아니냐에 대한 조건에 대해 본 발명의 이상치와 이상 속성의 식별성능이 영향을 받지 않는다. 또 한 데이터의 정상 특성을 반영하는 패턴을 기존 연구보다 정확히 추출할 수 있으므로 기존 연구들보다 더 정확한 식별 결과를 제공한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서, 이상치는 정상적으로 수집되었으나 드물게 발생되는 특성을 갖는 소프트웨어 프로젝트와 관련된 데이터일 수도 있고, 또는 측정 중 발생된 문제로 인해 오류값을 지닌 데이터일 수도 있다. 따라서 소프트웨어 프로젝트 데이터 내에서 식별된 이상치들을 모두 삭제하는 것보다는 이들이 정상적으로 수집되었는지 또는 비정상적으로 수집되었는지에 대해 전문가의 판단을 통해 결정한 후 이에 따라 다르게 다루는 것이 필요하다.
도 2a 및 도 2b는 이상치가 모델의 정확도에 미치는 영향을 도시하는 도면이다.
도 2a 및 도 2b는 전체 팀 크기와 개발 공수와의 관계를 보이는 모델을 보이고 있는데, 도 2a는 2개의 이상치 삭제 전 상황을, 도 2b는 이상치 삭제 후 상황을 설명한다. 이때 도 2b의 점선으로 보이는 모델이 도 2a의 모델과 동일한 모델로 이상치들을 포함하여 생성된 모델을 의미하는데, 이상치 삭제 후의 모델과 기울기의 차이가 많이 발생함을 알 수 있다. 도 2a 및 2b를 참조하면, 이상치가 정상적으로 식별된 것이든 아니든 의사 결정을 위한 분석이나 모델 생성 시에는 특정 소프트웨어 조직에서 주로 발생되는 소프트웨어 프로젝트들이 갖는 일반적인 특징을 왜곡시키는 경향이 있다는 점이다. 따라서 이들에 대한 관리는 다음과 같이 수행한다.
만약 식별된 이상치가 정상적으로 수집되었으나 드물게 발생되는 SPD 인스턴스인 경우 분석에 사용하지 말고 따로 관리하다가 비슷한 특성을 지니는 SPD 인스턴스들이 충분히 발생한 경우 분석에 사용하도록 한다. 반대로 식별된 이상치가 측정 도중 발생된 오류값을 가지고 있는 경우에는 이 오류값을 갖는 이상 속성의 수에 따라 관리하도록 한다. 즉, 하나의 이상치에 포함된 이상 속성의 수가 많을 경우 삭제하도록 하고, 그렇지 않을 경우 가능하다면 정상범위의 값을 예측하여 오류값을 수정하여 사용하도록 한다.
소프트웨어 프로젝트 데이터의 수집이 일반적으로 어렵고, 프로젝트 하나가 끝나야 한 개의 SPD 인스턴스가 수집되므로, 대체로 많은 소프트웨어 개발 조직들이 적은 양의 소프트웨어 프로젝트 데이터를 가지고 있다. 따라서 식별된 이상치를 삭제하는 것보다는 이의 이상 속성의 수가 적을 경우 이를 수정하여 이상치가 가지고 있는 정상값들을 활용하는 것이 좋다. 또한, 여러 이상치들로부터 자주 이상 속성으로 발생하는 속성의 경우는 주로 데이터 측정 및 수집 시 오류가 많이 발생하는 속성이 된다. 따라서 이러한 속성들에서 발생하는 오류의 원인을 조사하여 이를 방지하는 활동을 수행할 경우, 오류로 인한 이상치의 발생을 줄일 수 있고 수집되는 소프트웨어 프로젝트 데이터의 품질도 향상될 수 있다.
도 3은 본 발명의 일면에 따르는 이상치 데이터검출 방법을 개념적으로 나타내는 흐름도이다.
우선, 본 발명이 종래 기술과 다른 점을 간략히 정리하면 다음과 같다. 종래의 많은 연구들이 이상치만을 식별하는 기법을 개발하는데 관심을 가지고 있었고, 상대적으로 이상 속성 식별기법이나 소프트웨어 프로젝트 데이터 내의 이상치와 이상 속성 식별에는 관심이 적었다. 이러한 종래 기술의 문제점을 개선하기 위해 본 발명에서 고려한 점들은 다음과 같다.
첫째로, 특정 개수 이상의 이상 속성을 갖는 이상치를 식별하지 못하는 기법의 문제는 이 이상치가 다른 정상적인 프로젝트 인스턴스들이 갖는 속성값들에 비해 얼마나 다른 값을 갖는지에 대한 정보를 직접적으로 사용하지 않고 이들 정보를 이용한 이상치 순위를 사용하는 것에서 비롯된다. 따라서, 본 발명에서는 각 속성 들이 얼마나 정상적인가를 측정하는 척도를 개발한 후 이 값 그대로를 이상 속성의 식별에 사용하여 기존 기법이 갖는 문제점을 해결하였다.
둘째로, C4.5 기법을 사용하는 이상치 식별 기법이 클래스 레이블을 제외한 다른 속성들을 이상 속성으로 갖는 이상치들에 대해 식별 성능이 떨어지는 단점을 가지고 있는 이유는 C4.5가 데이터에 대해 갖는 가정과 관련이 있다. 즉, 이상치 식별의 기준이 되는 C4.5의 분류 모델이 클래스 레이블을 기준으로 생성되기 때문에, 클래스 레이블로 사용된 속성과 상관 관계가 적은 속성의 경우 C4.5 분류모델 생성에 영향을 덜 주게 되고, 결국 C4.5로부터 이상치 식별에 사용될 규칙의 생성(C4.5 분류모델이 생성되면 관련된 규칙이 함께 생성됨)시에 이 속성이 사용되지 않은 경우가 발생될 수도 있게 된다. 따라서 클래스 레이블로 사용된 속성이 이상 속성인 이상치에 대해서는 식별 성능이 매우 뛰어나지만 그렇지 않은 경우의 성능은 좋지 않게 된다. 특히, 다른 속성들과 다중 관계를 한번에 고려하지 않고, 클래스 레이블로 사용된 속성과 나머지 속성들 간의 관계를 한 속성씩 따로 고려하여 모델과 규칙을 생성하므로 생성된 규칙의 정확도가 더 떨어진다. 이와 같은 C4.5 기법의 단점을 개선하기 위해, 본 발명에서는 대상이 되는 데이터에 대해 어떠한 가정도 갖지 않으면서 데이터 내 속성들 간의 비교적 정확한 관계를 추출하는 것으로 알려진 빈번 패턴 마이닝(mining) 기법을 기반 기술로 선택하였다. 전술된 바와 같이, C4.5 분류 모델을 통해 생성되는 데이터의 정상 특성을 반영하는 규칙들은 데이터 마이닝 분야의 빈번 패턴들을 기반으로 추출되는 연관규칙(association rule) 보다 정확성이 떨어진다고 알려져 있는데, 빈번 패턴은 한번에 여러 속성 간 의 다중관계를 고려하여 추출된다. 따라서 C4.5를 사용한 이상치 식별기법의 단점은 빈번 패턴을 사용함으로서 해결된다.
셋째로, 빈번 패턴을 사용하여 이상치를 식별한 기존의 기법은 빈번 패턴만을 고려함으로서 어떤 이상치가 짧고 지지도가 강한 패턴을 포함하고 있을 경우 이를 정상으로 판별할 가능성이 높다는 단점을 가지고 있다. 이 단점을 극복하기 위해 본 발명에서는 패턴에 대한 신뢰도(confidence), 즉, 패턴을 구성하는 속성들 간의 상관관계의 강도를 나타내는 척도를 정의하고, 그리고 기존의 지지도 척도와 새로 정의한 신뢰도 척도, 그리고 패턴의 길이를 고려하여 추출된 패턴의 중요도를 측정하는 중요도(significance)라는 척도를 정의하였으며, 이 척도의 값은 각 프로젝트 인스턴스 내의 속성값의 정상여부를 판단하는데 사용된다. 종래 기술에서는 지지도만 고려했기 때문에 생긴 단점을 본 발명에서는 신뢰도와 패턴의 길이를 추가로 고려하여 해결한다.
이하, 도 2를 참조하여 본 발명에서 기반기술로 사용된 빈번 패턴 및 연관규칙 마이닝 기법을 설명하면 다음과 같다. 이하의 설명에서 전술된 문헌들 이외에 R. Agrawal, R. Srikant, Fast algorithms for mining association rules in large databases, Proceedings of 20th international conference on very large data bases (VLDB), 1994, pp487-499., J. Han, J. Pei, Y. Yin, R. Mao, Mining frequent patterns without candidate generation: a frequent-pattern tree approach, Data Mining and Knowledge Discovery, Vol. 8, 2004, pp53-87., 및 A. T. Ying, G. C. Murphy, R. Ng, M. C. Chu-Carroll, Predicting source code changes by mining change history, IEEE Transactions on Software Engineering, Vol. 30, No. 9, 2004, pp574-586.들이 참조되며, 이들은 본 명세서에 참조되어 통합된다.
먼저 I = {i1, i2, ..., im}를 아이템들의 집합이라고 하자. 그리고 D를 트랜잭션의 집합이라고 하는데, 이때 트랜잭션 T는 I의 부분집합이거나 동일한 아이템들의 집합이다. 패턴 X도 I의 부분집합이거나 동일한 아이템들의 집합이다. X의 지지도(support)는 supp (X)로 표시되며, 어떤 트랜잭션이 X에 있는 모든 아이템들을 포함할 확률을 의미한다.
빈번 패턴 p는 사용자에 의해 제공된 최소 지지도 임계치 즉, min _ supp보다 큰 supp (P) 값을 갖는 패턴을 의미한다. 이 패턴은 만약 어떤 패턴이 빈번하게 발생된다면 이 패턴의 하위 패턴(subpattern) 들도 각각 빈번하게 발생된다는 선험적 속성을 가지고 있다. 빈번 패턴을 찾기 위해서 본 발명에서는 FP-성장 알고리즘(Frequent-Pattern Tree approach)을 사용했으며, 이 기법은 빈번 패턴을 찾는 기존 알고리즘들에 비해 성능이 빠른 것으로 알려져 있다.
연관 규칙은 데이터 저장소 내의 데이터들 간의 관계를 찾는 기법이다. 연관규칙은 X ⇒ Y형태로 표시되고, 이때 X와 Y는 I의 부분집합이고 X∩Y = ?이다. 연관규칙의 지지도는 패턴의 지지도와 동일한 의미를 지니고, 이의 신뢰도(confidence)는 conf (X ⇒ Y)로 표시되고 conf (X ⇒ Y)=P(Y|X)= supp (X∪Y)/ supp (X)로 정의된다. 지지도 척도는 어떤 연관규칙의 발생될 확률을 측정하고, 신뢰도 척도는 이 규칙에 의해 유추되는 관계의 신뢰성을 측정한다. 특히, 어떤 연관규칙 X ⇒ Y이 높은 신뢰도를 갖는다는 것은, X를 포함하고 있는 트랜잭션들이 Y도 함께 포함하는 경우가 높다는 것을 의미한다. 관심있는 연관규칙 X ⇒ Y는 사용자에 의해 제공된 최소 지지도와 신뢰도 임계치, 즉, min _ suppmin _ conf, 보다 더 큰 supp (X ⇒ Y)conf (X ⇒ Y)를 각각 갖고 있는 연관규칙을 의미한다.
다시 도 2를 참조하면, 이상치 데이터가 존재하는지 판정할 데이터가 수신된다(S310). 그러면, 소프트웨어 프로젝트 데이터의 전처리를 통하여 데이터를 트랜잭션으로 변환한다(S320).
먼저, 소프트웨어 프로젝트 데이터를 d차원의 n개의 SPD 인스턴스들로 구성된 집합이라고 하고, 1≤i≤n이며 PI i 가 하나의 SPD 인스턴스라고 할 때, D = { PI 1 , PI 2 , ..., PI n }로 나타내자. 또, A = { a 1 , a 2 , ..., a d } 가 소프트웨어 프로젝트 데이터를 구성하는 모든 속성 a j 들의 집합이라고 하고 이때 1≤j≤d 라고 하자. 그러면, 어떤 SPD 인스턴스 PI i ∈D( a 1 : v i1 , a 2 :v i2 , ..., a d : v id )로 표현하는데, 이때 v ij i번째 SPD 인스턴스의 j번째 속성을 나타내고 PI i .a j 로도 표현된다.
데이터로부터 패턴을 추출하기 위해서는 데이터를 트랜잭션형태로 변환을 해야 한다. 이때 수치 속성(numerical attribute)들은 불연속적인 데이터로 분할(discretization)하는 것이 필요한데, 본 발명에서는 계층적 군집화(hierarchical clustering) 기법을 사용하였다. 이는 데이터 자체의 분포 등의 고유 속성을 고려하면서 함께 유사한 데이터들로 군집화되므로, 각각의 군집들을 각 값의 유효 구간(interval)으로 결정하여 사용할 수 있다.
도 4는 도 1에 도시된 바와 같은 이상치 데이터 검출 방법의 동작을 예시하기 위한 도면이다. 원본 데이터(410)의 각 속성별로 계층적 군집화 기법을 적용한 결과는 도 4의 구간 매핑표(interval mapping table, 420)에 예시되는 바와 같다. 어떤 수치 속성 a j 의 값들이 l개의 구간으로 나뉘었다고 하자. 이때 각 구간은 < a j , " l jk .. u jk "> 으로 표현되는데, 이때 1≤k ≤l 이고, l jk u jk 은 각각 a i 의 상한값과 하한값을 의미한다. 만약 PI i . a j = v ij 이고 대응되는 구간이 < a j , " l jk .. u jk "> 인 경우인 경우, lj k < v ij u jk 가 된다.
도 4의 구간 매핑표(420)에서, 속성 Duration은 계층적 군집화 기법에 의해 4개의 구간으로 분할되고, 각 구간은 다음과 같이 표현된다: <Duration, "22..50">, <Duration, "50..80">, <Duration, "80..120">, <Duration, "120..150">.
본 명세서에서 아이템(item)은 분할된 수치 속성 값들의 각 구간을 의미한다. 따라서 어떤 SPD 인스턴스의 트랜잭션은 해당 SPD 인스턴스의 모든 속성값에 대응되는 아이템들로 구성된다. 그리고 모든 트랜잭션들의 크기는 SPD 인스턴스들을 구성하는 속성들의 개수로 모두 동일하다. 구간 매핑표(420)의 내용을 각 SPD 인스턴스들에 적용하면 트랜잭션표(430)가 생성된다.
즉, 도 4에서 SPD 인스턴스인 PID2 = ( Duration : 34.2, Effort : 434.8, Size : 34.046, Defect : 2911)은 트랜잭션 표(430)에 있는 트랜잭션 t 2 = {< Duration , "22..50">, < Effort , "150..3500">, < Size , "10..250">, < Defect , "2500..3000">}로 변환된다.
다시 도 3을 참조하면, 이와 같이 트랜잭션(430)이 생성되면 트랜잭션의 집합으로부터 데이터 연관 패턴(data association Pattern, DAP)을 결정한다(S330).
소프트웨어 프로젝트 데이터 내에서 이상치와 이상 속성을 식별하기 위해 본 발명에서는 이들 데이터의 속성 간의 정상 특성을 나타내는 관계를 찾아 이에 부합하지 않는 데이터와 속성을 찾는다. 데이터와 속성 간의 정상 특성을 나타내는 관계는 패턴을 통해 표현되는데, 패턴 p는 관련된 속성들 간의 상관관계가 있는 구간들의 집합(즉, 아이템들의 집합)으로 정의된다. p의 하위 패턴은 p의 부분집합인 패턴들이 되며, p의 길이는 p를 구성하는 아이템의 수를 나타내고 |p|로 표시된다. 그리고, 어떤 SPD 인스턴스 PI의 트랜잭션과 동일하거나 부분 집합이 되는 패턴 p가 존재할 경우, PI 는 p에 매칭(matching)된다고 한다.
소프트웨어 프로젝트 데이터의 속성 간의 정상 특성을 반영하는 패턴을 찾기 위해 본 연구에서는 패턴에 대해 다음과 같은 두 가지 속성을 고려한다.
첫째, 전체 데이터 내에서 패턴의 발생 빈도를 고려한다. 이것은 얼마나 자주 패턴이 나타내는 관계가 데이터 내에서 발생하는가, 즉, 얼마나 많은 트랜잭션이 이 패턴을 포함하고 있는가에 관련된 것이다. 이것은 관계의 전형성을 나타낼 수 있으며 패턴의 지지도(support) 척도를 통해 측정할 수 있다.
둘째, 패턴을 구성하는 속성들 간 상관 관계의 강도(strength)를 고려한다. 이것은 패턴이 나타내는 관계를 구성하는 속성들 간의 상관 관계가 얼마나 강한가를 나타내며, 다시 말하면 패턴의 한 개 이상의 아이템들에 대해 다른 아이템들을 모두 포함하는 트랜잭션들이 이 아이템들을 포함할 가능성을 의미한다. 이 척도는 관계의 신뢰성을 나타낸다고 볼 수 있는데, 종래 기술에서는 패턴에서 이를 측정할 수 있는 척도가 정의되어 있지 않다.
따라서 본 발명에서는 패턴의 속성들 간 상관관계의 강도를 측정하기 위해 연관 규칙의 신뢰도 개념을 응용하여, 어떤 패턴 p의 신뢰도 conf (p)를 p에 의해 생성될 수 있는 가능한 2 | p | -2 개의 연관 규칙들의 평균 신뢰도로 정의한다. 즉, 다음 [수학식 1]로 정의한다.
Figure 112009077270534-pat00001
수학식 1에서, Si∈S-{p} 이고, S는 p의 가능한 하위패턴들의 집합이며 n=2| p |-2이다. 수학식 1에서, n은 패턴 p의 원소들을 1개부터 p의 크기 |p|까지 순서없이 추출할 수 있는 경우의 수와 관련된다. 즉, 다음 수학식 2와 같이 유도된다.
n = | p |C1 + | p |C2 + | p |C3 + ... | p |C| p |-1 = 2| p |-2
도 5는 패턴 p의 신뢰도를 연산하는 과정을 예시하는 도면이다. 도 5에서, supp (p)=0.38이라고 가정한다. 도 5로부터, 패턴 p를 통해 생성될 수 있는 가능한 6개(즉, 23-2)의 연관 규칙들인 r1에서 r6가 있다. r1에 대해서 conf ( r 1 ) = 0.38/0.48 = 0.792 가 된다. 모든 연관 규칙들에 대한 신뢰도를 구한 후 위의 식에 의해 conf (p) = 0.83을 얻을 수 있다.
본 발명에서는 지지도와 신뢰도를 통해 관계의 정상성을 보이는데 사용되는 두 척도들을 합쳐 패턴의 강도(strength)라는 척도를 정의한다. 즉, 강도란 패턴이 얼마나 정상적인 관계를 보이는가를 나타내기 위해 다음 수학식 3과 같이 정의된다.
Figure 112009077270534-pat00002
도 3에서, 어떤 패턴 p∈S인데 S는 패턴들의 집합을 의미하고, strength (p)는 각각의 최대값으로 정규화normalize)된 p의 지지도와 신뢰도들의 평균으로 정의된다.
그러면, 위에서 정의된 척도들을 기반으로 DAP는 사용자에 의해 지정된 최소 지지도 및 신뢰도 임계치 (min _ suppmin _ conf) 보다 큰 지지도와 신뢰도 값을 가진 패턴으로서 정의된다. 따라서 이러한 DAP들이 데이터 내의 관련성 있는 속성들 간의 정상적인 관계를 나타내고, 이들을 추출하여 이상치 및 이들의 이상 속성을 식별하는데 사용한다.
다시 도 3을 참조하면, 데이터 연관 패턴이 결정되면, 데이터 연관 패턴의 지지도, 신뢰도 및 패턴의 길이에 기반하여 중요도(significance)를 결정한다(S340). 데이터 연관 패턴이 이상치 및 이상 속성을 더욱 잘 식별하도록 하기 위하여 데이터 연관 패턴의 길이에 대해 고려할 필요성이 있다. 패턴의 길이는 얼마나 많은 속성들 간의 관계를 패턴이 설명하고 있는가를 나타내는데, 길이가 긴 패턴일수록 많은 속성들 간의 보다 상세하고 의미 있는 관계를 나타낸다.
일반적으로, 이상 속성들은 이들의 이상치 내의 다른 정상 속성들과 데이터 연관 패턴이 의미하는 관계를 갖지 않거나, 우연히 적은 개수의 정상 속성들하고만 정상 관계를 갖는다. 도 6에 도시된 예를 참조하면, PID2가 P1과 P2라는 데이터 연관 패턴들에 매칭된다고 가정한다. 이때, P1의 강도가 P2보다 작더라도, 단지 2개 속성 간의 관계를 설명하는 P2보다는 3개 속성들 간의 관계를 설명하는 P1이 이상 속성인 Duration을 찾는데 더 도움을 준다. 만약 높은 강도를 갖는 데이터 연관 패턴에 많이 매칭되는 SPD 인스턴스를 이 DAP들의 길이를 고려하지 않을 채로 정상 데이터로 판단하게 될 경우, 길이가 짧고 매우 높은 지지도 값으로 인해 신뢰도에 크게 상관없이 높은 강도값을 갖는 DAP들에 많이 매칭된 SPD 인스턴스도 정상 데이터로 판별될 가능성이 높아진다. 꼭 이러한 SPD 인스턴스가 이상치가 되는 것은 아니나, 많은 경우 이 인스턴스 내 일부 속성들 간의 강한 관계가 존재하고 정상관계가 관계가 없는 이상 속성들이 주로 발생한다.
따라서, 본 발명에서는 각 DAP들에 대해 발생빈도, 속성들 간 상관관계의 강도 그리고 패턴을 설명하는 속성들의 개수를 고려하여 이들의 중요도인 중요도를 측정한다(S350). 발생 빈도와 속성들 간 상관관계의 강도는 지지도와 신뢰도 값으로 이루어진 강도 척도를 사용한다. 이 강도 값을 DAP의 길이를 이용하여 다음 수학식 4와 같은 최소-최대 정규화(min-max normalization) 기법을 통해 강도 식을 유도하였다. 즉, 어떤 속성 A가 갖는 최소 및 최대값을 각각 min A , max A 라고 하면, 최소-최대 정규화는 어떤 값 v original 을 주어진 범위 [new_min A , new _ max A ] 안의 새로운 값 v new 로 변환하는데 사용되며 그 수학식은 다음과 같다.
Figure 112009077270534-pat00003
어떤 데이터 연관 패턴 p∈S에 대한 significance (p)를 유도하기 위해, v original = strength (p), (min A , max A ] = (0, max pi ∈S strength( p i )] 그리고 (new _ min A , new _ max A ] = (|p|-1, |p|]로 대입한다. 이때 S는 p와 동일한 길이를 갖는 다른 데이터 연관 패턴들의 집합을 의미한다. 인접한 두 개 범위의 경계에서 동일한 값이 나오지 않도록 하기 위해 p와 동일한 길이를 갖는 데이터 연관 패턴들의 최소 강도값 대신 min A =0을 대입했고, 범위도 [A,B]에서 (A,B]로 변화시켰다. 따라서 significance (p)는 다음과 수학식 5와 같이 유도된다.
Figure 112009077270534-pat00004
따라서, 어떤 데이터 연관 패턴 p∈ Ssignificance (p)는 수학식 6과 같이 정의된다.
Figure 112009077270534-pat00005
이때, S는 p와 동일한 길이를 갖는 DAP들의 집합이고, |p|-1≤ significance (p)≤|p|이다.
도 4를 참조하면, 데이터 연관 패턴 표(Data Association Pattern table)에서 데이터 연관 패턴 P1과 P2는 |P1|=|P2|=4로 길이가 같다. 또한, strength( P 2 )< strength ( P 1 ) 이므로 3 < significance(P 2 ) < significance ( P 1 ) ≤ 4이다. 즉, 동일한 크기의 패턴 내에서 강도 값의 크기관계는 중요도 값의 관계들 내에 보존된다.
도 7은 패턴 중에서 신뢰도가 높은 것들을 선별하는 과정을 예시하는 흐름도이다.
우선, 모든 빈번 패턴을 생성하고(S710), 생성된 빈번 패턴의 신뢰도를 결정한다(S730). 빈번 패턴이란 지지도가 최소 지지도 이상인 패턴을 의미한다. 본 발명에서는 빈번 패턴을 결정하기 위하여 FP-growth 알고리즘을 적용할 수 있음은 전술된 바와 같다. 빈번 패턴의 신뢰도가 결정되면, 결정된 신뢰도가 최소 신뢰도 이상인지 여부가 판단된다(S750). 만일, 결정된 신뢰도가 최소 신뢰도보다 크다면, 해당 패턴에 대해서 중요도를 연산한다. 하지만, 결정된 신뢰도가 더 작다면 해당 패턴을 제거하다 다음 패턴으로 진행한다(S790). 그러면, 모든 빈번 패턴에 대하여 작업이 완료될 때까지 후속 빈번 패턴에 대해 다시 신뢰도를 결정하는 단계(S730)로 진행한다.
다시 도 3을 참조하면, 중요도가 정규화된 후, 정규화된 결과가 임계치보다 작은지 여부가 판단된다(S360). 즉, 데이터 연관 패턴을 이용하여 이상치들과 이들의 이상 속성 식별한다. 이 과정에서 데이터 연관 패턴들과 각 SPD 인스턴스들을 비교하여 어떤 DAP들이 각각의 SPD 인스턴스에 매칭되는지에 대한 정보를 구한다. 이후, 만약 어떤 SPD 인스턴스의 어떤 속성이 가능한 많은, 그리고 높은 중요도 값을 가지며 이 인스턴스에 매칭된 데이터 연관 패턴에 포함된 경우, 본 발명에서는 해당 속성을 이 SPD 인스턴스 내에서 정상 속성인 것으로 결정한다(S370). 따라서, 어떤 SPD 인스턴스 내 각 속성들의 정상여부를 확인하기 위해, 본 발명에서는 어떤 SPD 인스턴스의 속성들 각각에 대해 이 인스턴스와 매칭되면서 해당 속성과 관련된 관계를 설명하는 데이터 연관 패턴들의 중요도의 합을 구하고, 이 인스턴스 내에서 이들 속성들이 갖는 데이터 연관 패턴의 중요도의 합 중 가장 큰 값으로 정규화하여 이 값이 1에 가까울수록 정상 속성으로, 0에 가까울수록 이상 속성으로 결정한다. 각 속성들이 갖는 매칭된 데이터 연관 패턴의 중요도 합의 정규화된 값을 해당 속성의 정상성 점수(normality score)라고 정의한다.
어떤 SPD 인스턴스 PI 의 어떤 속성 a i 의 정상성(normality)을 정의하기 위해 집합 SPI가 PI와 매칭된 데이터 연관 패턴들의 집합이라 하자. 이때 속성들의 집합 A={ a 1 , a 2 , ..., a i , ..., a d }로 정의되고, d≥1이고 1≤i≤d이다. 그리고, 집합 Sai를 아이템 <ai, "lim..uim">을 포함하는 DAP p j S PI 들의 집합이라 하는데 l im < PI . ai u im , m≥1이고 1≤j≤| S ai |이다.
본 발명에서 이 PI의 속성 a i 의 정상성 점수, normality ( PI , a i ),를 다음과 수학식 7과 같이 정의한다.
Figure 112009077270534-pat00006
.
정상성 점수는 0과 1사이의 값을 갖는다. 그리고 어떤 속성의 정상성 점수는 다른 SPI 인스턴스의 속성들의 정상성 점수와 비교할 수 없다.
도 8은 한 데이터에 대하여 정상성 점수를 연산하는 과정을 예시하는 도면이다.
기존에 추출된 데이터 연관 패턴들 중에서 P4, P7, P8, P10이 PID1과 매칭이 되었다. 먼저 예로 속성 Duration을 살펴보면, DAP P4, P7, P10이 Duration과 관련된 관계를 설명하므로 이 데이터 연관 패턴들의 중요도 합 (즉, 6.338903)이 구해진다. 다른 속성들 Effort, Size 그리고 Defect에 대해서도 해당하는 DAP들의 중요도 합을 구한다. 이렇게 구한 중요도합 중에서 속성 Effort에 해당하는 값 (즉, 6.43339) 이 가장 크므로 이 값으로 각각의 합들을 나누어 정규화한 결과가 정상성 점수가 된다. 이 예에서는 PID1의 Defect 속성과 매칭되는 DAP들이 존재하지 않아 정상성 점수가 0이 되었다. 이는 PID1의 다른 속성들이 갖는 값들과 Defect가 갖는 값 간에 관계가 없으므로 Defect가 이상 속성임을 의미하고, 결국 PID1이 이상 속성을 갖는 이상치로 판별되었음을 의미한다.
이상 속성을 식별하기 위해서는 속성의 정상성 점수를 위한 임계 값(normality threshold)이 사용자에 의해 지정되어야 한다. 만약 어떤 SPD 인스턴스의 어떤 속성이 임계값보다 낮은 정상성 점수를 가질 경우 이 속성은 이상 속성으로 식별되고, 이 SPD 인스턴스는 이상치로 식별된다. 이 임계값의 디폴트는 0이 된다.
도 9는 이상치 데이터들 및 이들의 이상 속성들을 예시하는 도면이다.
앞서 설명한 바와 같이 소프트웨어 프로젝트 데이터인 각 SPD 인스턴스들과 식별된 후 각 중요도 값을 갖고 있는 데이터 연관 패턴P들 간의 매칭 과정을 거친 후, 각 SPD 인스턴스의 각 속성들에 대해 정상성 점수를 계산한다.
도 9를 참조하면, SPD 인스턴스들인 PID1, PID2 그리고 PID5에 대해 정상성 점수를 구한 결과가 각각 제시되는데, 정상성 점수를 위한 임계치를 0.2로 주었을 때 PID1과 PID5의 속성 Defect가 0.2보다 작은 정상성 점수를 보이므로 이들이 이상 속성으로 식별되고, PID1과 PID5는 이상치로 판별된다. 그리고, PID2의 경우는 모든 속성들의 정상성 점수가 0.2보다 크므로 모두 정상속성이고, PID2는 정상 데이터로 판별된다.
도 10은 본 발명의 다른 면에 따르는 이상치 데이터검출 장치를 개념적으로 나타내는 블록도이다. 이상치 데이터 검출 장치(1000)는 데이터 수신부(1010), 데이터 전처리부(1030), 데이터 연관 패턴 결정부(1050), 중요도 결정부(1070), 및 이상치 데이터 판정부(1090)를 포함한다.
데이터 수신부에 의하여 수신된 데이터가 데이터 전처리부(1030)로 전달되면, 데이터 전처리부(1030)는 해당 데이터를 트랜잭션으로 변환한다. 데이터 전처 리부(1030)는 구간 분할부(1040)를 포함하며, 구간 분할부(1040)는 계층적 군집화 기법을 적용하여 속성 값의 범위를 분할한다.
데이터 연관 패턴 결정부(1050)는 트랜잭션들의 집합으로부터 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(DAP)을 결정한다. 이 과정에서, 데이터 연관 패턴 결정부(1050)는 트랜잭션들의 집합으로부터 서로 관련성이 있는 구간들을 추출하여 패턴 p를 생성한다. 또한, 데이터 연관 패턴 결정부(1050)는 전체 데이터 집합 내에서의 패턴 p의 발생 빈도를 나타내는 지지도 및 패턴을 구성하는 구간들 간의 상관 관계의 정도를 나타내는 신뢰도를 연산하여 이러한 척도를 이용하여 데이터 연관 패턴을 결정한다. 즉, 소정의 임계치보다 큰 지지도 및 신뢰도를 가지는 패턴 p가 데이터 연관 패턴으로서 결정되는 것은 전술된 바와 같다.
중요도 결정부(1070)는 패턴 p의 지지도 및 신뢰도를 각각 정규화하고, 정규화된 지지도 및 신뢰도를 이용하여 패턴 p의 강도를 결정한다. 더 나아가, 중요도 결정부(1070)는 결정된 패턴 p의 강도를 정규화하고, 정규화된 강도 및 패턴 p를 구성하는 구간들의 개수를 고려하여 패턴 p의 중요도를 결정한다.
그러면, 이상치 판정부(1090)는 데이터 연관 패턴을 부분 집합으로서 포함하는 것으로 데이터를 우선 선택한다. 그러면 선택된 데이터의 속성들에 각각에 대하여, 속성에 상응하는 구간을 포함하는 데이터 연관 패턴들의 중요도를 모두 합산한다. 이상치 판정부(1090)는 각 속성별 중요도를 정규화한 뒤 임계치와 비교하여 이상치 데이터를 검출한다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명에서는 소프트웨어 프로젝트 데이터의 품질을 증진시키기 위해 이 데이터의 정상적인 특성을 반영하는 패턴을 찾아 이에 부합하지 않는 이상치들과 이들의 이상 속성을 검출한다.
기존 기법들이 주로 어떤 프로젝트 인스턴스가 전체 데이터를 대상으로 판단했을 때 이상치인가 아닌가에 대한 여부만을 판별했다면, 본 발명은 속성 레벨에서 먼저 각 속성값들의 정상여부를 판단하여 이상 속성들을 식별하고 이들을 포함하는 인스턴스를 이상치로 판단하므로 이상치들뿐만 아니라 이들의 이상 속성까지 찾아낼 수 있다.
도 1은 소프트웨어 프로젝트 데이터 및 이상 속성을 예시하는 도면이다.
도 2a 및 도 2b는 이상치가 모델의 정확도에 미치는 영향을 도시하는 도면이다.
도 3은 본 발명의 일면에 따르는 이상치 데이터검출 방법을 개념적으로 나타내는 흐름도이다.
도 4는 도 1에 도시된 바와 같은 이상치 데이터 검출 방법의 동작을 예시하기 위한 도면이다.
도 5는 패턴 p의 신뢰도를 연산하는 과정을 예시하는 도면이다.
도 6은 길이가 다른 데이터 연관 패턴들을 예시하는 도면이다.
도 7은 패턴 중에서 신뢰도가 높은 것들을 선별하는 과정을 예시하는 흐름도이다.
도 8은 한 데이터에 대하여 정상성 점수를 연산하는 과정을 예시하는 도면이다.
도 9는 이상치 데이터들 및 이들의 이상 속성들을 예시하는 도면이다.
도 10은 본 발명의 다른 면에 따르는 이상치 데이터검출 장치를 개념적으로 나타내는 블록도이다.

Claims (15)

  1. 하나 이상의 속성을 포함하는 데이터 집합에서 이상 속성을 포함하는 데이터를 검출하기 위한 데이터 검출 장치의 방법에 있어서,
    상기 데이터 검출 장치가 상기 데이터에 포함되는 속성들의 수치 범위를 각각 적어도 하나의 구간(interval)으로 분할하고, 상기 속성들의 값을 상기 값을 포함하는 구간으로 각각 대체함으로써 상기 데이터를 트랜잭션으로 변환하는 데이터 전처리 단계;
    상기 데이터 검출 장치가 상기 트랜잭션들의 집합으로부터 상기 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(data association pattern, DAP)을 결정하는 데이터 연관 패턴 결정 단계;
    상기 데이터 검출 장치가 결정된 데이터 연관 패턴들 각각의 중요도(significance)를 결정하는 중요도 결정 단계; 및
    상기 데이터 검출 장치가 상기 데이터 연관 패턴을 부분 집합으로서 포함하는 데이터를 결정하고, 결정된 데이터의 속성들에 대해 상기 데이터 연관 패턴의 중요도를 이용하여 상기 데이터가 이상 속성을 포함하는지 여부를 결정하는 이상치 판정 단계를 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법.
  2. 제1항에 있어서, 상기 데이터 전처리 단계는,
    상기 속성들의 값에 계층적 군집화(hierarchical clustering) 기법을 적용하여 상기 속성들의 값이 포함될 수 있는 수치 범위를 적어도 하나의 구간으로 분 할(discretization)하는 단계를 더 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법.
  3. 제1항에 있어서, 상기 데이터 연관 패턴 결정 단계는,
    상기 트랜잭션들의 집합으로부터 서로 관련성이 있는 구간들을 추출하여 패턴 p를 생성하는 단계;
    전체 데이터 내에서의 상기 패턴 p의 발생 빈도를 나타내는 지지도(support) 및 상기 패턴을 구성하는 구간들 간의 상관 관계의 정도를 나타내는 신뢰도(confidence)를 연산하는 단계; 및
    소정의 임계치보다 큰 지지도 및 신뢰도를 가지는 패턴 p를 상기 데이터 연관 패턴으로서 결정하는 단계를 더 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법.
  4. 제3항에 있어서, 상기 중요도 결정 단계는,
    상기 패턴 p의 지지도 및 신뢰도를 각각 정규화하고, 정규화된 지지도 및 신뢰도의 평균을 상기 패턴 p의 강도(strength)로서 결정하는 단계; 및
    상기 패턴 p의 강도를 정규화하고, 정규화된 강도 및 상기 패턴 p를 구성하는 구간들의 개수를 고려하여 상기 패턴 p의 중요도를 결정하는 단계를 더 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법.
  5. 제4항에 있어서,
    상기 패턴 p의 신뢰도 conf (p)는 다음 수학식에 의하여 결정되고,
    Figure 112009077270534-pat00007
    (단, S i ∈S-{p}, Sp의 가능한 하위패턴들의 집합, n=2 | p | - 2 이다)
    강도 strength (p)는 다음 수학식에 의하여 결정되며,
    Figure 112009077270534-pat00008
    중요도 significance (p)는 다음 수학식에 의하여 결정되는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법
    Figure 112009077270534-pat00009
    (단, Sp와 동일한 길이를 갖는 데이터 연관 패턴들의 집합, |p|-1≤significance(p)≤|p| 이다).
  6. 제1항에 있어서, 상기 이상치 판정 단계는,
    상기 데이터 연관 패턴을 부분 집합으로서 포함하는 것으로 결정된 데이터의 속성들에 각각에 대하여, 상기 속성에 상응하는 구간을 포함하는 데이터 연관 패턴들의 중요도를 합산하는 단계;
    합산된 속성별 중요도 중 최대값을 이용하여 각 속성별 중요도를 정규화하는 단계;
    정규화된 결과를 소정의 임계치와 비교하는 단계; 및
    정규화된 결과가 상기 임계치보다 작을 경우 상기 데이터가 이상 속성을 포함하는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법.
  7. 제1항에 있어서,
    상기 데이터는, 장래의 소프트웨어 프로젝트 관리에 이용되는 속성으로 구성되는 완료된 소프트웨어 프로젝트 정보들의 집합인 소프트웨어 프로젝트 데이터(software project data)인 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 방법.
  8. 제 1항 내지 제 7항 중 어느 한 항에 따른 데이터 검출 방법을 기능시키기 위한 프로그램이 기록되며, 컴퓨터로 읽을 수 있는 기록 매체.
  9. 하나 이상의 속성을 포함하는 데이터 집합에서 이상 속성을 포함하는 데이터를 검출하기 위한 장치에 있어서,
    상기 데이터에 포함되는 속성들의 수치 범위를 각각 적어도 하나의 구간으로 분할하고, 상기 속성들의 값을 상기 값을 포함하는 구간으로 각각 대체함으로써 상기 데이터를 트랜잭션으로 변환하는 데이터 전처리부;
    상기 트랜잭션들의 집합으로부터 상기 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(DAP)을 결정하는 데이터 연관 패턴 결정부;
    결정된 데이터 연관 패턴들 각각의 중요도를 결정하는 중요도 결정부; 및
    상기 데이터 연관 패턴을 부분 집합으로서 포함하는 데이터를 결정하고, 결정된 데이터의 속성들에 대해 상기 데이터 연관 패턴의 중요도를 이용하여 상기 데이터가 이상 속성을 포함하는지 여부를 결정하는 이상치 판정부를 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 장치.
  10. 제9항에 있어서, 상기 데이터 전처리부는,
    상기 속성들의 값에 계층적 군집화 기법을 적용하여 상기 속성들의 값이 포함될 수 있는 수치 범위를 적어도 하나의 구간으로 분할하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 장치.
  11. 제9항에 있어서, 상기 데이터 연관 패턴 결정부는,
    상기 트랜잭션들의 집합으로부터 서로 관련성이 있는 구간들을 추출하여 패턴 p를 생성하고,
    전체 데이터 내에서의 상기 패턴 p의 발생 빈도를 나타내는 지지도 및 상기 패턴을 구성하는 구간들 간의 상관관계의 정도를 나타내는 신뢰도를 연산하며, 및
    소정의 임계치보다 큰 지지도 및 신뢰도를 가지는 패턴 p를 상기 데이터 연관 패턴으로서 결정하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 장치.
  12. 제11항에 있어서, 상기 중요도 결정부는,
    상기 패턴 p의 지지도 및 신뢰도를 각각 정규화하고, 정규화된 지지도 및 신뢰도의 평균을 상기 패턴 p의 강도로서 결정하며, 및
    상기 패턴 p의 강도를 정규화하고, 정규화된 강도 및 상기 패턴 p를 구성하는 구간들의 개수를 고려하여 상기 패턴 p의 중요도를 결정하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 장치.
  13. 제12항에 있어서, 상기 데이터 연관 패턴 결정부는,
    상기 패턴 p의 신뢰도 conf(p)를 다음 수학식에 의하여 결정하고,
    Figure 112012006777802-pat00010
    (단, Si∈S-{p}, Sp의 가능한 하위패턴들의 집합, n=2 | p | -2 이다)
    상기 중요도 결정부는,
    강도 strength(p)를 다음 수학식에 의하여 결정하며,
    Figure 112012006777802-pat00011
    중요도 significance(p)를 다음 수학식에 의하여 결정하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 장치.
    Figure 112012006777802-pat00012
    (단, Sp와 동일한 길이를 갖는 데이터 연관 패턴들의 집합, |p|-1≤significance(p)≤|p| 이다).
  14. 하나 이상의 속성을 포함하는 데이터 집합에서 이상 속성을 포함하는 데이터를 검출하기 위한 장치에 있어서,
    상기 데이터에 포함되는 속성들의 수치 범위를 각각 적어도 하나의 구간으로 분할하고, 상기 속성들의 값을 상기 값을 포함하는 구간으로 각각 대체함으로써 상기 데이터를 트랜잭션으로 변환하는 데이터 전처리부;
    상기 트랜잭션들의 집합으로부터 상기 속성들 중 관련성 있는 속성들 간의 정상적 관계를 나타내는 데이터 연관 패턴(DAP)을 결정하는 데이터 연관 패턴 결정 부;
    결정된 데이터 연관 패턴들 각각의 중요도를 결정하는 중요도 결정부; 및
    상기 데이터 연관 패턴을 부분 집합으로서 포함하는 데이터를 결정하고, 결정된 데이터의 속성들에 대해 상기 데이터 연관 패턴의 중요도를 이용하여 상기 데이터가 이상 속성을 포함하는지 여부를 결정하며, 상기 데이터 연관 패턴을 부분 집합으로서 포함하는 것으로 결정된 데이터의 속성들에 각각에 대하여, 상기 속성에 상응하는 구간을 포함하는 데이터 연관 패턴들의 중요도를 합산하고,
    합산된 속성별 중요도 중 최대값을 이용하여 각 속성별 중요도를 정규화하며,
    정규화된 결과를 소정의 임계치와 비교하고, 및
    정규화된 결과가 상기 임계치보다 작을 경우 상기 데이터가 이상 속성을 포함하는 것으로 결정하는 이상치 판정부를 포함하는 것을 특징으로 하는 이상 속성을 포함하는 데이터 검출 장치.
  15. 삭제
KR1020090124331A 2009-12-15 2009-12-15 이상 속성을 포함하는 데이터의 검출 방법 및 장치 KR101172579B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090124331A KR101172579B1 (ko) 2009-12-15 2009-12-15 이상 속성을 포함하는 데이터의 검출 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090124331A KR101172579B1 (ko) 2009-12-15 2009-12-15 이상 속성을 포함하는 데이터의 검출 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110067647A KR20110067647A (ko) 2011-06-22
KR101172579B1 true KR101172579B1 (ko) 2012-08-09

Family

ID=44400055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090124331A KR101172579B1 (ko) 2009-12-15 2009-12-15 이상 속성을 포함하는 데이터의 검출 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101172579B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594510B1 (ko) * 2015-06-01 2016-02-16 엘아이지넥스원 주식회사 클러스터링을 이용한 원격 측정 데이터 판정 장치
KR101594595B1 (ko) * 2015-06-01 2016-02-16 엘아이지넥스원 주식회사 클러스터링을 이용한 원격 측정 데이터 판정 방법
KR102470763B1 (ko) 2022-10-13 2022-11-25 주식회사 비플컨설팅 데이터 이상치 탐색 장치 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101692611B1 (ko) * 2015-02-27 2017-01-17 충북대학교 산학협력단 데이터 연관성 기반 이상치 평가 장치 및 방법
KR102573033B1 (ko) * 2018-06-27 2023-09-01 주식회사 빅스터 블록체인용 정보 판단 서버 및 프로그램이 기록된 기록매체
KR102152403B1 (ko) * 2018-12-24 2020-09-04 아주대학교산학협력단 데이터 패턴 분석을 이용한 비정상행위 탐지 장치 및 방법
CN110852838A (zh) * 2019-10-23 2020-02-28 海南太美航空股份有限公司 基于航线交易平台的数据排序方法、系统及装置
CN116244106B (zh) * 2023-03-22 2023-12-29 中航信移动科技有限公司 一种民航数据的数据检测方法、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026413A (en) 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US20080015726A1 (en) 2006-05-07 2008-01-17 Applied Materials, Inc. Ranged fault signatures for fault diagnosis
US20080015814A1 (en) 2006-05-07 2008-01-17 Harvey Jerry L Jr Adaptive multivariate fault detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026413A (en) 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US20080015726A1 (en) 2006-05-07 2008-01-17 Applied Materials, Inc. Ranged fault signatures for fault diagnosis
US20080015814A1 (en) 2006-05-07 2008-01-17 Harvey Jerry L Jr Adaptive multivariate fault detection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594510B1 (ko) * 2015-06-01 2016-02-16 엘아이지넥스원 주식회사 클러스터링을 이용한 원격 측정 데이터 판정 장치
KR101594595B1 (ko) * 2015-06-01 2016-02-16 엘아이지넥스원 주식회사 클러스터링을 이용한 원격 측정 데이터 판정 방법
KR102470763B1 (ko) 2022-10-13 2022-11-25 주식회사 비플컨설팅 데이터 이상치 탐색 장치 및 방법

Also Published As

Publication number Publication date
KR20110067647A (ko) 2011-06-22

Similar Documents

Publication Publication Date Title
KR101172579B1 (ko) 이상 속성을 포함하는 데이터의 검출 방법 및 장치
Yeshchenko et al. Comprehensive process drift detection with visual analytics
US9633198B2 (en) Detecting anomalous process behavior
TWI723528B (zh) 電腦執行的事件風險評估方法及裝置、電腦可讀儲存媒體以及計算設備
Cury et al. Application of symbolic data analysis for structural modification assessment
US20160180254A1 (en) Information matching apparatus, method of matching information, and computer readable storage medium having stored information matching program
KR101953190B1 (ko) 복잡한 양자 또는 다자 상대방 관계를 탐색하기 위해 이용되는 다차원 재귀적 학습 과정 및 시스템
de Sousa et al. Concept drift detection and localization in process mining: An integrated and efficient approach enabled by trace clustering
Elouataoui et al. Data quality in the era of big data: a global review
Atzmueller et al. Anomaly detection and structural analysis in industrial production environments
Borg et al. Clustering residential burglaries using modus operandi and spatiotemporal information
GB2465860A (en) A directed graph behaviour model for monitoring a computer system in which each node of the graph represents an event generated by an application
Yoon et al. A pattern-based outlier detection method identifying abnormal attributes in software project data
de Sousa et al. Integrated detection and localization of concept drifts in process mining with batch and stream trace clustering support
Abdelaal et al. SAGED: Few-Shot Meta Learning for Tabular Data Error Detection.
Srinivasan et al. Modelling an optimized warranty analysis methodology for fleet industry using data mining clustering methodologies
Azzalini et al. Data Quality and Data Ethics: Towards a Trade-off Evaluation.
Wang et al. A benchmark dataset for evaluating process similarity search methods
CN117150097B (zh) 一种执法检查清单自动匹配方法
Ishchenko et al. Approach to determining the number of clusters in a data set
Shahid et al. Machine learning-based false positive software vulnerability analysis
Trabelsi et al. Employing Data and Process Mining Techniques for Redundancy Detection and Analystics in Business Processes.
Hmamouche et al. Automatic kdd data preparation using multi-criteria features
CN112884167B (zh) 一种基于机器学习的多指标异常检测方法及其应用系统
Belabbess et al. Combining machine learning and semantics for anomaly detection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150729

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee