이전 시계열 데이터를 기반으로 트래픽을 예측하려면 어떻게해야합니까?


18

소매점을 가지고 있고 1 분마다 얼마나 많은 사람들이 매장에 들어 왔는지 측정하고 그 데이터를 타임 스탬프하는 경우 미래의 발 트래픽을 어떻게 예측할 수 있습니까?

머신 러닝 알고리즘을 살펴 봤지만 어느 알고리즘을 사용해야할지 잘 모르겠습니다. 내 테스트 데이터에서 KNN과 같이 시도한 다른 것들과 비교할 때 해마다 매년 추세가 더 정확합니다 (현명한 매개 변수와 거리 함수라고 생각하는 것).

시계열 데이터를 다루는 재무 모델링과 비슷할 것 같습니다. 어떤 아이디어?


이 백서가 유용 할 수 있습니다. knime.org/files/knime_bigdata_energy_timeseries_whitepaper.pdf 계절성을 포함한 시계열 모델링에 관한 것입니다. -Rosaria
Rosaria

답변:


17

KNN과 같은 모델의 문제점은 계절성 (시간에 따른 추세 변화)을 고려하지 않는다는 것입니다. 이를 고려하려면 시계열 분석을 사용해야합니다.

귀하와 같은 카운트 데이터의 경우 일반 선형 자동 회귀 이동 평균 모델 (GLARMA)을 사용할 수 있습니다. 다행히도이를 구현하는 R 패키지 ( glarma )가 있습니다.

네트는 도구 뒤에 이론을위한 좋은 자원이다.


2
예측 및 시계열 분석에 유용한 또 다른 패키지는 Rob J. Hyndman 교수 가 예측 한 것입니다.
Def_Os

이것이 이미 다른 언어로 구현되어 있는지 알고 있습니까? 저는 R의 전문가가 아닙니다. 적어도 논문을 읽을 것입니다.
user1132959

나는 하나에 익숙하지 않습니다. 파이썬을 사용하려면 rpy2 패키지를 사용하여 대부분의 파이썬 프로그래밍을 수행하면서 glarma 함수를 호출 할 수 있습니다 . 대부분의 다른 언어에도 이러한 커넥터가 있습니다.
Christopher Louden 2016 년

10

위의 Christopher의 답변은 전적으로 합리적이라고 생각합니다. 대체 접근법 (또는 아마도 그가 제안 한 조언 외에도) 데이터를 조금 시각화하여 진행 상황을 대략적으로 파악할 수 있습니다.

이 작업을 아직 수행하지 않은 경우 날짜와 요일을 기능으로 추가해 볼 수 있습니다. KNN을 계속 사용하면 모델이 계절성을 파악하는 데 도움이됩니다.

이것을 취하는 다른 방법으로, 당신은 OLS와 같은 정말로 기본 모델로 시작하는 것을 고려할 수 있습니다. 이들은 종종 합리적인 예측을 생성하는데 먼 길을갑니다.

마지막으로, 데이터에 대해 더 많이 알수록 제안서 작성이 더 쉬워집니다. 몇시를 관찰하고 있습니까? 현재 사용중인 기능은 무엇입니까? 기타

도움이 되었기를 바랍니다 --


예, 시각화는 모든 분석에서 필수적인 첫 단계입니다.
Christopher Louden

월, 일, 요일 및 연도를 기능으로 추가했습니다. 나는 심지어 "최근"값을 줄이려고 노력했다. OLS를 시도하지 않았다고 생각합니다. 몇 주에서 몇 년에 이르는 기간을 관찰하고 있습니다. 시각화하는 한 그렇게하려고했습니다. 문제는 소프트웨어가 사람의 개입없이 다른 고객에 대해 자동으로 예측할 수 있기를 원한다는 것입니다.
user1132959

3

신경망을 사용해 볼 수 있습니다. 시계열에 NN을 적용하는 방법에 대한 자세한 내용은 여기여기를 참조하십시오 .

다음을 수행하는 것이 가장 좋습니다.

  • 입력 데이터의 계절을 줄이거 나 내리십시오 (NN이 계절성을 배우지 않도록).
  • 입력 데이터의 크기를 조정 / 정규화하십시오.

당신이 찾고있는 것은 회귀 문제이기 때문에, 활성화 기능을해야 linear하지 sigmoid또는 tanh당신은 최소화하는 것을 목표로 sum-of-squares error(의 극대화에 반대로 negative log-likelihood분류 문제에서).


신경망을 옵션으로보고 있었지만 어떤 종류의 매개 변수를 사용할지 몰랐습니다. 나는 그에게 총을 줘야 할 것이다.
user1132959

Sigmoid와 Tanh는 괜찮습니다. 비선형 성은 더 복잡한 상호 작용을 배우기를 원하며 가중치는 이것을 네트워크가 필요하다고 생각하는 모든 범위에 매핑합니다
Jan van der Vegt

3

@Christopher Lauden이 위에서 언급했듯이 시계열 분석이 이런 종류의 것에 가장 적합합니다. 그러나 더 전통적인 "머신 러닝 방식"을 원한다면 과거에 한 일은 데이터를 기능으로 겹치는 시간 창으로 차단 한 다음 다음 날 (또는 주)을 예측하는 데 사용하는 것입니다. ) 트래픽.

기능 매트릭스는 다음과 같습니다.

t1 | t2 | ... | tN
t2 | t3 | ... | tN+1
t3 | t4 | ... | tN+2
...
tW | tW+1 | ... |tN+W

tI하루의 트래픽은 어디에 있습니까 I? 예측할 기능은 마지막 열 다음 날의 트래픽입니다. 본질적으로, 트래픽 창을 사용하여 다음 날의 트래픽을 예측하십시오.

모든 종류의 ML 모델이이 작업에 적합합니다.

편집하다

질문에 대한 응답으로 "이 기능 매트릭스를 사용하는 방법에 대해 자세히 설명 할 수 있습니까?"

기능 매트릭스에는 일정 기간 동안의 과거 트래픽 (예 : 1 주일 별 시간별 트래픽)을 나타내는 값이 있으며,이를 사용하여 향후 특정 기간 동안의 트래픽을 예측합니다. 우리는 과거 데이터를 가져 와서 과거 트래픽의 기능 매트릭스를 작성하고 향후 일정 기간 (예 : 기능에서 창을 표시 한 후 2 일)에 트래픽으로 레이블을 지정합니다. 일종의 회귀 머신 러닝 모델을 사용하여 과거 트래픽 데이터를 가져 와서 과거 데이터 세트에서 트래픽이 어떻게 이동했는지 예측할 수있는 모델을 만들 수 있습니다. 향후 트래픽은 과거 트래픽과 유사 할 것으로 추정됩니다.


이 기능 매트릭스를 사용하는 방법에 대해 자세히 설명해 주시겠습니까? 며칠 동안의 트래픽 변화를 기반으로 배우려고 노력하고 있습니까?
user1132959

더 명확하게 표현하기 위해 응답을 편집했습니다.
갈라 민

2

첫째, 깊이있는 지식이 없어도 기계 학습과 같은 것을 사용하지 않을 것입니다. 이 시계열이 있다면 내가 할 간단한 일은 다음과 같습니다.

  1. SQL 쿼리를 작성하여 사용량이 가장 많고 평균적인 트래픽이 적은 시간을 이해하십시오.
  2. 그런 다음 전체 시계열을 시각화하고 기본 패턴 일치 알고리즘을 사용하여 패턴을 선택할 수 있습니다.

이 두 가지는 데이터 세트가 말하는 내용을 이해하는 데 도움이됩니다. 그런 다음 손에 기계 학습 알고리즘을 사용하는 것이 더 좋은 상태 일 것입니다.

또한 현재 시계열을 기반으로 무언가를 제작하고 있으며 시계열 분석을 사용하면 기계 학습보다 훨씬 많은 도움이됩니다. 예를 들어, 매일 데이터를 사용하여 패턴을 표시하는 패턴 인식 알고리즘과 패턴을 포착하기 위해 최대 3-6 개월의 데이터를 사용하는 패턴 인식 알고리즘이 있습니다.


0

나는 당신이 상점에 대한 경험 (즉, 매일 / 계절 추세와 약간의 평활도가 있음)에 기초하여 미리 좋은 경험을했다고 가정하고 신경망 또는 이와 동등한 것을 사용하는 것에 대해 조언 할 것입니다. 비교적 적은 양의 데이터를 상상합니다. 더 나은 옵션 IMO는 Gaussian Process 또는 SVM과 같은 커널 방법을 사용하는 것입니다.


0

이 스레드를 다시 활성화하면 비슷한 질문을하는 다른 사람들에게 유용 할 수 있습니다.

Facebook은 최근 Prophet https://facebookincubator.github.io/prophet/ 라는 내부 예측 도구 중 하나를 출시하고 오픈 소스 화했습니다.

R & Python 패키지로 모두 사용할 수 있으며 기계 학습 배경이 거의없는 사람에게 흥미로운 솔루션입니다. 그러나 일부 추가 ML 지식을 통해 제작 된 모델을 조정하고 최적화 할 수 있습니다.

나는 선지자에게 첫 걸음으로 시도해 보는 것이 좋습니다. 이 솔루션의 빠른 승리는 모델 구축 및 테스트의 용이성과 속도입니다. 문자 그대로 몇 분 안에 하강 투영을 얻을 수 있습니다. 시계열에서 매우 잘 작동하여 데이터의 계절성을 "자연스럽게"포착합니다.

후드 아래에서 일반 첨가 모델 (GAM)과 유사합니다. 전용 용지에 대한 자세한 내용은 https://facebookincubator.github.io/prophet/static/prophet_paper_20170113.pdf

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.