현재 위치: > 최신 기사 목록> PHP 및 기계 학습 : 시계열 데이터의 이상 탐지를 구현하는 방법

PHP 및 기계 학습 : 시계열 데이터의 이상 탐지를 구현하는 방법

M66 2025-07-13

소개

오늘날의 데이터 중심 시대에는 시계열 데이터의 처리 및 분석이 중요해졌습니다. 시계열 데이터는 다중 관찰 또는 측정을 다루는 시간순으로 배열됩니다. 이상 탐지는 시계열 분석에서 중요한 작업으로, 기업이나 조직이 적시에 비정상적인 행동을 감지하고 필요한 조치를 취하는 데 도움이 될 수 있습니다. 이 기사는 PHP 및 기계 학습 기술을 사용하여 시계열 데이터의 이상을 감지하는 방법을 소개합니다.

데이터 준비

먼저 시계열 데이터를 준비해야합니다. 매일 판매를 기록하는 데이터 세트가 있다고 가정하고 이러한 판매 데이터를 비정상 탐지를위한 시계열 데이터로 사용할 수 있습니다. 다음은 샘플 데이터 세트입니다.

 $dateSales = [
    ['2019-01-01', 100],
    ['2019-01-02', 120],
    ['2019-01-03', 80],
    ['2019-01-04', 90],
    ['2019-01-05', 110],
    // 더 많은 날짜 데이터...
];

데이터 전처리

예외 감지를 수행하기 전에 데이터를 전처리해야합니다. 먼저, 기계 학습 알고리즘이 효율적으로 처리 할 수 있도록 날짜를 타임 스탬프로 변환합니다. 다음으로, 다른 특성 간의 차이가 이상 탐지에 영향을 미치지 않도록 판매 데이터를 정규화합니다. 다음은 데이터 전처리를위한 코드 예제입니다.

 // 날짜를 타임 스탬프로 변환합니다
foreach ($dateSales as &$data) {
    $data[0] = strtotime($data[0]);
}

// 판매 데이터 정상화
$sales = array_column($dateSales, 1);
$scaledSales = [];
$minSales = min($sales);
$maxSales = max($sales);
foreach ($sales as $sale) {
    $scaledSales[] = ($sale - $minSales) / ($maxSales - $minSales);
}

이상 감지 알고리즘을 선택하십시오

이상 탐지를 시작하기 전에 올바른 기계 학습 알고리즘을 선택해야합니다. 일반적인 시계열 이상 탐지 알고리즘에는 통계 방법, 군집화 방법 및 딥 러닝 방법이 포함됩니다. 이 기사에서는 이상 탐지를 위해 ARIMA (자동 회귀 이동 평균 모델) 알고리즘을 사용합니다.

ARIMA 알고리즘을 사용한 예외 감지

ARIMA 알고리즘은 시계열 분석에 널리 사용되는 통계 모델입니다. PHP의 STATS 라이브러리의 ARIMA 함수를 통해이 알고리즘을 구현하여 예외 감지를 수행 할 수 있습니다. 다음은 ARIMA 알고리즘을 사용한 예외 감지에 대한 코드 예제입니다.

 $data = new StatsTimeSeries($scaledSales);

// 모델에 맞습니다
$arima = StatsARIMA::fit($data);

// 다음 데이터 포인트를 예측하십시오
$prediction = $arima->predict();

// 잔류 오차를 계산합니다
$residual = $data->last() - $prediction;

// 이상 감지 임계 값을 설정하십시오
$errorThreshold = 0.05;

if (abs($residual) > $errorThreshold) {
    echo "Anomaly detected!";
} else {
    echo "No anomaly detected.";
}

위의 코드에서는 먼저 Stats 라이브러리의 Timeseries 클래스 및 ARIMA 클래스를 사용하여 모델을 초기화하고 적합합니다. 그런 다음 다음 데이터 포인트를 예측하고 잔류 오차를 계산합니다. 마지막으로, 우리는 임계 값을 설정하여 잔류 오차가 정상 범위를 초과하는지 여부를 결정하여 이상이 있는지 여부를 결정합니다.

결론적으로

이 기사에서는 PHP 및 기계 학습 기술을 사용하여 시계열 데이터에 대한 이상 탐지를 수행하는 방법에 대해 설명합니다. 먼저 시계열 데이터를 준비하고 전처리 한 다음 ARIMA 알고리즘을 선택하고 PHP의 STATS 라이브러리를 사용하여 구현했습니다. 예측 오류의 임계 값 감지를 수행함으로써 데이터의 이상을 효과적으로 판단 할 수 있습니다. 이 기사가 독자가 시계열 데이터에 대한 이상 탐지 방법을 이해하고 적용하는 데 도움이되기를 바랍니다.