이것은 실제 응답을 부적절하게 만들 수있는 백만 가지 방법이있을 수있는 질문 중 하나입니다. 그러나 완고함은 길에 들어갑니다.OLS 선형 모델에서 예측 된 변수 (연도)를 가진 OLS 선형 모델의 예측 값
시계열의 적용을 이해하려고 시도 할 때 데이터의 추세를 분석하면 미래의 가치를 예측할 수 없다는 것을 알 수 있습니다.
그래서 나는 드에 대한 ARIMA 모델 (옳고 그름을) 끝낼 : 예를 들어, astsa
패키지에서 gtemp
데이터 세트를 사용하여, 지난 수십 년간 상승 추세는에서 고려 될 필요가 수 -trended 데이터 나 10 년 앞서 "예측"
fit = arima(gtemp, order = c(4, 1, 1))
pred = predict(fit, n.ahead = 10)
과 1950 년 이후의 값을 기반으로 OLS 추세 추정 :
gtemp1 = window(gtemp, start = 1950, end = 2009)
fit2 = lm(gtemp1 ~ I(1950:2009))
predict()
을 사용하여 향후 10 년 동안 선형 모델 부품의 예상 값을 얻는 방법이 문제입니다.
predict(fit2, data.frame(I(2010:2019)))
을 실행하면 predict(fit2)
과 'newdata' had 10 rows but variables found have 60 rows
을 실행하는 데 필요한 60 가지 값이 있습니다.
OLS를 기반으로 예측 된 값을 ARIMA의 예상 값에 어떻게 추가하여 합리적인 가치를 얻을 수 있는지 아십니까? – Toni
나는 시계열을 이해하려고 노력하고있다. 나는 당신이'model = lm (y ~ I (1950 : 2009)) '과 같은 것을함으로써 추세를 벗어날 수 있다는 것을 알았다. st.y = gtemp - predict (model)'(OP와 정확히 일치하지는 않음). 그래서 이제 ARIMA의 predict() 결과를 OLS 예측에 더하는 대신 뺄셈하는 대신에 노력하고있었습니다. 하지만 나는 거대한 승패를 얻는다. – Toni
마지막 의견에 대해서'pred'는'fit = arima (gtemp, order = c (4, 1, 1)); pred = predict (fit, n.ahead = 10)'? OLS를 완전히 파기 하시겠습니까? – Toni