21:57 파이썬으로 시계열분석을 다루는 건 영상이나 책을 찾기 어려워서 이것저것 찾아보다가 우연히 들어오게 되었는데 되게 유익한 강의인 거 같습니다. 학교 다닐 때 이런 수업을 찾아들었어야 했는데.. 그 때는 이런 게 있다는 것도 잘 몰랐고.. 학점이 뭐라고 소위 꿀강이란 것들만 찾아다니다가 졸업해보니 후회하게 되네요. 이제라도 이런 강의 들을 수 있는 기회를 제공해주셔서 감사합니다.
4:49 관측값을 다양하게 decompose 5:41 train test split 5:50 acf pacf 6:52 stationary-> 보정필요 (방식:차분: 데이터 시점 간 차이) 8:34 stationary or not 시각화 차이 8:55 acf pacf 개형을 살펴보고 모델을 결정해야( ma ar arima)-> arima(110)을 baseline으로 10:23 매트릭별 성능 확인 11:08 p d q 파라미터 최적화-> 211 12:29 신뢰구간 13:41 계절성까지 고려한 sarima모델 시도 14:37 파라미터 최적화
교수님 안녕하세요~! 교수님과 조교님의 유익한 강의 정말 감사합니다. 코드를 따라하며 실습하고 있는데 오류해결이 잘 안되서 질문 드립니다 ㅠㅠ use model to forecast - ARIMA 12:30 내용 중 predicted_ub = prediction[2][:,0]에서 IndexError: invalid index to scalar variable. 에러가 뜨는데.. ㅠㅠ 해결방법이 있을까요?
안녕하세요 조교님! 실습 강의 잘 봤습니다. 다름 아니라 12:07 부분에서 ARIMA model summary 표가 나오는데, ar.L1.D.y/ar.L2.D.y/ma.L1.D.y 에 대해 각각 p-value 가 0.000 으로 유의미한 것으로 나왔잖아요. 이 각각이 의미하는 바가 정확히 무엇인가요? 각각을 독립변수라고 해석하면 되나요? 각각이 y 와 선형관계를 이루는 예측선인가요? 추가적인 설명 부탁드립니다. 감사합니다~!
statsmodels.tsa.arima_model 가 더이상 지원이 되지 않는 것 같습니다. 대신에 statsmodels.tsa.arima.model 모듈을 사용하여야 하며 아래와 같이 수정을 하면 동일한 결과를 얻을 수 있습니다. predictResult = model_opt_fit.get_forecast(len(test_data)) predicted_value = predictResult.predicted_mean predicted_ub = predictResult.conf_int()[:, 1] predicted_lb = predictResult.conf_int()[:, 0]
강의 덕분에 많은 도움이 되었습니다. 감사합니다. 그런데 3.3 절(10:06)에서 ARIMA 분석을 한 summary 에서 데이터 모수가 114개로 출력되는데 저는 115개 입니다. split 을 8:2 로 하였기에 115:29 로 데이터가 분리가 되었을 텐데요, 왜 114개가 되는지요 ? 이 영향인지 몰라도 뒷 부분 최적 AIC 도출 결과도 실습 영상과는 다른 (1,1,2)가 제시되네요. 같은 데이터를 사용하였고 같은 소스로 다른 결과가 나오는 데 조언 부탁드리겠습니다.
안녕하세요 실습내용 잘 봤습니다. tsa.seasonal_decompose() 함수를 사용하실때 period 파라미터를 설정해주신 이유가 있을까요? 제가 알기론 index값이 주기성이 없을때 cycle을 대신해서 설정해주는 파라미터인걸로 알고 있는데 이미 이전에 index값을 to_datetime()으로 주기성을 부여해주셨기 때문에 불필요하지 않나요? 그리고 period=1로 설정한건 10년이 넘는 해당 기간을 한 사이클로 간주하신걸로 보이는데 그럴만한 타당한 이유가 있을까요? 감사합니다
21:57 파이썬으로 시계열분석을 다루는 건 영상이나 책을 찾기 어려워서 이것저것 찾아보다가 우연히 들어오게 되었는데 되게 유익한 강의인 거 같습니다. 학교 다닐 때 이런 수업을 찾아들었어야 했는데.. 그 때는 이런 게 있다는 것도 잘 몰랐고.. 학점이 뭐라고 소위 꿀강이란 것들만 찾아다니다가 졸업해보니 후회하게 되네요.
이제라도 이런 강의 들을 수 있는 기회를 제공해주셔서 감사합니다.
누님 강의를 듣고 눈을 뜨게 되었습니다.
4:49 관측값을 다양하게 decompose
5:41 train test split
5:50 acf pacf
6:52 stationary-> 보정필요 (방식:차분: 데이터 시점 간 차이)
8:34 stationary or not 시각화 차이
8:55 acf pacf 개형을 살펴보고 모델을 결정해야( ma ar arima)-> arima(110)을 baseline으로
10:23 매트릭별 성능 확인
11:08 p d q 파라미터 최적화-> 211
12:29 신뢰구간
13:41 계절성까지 고려한 sarima모델 시도
14:37 파라미터 최적화
16:42 성능개선됨(seasonal 고려한 sarima 적용하니)
19:36 auto arima-seasonal 고려
26:44 acf 플롯이 점진적으로 낮아지는 것은 대표적인 non-st 데이터의 특성
교수님과 조교님 수업이 모두 훌륭하십니다. 배우고자 하는 이들에게 이렇게 유용한 자료를 공유해 주시다니..!! 집단 지성에 기여해 주셔서 진심으로 감사드립니다. ^^
감사합니다~
정말 유익하네요 조교님 감사합니다
유익한 수업 정말 감사합니다 정말 훌륭한 연구실입니다!
도움이 되셨다니 감사합니다!
이런 소중한 실습자료를 온라인에서 볼 수 있다니...!! 감사합니다 교수님~
감사합니다!
유익한 수업 감사합니다
감사합니다!
이지윤 조교님 잘 들었습니다!
교수님 안녕하세요~! 교수님과 조교님의 유익한 강의 정말 감사합니다. 코드를 따라하며 실습하고 있는데 오류해결이 잘 안되서 질문 드립니다 ㅠㅠ
use model to forecast - ARIMA 12:30 내용 중 predicted_ub = prediction[2][:,0]에서 IndexError: invalid index to scalar variable. 에러가 뜨는데.. ㅠㅠ 해결방법이 있을까요?
저도 동일하게 오류가 발생하고 있습니다... 해결 방법을 찾으셨는지요 ?
저도 여기서 막혔는데 해결방법 찾으신분 ㅠㅠ
저도 똑같은 오류가 뜨네요 ㅠ
저도 이부분에서 막혀있습니다..ㅠ 해결되신분 있으신가요
차분해서 정상성을 띄게 하는 것을 알겠는데 하면 정확도가 더욱 증가해서 하는 건가요?
시각화할 때 예측값이 그래프에 안나옵니다.. 빨간 점선만 나오고 예측선이 안나오네요.. 왜그런가요?
fig, ax = plt.subplots(figsize=(12,6))
ax.plot(predict_index, predicted_value, label='Prediction')
data.plot(ax=ax)
ax.vlines('1958-08-01', 0, 1000, linestyle='--', color='r', label='Start of Forecast')
ax.fill_between(predict_index, predicted_lb, predicted_ub, color='k', alpha=0.1, label='0.95 Prediction interval')
ax.legend(loc='upper left')
plt.suptitle(f'ARIMA {optimal[0][0]} Prediction Results(r2_score:{round(r2,2)})')
plt.show()
ax.plot(~~~)을 2번째 줄로 옮겨서 작동해보세요
ax.plot과 data.plot이 충돌이 발생한 것 같은데 초보라 정확한 원인은 모르겠습니다..
이걸 혼자 공부하려면 얼마나 오래걸릴까요 ㅎㅎ 정말 감사합니다 :)
개개인의 배경에 따라 달라집니다. 이 분야 아주 처음이라면 보통 수년이 걸릴 수 있습니다.
감사합니다. 재밌네요
감사합니다~
Link to notebook?
이게 수업이지
안녕하세요 조교님! 실습 강의 잘 봤습니다. 다름 아니라 12:07 부분에서 ARIMA model summary 표가 나오는데, ar.L1.D.y/ar.L2.D.y/ma.L1.D.y 에 대해 각각 p-value 가 0.000 으로 유의미한 것으로 나왔잖아요. 이 각각이 의미하는 바가 정확히 무엇인가요? 각각을 독립변수라고 해석하면 되나요? 각각이 y 와 선형관계를 이루는 예측선인가요? 추가적인 설명 부탁드립니다. 감사합니다~!
강의자료 받고 싶네요 ㅠㅠ
안녕하세요. model_opt_fit.forecast했을 때 결과값의 타입이 어떻게 될까요? 저는 Series로 나오는데 Series는 prediction[0]처럼 인덱스 지정이 안돼서 에러가 뜨거든요. upper bound와 lower bound선언할 때도 loc를 저렇게 잡을 수도 없구요.. 답변 부탁드립니다..!
statsmodels.tsa.arima_model 가 더이상 지원이 되지 않는 것 같습니다. 대신에 statsmodels.tsa.arima.model 모듈을 사용하여야 하며 아래와 같이 수정을 하면 동일한 결과를 얻을 수 있습니다.
predictResult = model_opt_fit.get_forecast(len(test_data))
predicted_value = predictResult.predicted_mean
predicted_ub = predictResult.conf_int()[:, 1]
predicted_lb = predictResult.conf_int()[:, 0]
강의 덕분에 많은 도움이 되었습니다. 감사합니다. 그런데 3.3 절(10:06)에서 ARIMA 분석을 한 summary 에서 데이터 모수가 114개로 출력되는데 저는 115개 입니다. split 을 8:2 로 하였기에 115:29 로 데이터가 분리가 되었을 텐데요, 왜 114개가 되는지요 ? 이 영향인지 몰라도 뒷 부분 최적 AIC 도출 결과도 실습 영상과는 다른 (1,1,2)가 제시되네요. 같은 데이터를 사용하였고 같은 소스로 다른 결과가 나오는 데 조언 부탁드리겠습니다.
혹시 이 문제 해결하셨나요? 저도 똑같은 문제가 발생하는데 도저히 해결방법을 모르겠네요 ㅠㅠ
6:55 쯤에서 PACF의 그래프에서 모델이 NON-STATIONAL 이라고 하셨는데,
두번째 지점에서 세번째 지점으로 확 떨어지는 부분이 보여서 STATIONAL이 아닌가요?
어떤 이유로 NON-STATIONAL 인지 궁금합니다.
데이터가 nonstationary인지는 ACF을 보고 판단합니다. ACF이 천천히 감소하는 패턴을 보이고 있으면 nonstationary time series data라고 보시면 됩니다.
@@김성범교수산업경영공 답변 감사합니다!! 프로젝트에서 아리마 모델이 필요하여 유튜브를 참고하였는데 개인적으로 도움이 많이 되고 있습니다~ ㅎㅎ
lstm, gru 모델과 비교하였을때 퍼포먼스가 어느정도 뛰어난가요??
ARIMA 모델은 lstm이나 gru와 같은 learning 방법이라기 보다는 parametric 모델 방식입니다. 패턴이 어느정도 뚜렷한 데이터에는 ARIMA 모델의 성능이 좋게 나오지만 복잡한 데이터에서는 딥러닝 계열의 성능의 훨씬 뛰어납니다.
현재 아리마모델로 주가예측 실습중인데요!!! 교수님 영상 덕분에 빠르게 이해중입니다
실습하면서 궁금한 점이
같은 산업 안에 속한 A,B,C,D 기업들이 auto-arima로 도출된 각각의 p,d,q가 다르다면
다른 추세를 띄고 있다고 봐도 될까요??
네. p, d, q가 ARIMA 모델의 구조를 결정하므로 추세가 다르다고 봐도 될 것 같습니다.
안녕하세요 실습내용 잘 봤습니다. tsa.seasonal_decompose() 함수를 사용하실때 period 파라미터를 설정해주신 이유가 있을까요? 제가 알기론 index값이 주기성이 없을때 cycle을 대신해서 설정해주는 파라미터인걸로 알고 있는데 이미 이전에 index값을 to_datetime()으로 주기성을 부여해주셨기 때문에 불필요하지 않나요?
그리고 period=1로 설정한건 10년이 넘는 해당 기간을 한 사이클로 간주하신걸로 보이는데 그럴만한 타당한 이유가 있을까요? 감사합니다
안녕하세요? 지나가다가 보게 되었습니다...
혹시 auto_arima_model 에서 예측이 들어가는 기간을 좀 더 늘려서 보고 싶은 경우에는 어떻게 해야 할까요?
강의 감사합니다~! 혹시 깃허브 등을 통해 코드 공유는 불가능하실까요~?
간단한 코드라서...
안녕하세요 decompostion을 선언한 라인에서 seasonal_decompose() got an unexpected keyword argument 'period' 라는 에러가 뜨는 이유가 궁금합니다 교수님 감사합니다
freq로 해서 해보세요