curvefit
선형 회귀 분석을 수행하여 입력 데이터에 가장 잘 맞는 다항 곡선을 계산합니다. 최소제곱법을 이용하여 독립변수와 종속변수 간의 다항 함수를 추정합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 미지원 |
문법
curvefit [degree=INT] X_FIELD, Y_FIELD
옵션
degree=INT- 입력값을 근사시킬 다항 함수의 차수 (기본값:
3)
대상
X_FIELD- 독립변수로 사용할 필드. 값이 숫자형이어야 합니다.
Y_FIELD- 종속변수로 사용할 필드. 값이 숫자형이어야 합니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| _x | 실수 | 독립변수 필드 값 |
| _p | 실수 | 다항 함수로 계산한 추정값 (predicted value) |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 40804 | 머신러닝 라이선스가 필요합니다. | 머신러닝 라이선스가 없는 경우 |
| missing-curvefit-fields | - | 독립변수와 종속변수 필드가 모두 지정되지 않은 경우 |
런타임 오류
해당 사항 없음
설명
curvefit 명령어는 최대 1만 개의 입력 레코드에 대하여 최소제곱법을 이용한 선형 회귀 분석을 수행합니다. 독립변수 필드 값을 _x 필드로, 다항 함수로 계산한 추정값을 _p 필드로 출력합니다. 1만 개를 초과하는 레코드는 무시합니다.
독립변수 또는 종속변수 값이 숫자가 아닌 레코드는 분석에서 제외됩니다. degree 옵션으로 다항 함수의 차수를 지정할 수 있으며, 기본값은 3차 다항식입니다.
이 명령어를 사용하려면 머신러닝 라이선스가 필요합니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
3차 다항 함수로 데이터 근사
json "[{'x': 1, 'y': 2}, {'x': 2, 'y': 5}, {'x': 3, 'y': 10}, {'x': 4, 'y': 17}, {'x': 5, 'y': 26}]" | curvefit x, yx필드를 독립변수,y필드를 종속변수로 하여 기본 3차 다항 함수로 근사합니다. -
시간 경과에 따른 전송 바이트 추이 근사
table WEB_APACHE_SAMPLE | eval x = long(_time) | curvefit x, bytes요청 시각을 독립변수, 전송 바이트를 종속변수로 하여 3차 다항 함수로 근사합니다.
_p필드에 추정값이 출력됩니다. -
차수를 지정한 회귀 분석
table WEB_APACHE_SAMPLE | eval x = long(_time) | curvefit degree=5 x, bytes시간 순서를 독립변수, 전송 바이트를 종속변수로 하여 5차 다항 함수로 근사합니다.
호환성
curvefit 명령어는 소나 4.0 이전 버전부터 제공되었습니다.