시계열 해석 라이브러리 Prophet 공식 문서 번역 4(포화 상태의 예측편)
목차
1.Prophet 공식 문서 번역(개요 및 특징편)
2.Prophet 공식 문서 번역(설치편)
3.Prophet 공식 문서 번역(퀵 스타트편)
4.Prophet 공식 문서 번역(포화 상태의 예측편)
5.Prophet 공식 문서 번역(트렌드의 변화점편)
6.Prophet 공식 문서 번역(주기성·이벤트 효과·설명 변수의 추가편)
7.Prophet 공식 문서 번역(증가하는 주기성편)
8.Prophet 공식 문서 번역(오차의 간격편)
9.Prophet 공식 문서 번역(특이편)
10.Prophet 공식 문서 번역(1일 단위가 아닌 데이터편)
11.Prophet 공식 문서 번역(모델의 진단편)
12.Prophet 공식 문서 번역(도움말편)
2018/10/20 공개. 원문 링크는 이하.
· Prophet 개요 및 특징 : htps : // 펑세보오 k. 기주 b. 이오 / p로 p에 t /
· 공식 문서 : htps : // 펑세보오 k. 기주 b. 이오 / p로 p에 t / 두 cs / 구이 ck_s rt. HTML
이번 기사는 Prophet의 포화 상태의 예측편입니다.
성장 예측
기본 설정의 경우 Prophet은 예측 시 선형 모델을 사용합니다. 일반적으로 성장 예측을 할 때 도달 가능한 최대 값이 존재합니다. 예를 들면, 시장규모의 전체나 총인구라고 하는 것입니다. 이것을 환경 수용력이라고 부르며, 여기서 예측이 포화에 도달한다는 것을 알 수 있습니다.
Prophet은 특정 포화 상태를 예측할 때 로지스틱 함수에 따라 추세 모델을 사용할 수 있습니다. 우리는 이것을 설명하기 위해 R 웹 페이지 (Wikipedia)의 방문수의 로그를 취한 값을 데이터로 사용합니다.
# R
df <- read.csv('../examples/example_wp_log_R.csv')
# Python
df=pd.read_csv('../examples/example_wp_log_R.csv')
우리는 cap이라는 열에서 환경 수용력을 확인해야 합니다. 이 8.5라는 값은 우리가 추측한 값입니다만, 환경 수용력은 추측치가 아니라 데이터의 실제의 값이나 시장규모에 대한 전문지식을 이용해 결정한 값을 설정해 주세요.
# R
df$cap <- 8.5
# Python
df['cap'] = 8.5
명시해야 할 중요한 것은 cap이 데이터 프레임의 모든 행에 명시되어야한다는 것입니다. 또한 cap은 항상 불변 일 필요는 없습니다. 시장 규모가 확대되면 캡을 매번 크게 할 수 있습니다.
다음으로, 모델의 피팅은 문서의 앞 부분에서 설명한 방법으로 실시합니다. 전통적인 방법과 다른 점은 추가 인수에 growth='logistic'을 지정하는 것입니다.
# R
m <- prophet(df, growth = 'logistic')
# Python
m = Prophet(growth='logistic')
m.fit(df)
예측값이 포함된 데이터 프레임을 만듭니다. 전통적인 방법과 다른 점은 미래의 캡을 지정해야한다는 것입니다. 이번에는 cap을 학습 데이터와 같은 값으로 설정해, 향후 3년분의 예측을 실시합니다.
# R
future <- make_future_dataframe(m, periods = 1826)
future$cap <- 8.5
fcst <- predict(m, future)
plot(m, fcst)
# Python
future = m.make_future_dataframe(periods=1826)
future['cap'] = 8.5
fcst = m.predict(future)
fig = m.plot(fcst)
로지스틱 함수는 암시적으로 0을 최소값으로 합니다. 따라서 데이터 값이 캡을 초과하여 포화되면
마찬가지로 0에서도 포화됩니다. 또 다른 접근법으로 0과 다른 포화 최소값을 지정할 수 있습니다.
포화하는 최소값에 대하여
로지스틱 함수를 기반으로 하는 성장 모델은 포화 최소값도 처리할 수 있습니다. cap 열에 최대값을 지정한 것처럼 floor 열에 최소값을 지정합니다.
# R
df$y <- 10 - df$y
df$cap <- 6
df$floor <- 1.5
future$cap <- 6
future$floor <- 1.5
m <- prophet(df, growth = 'logistic')
fcst <- predict(m, future)
plot(m, fcst)
# Python
df['y'] = 10 - df['y']
df['cap'] = 6
df['floor'] = 1.5
future['cap'] = 6
future['floor'] = 1.5
m = Prophet(growth='logistic')
m.fit(df)
fcst = m.predict(future)
fig = m.plot(fcst)
포화의 최소값을 지정한 로지스틱 함수의 트렌드 모델을 사용할 때에는 포화의 최대값도 지정해야 합니다.
Reference
이 문제에 관하여(시계열 해석 라이브러리 Prophet 공식 문서 번역 4(포화 상태의 예측편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/japanesebonobo/items/9a5a5a13440e90f06f30
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# R
df <- read.csv('../examples/example_wp_log_R.csv')
# Python
df=pd.read_csv('../examples/example_wp_log_R.csv')
# R
df$cap <- 8.5
# Python
df['cap'] = 8.5
# R
m <- prophet(df, growth = 'logistic')
# Python
m = Prophet(growth='logistic')
m.fit(df)
# R
future <- make_future_dataframe(m, periods = 1826)
future$cap <- 8.5
fcst <- predict(m, future)
plot(m, fcst)
# Python
future = m.make_future_dataframe(periods=1826)
future['cap'] = 8.5
fcst = m.predict(future)
fig = m.plot(fcst)
로지스틱 함수를 기반으로 하는 성장 모델은 포화 최소값도 처리할 수 있습니다. cap 열에 최대값을 지정한 것처럼 floor 열에 최소값을 지정합니다.
# R
df$y <- 10 - df$y
df$cap <- 6
df$floor <- 1.5
future$cap <- 6
future$floor <- 1.5
m <- prophet(df, growth = 'logistic')
fcst <- predict(m, future)
plot(m, fcst)
# Python
df['y'] = 10 - df['y']
df['cap'] = 6
df['floor'] = 1.5
future['cap'] = 6
future['floor'] = 1.5
m = Prophet(growth='logistic')
m.fit(df)
fcst = m.predict(future)
fig = m.plot(fcst)
포화의 최소값을 지정한 로지스틱 함수의 트렌드 모델을 사용할 때에는 포화의 최대값도 지정해야 합니다.
Reference
이 문제에 관하여(시계열 해석 라이브러리 Prophet 공식 문서 번역 4(포화 상태의 예측편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/japanesebonobo/items/9a5a5a13440e90f06f30텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)