5.10 연습문제

  1. elecdaily에는 호주 빅토리아주에서 2014년에 일별 전기 수요 기록이 있습니다. 데이터의 첫 20일은 다음과 같이 볼 수 있습니다.

    daily20 <- head(elecdaily,20)
    1. 데이터를 그래프로 나타내고 온도를 설명 변수로 사용하여 수요 값에 대한 회귀 모델을 찾아봅시다. 왜 음의 관계가 있습니까?

    2. 잔차 그래프를 그려봅시다. 모델이 적절합니까? 이상값이나 영향력 있는 관측값이 있습니까?

    3. 최고 기온이 \(15^\circ\)일 때, 다음날의 전기 소비량을 예측하는 모델을 사용하고 이것을 최고 기온이 \(35^\circ\)일 때 얻은 예측값과 비교해봅시다. 이러한 예측값이 신뢰할만합니까?

    4. 얻은 예측값에 대한 예측구간을 구해봅시다. 다음의 R 코드로 시작해볼 수 있겠습니다.

      autoplot(daily20, facets=TRUE)
      daily20 %>%
        as.data.frame %>%
        ggplot(aes(x=Temperature, y=Demand)) +
        geom_point() +
        geom_smooth(method="lm", se=FALSE)
      fit <- tslm(Demand ~ Temperature, data=daily20)
      checkresiduals(fit)
      forecast(fit, newdata=data.frame(Temperature=c(15,35)))
    5. elecdaily에 있는 모든 데이터를 가지고 수요 vs 기온 그래프를 그려봅시다. 이것이 여러분의 모델과 관련하여 어떤 의미가 있습니까?

  2. 데이터 모음 mens400은 1896년부터 2016년까지 각 올림픽 대회의 남자 400미터 결승 우승 기록(단위: 초)을 담고 있습니다.

    1. 우승 기록을 연도에 따라 그려봅시다. 그래프의 주요 특징을 설명해봅시다.
    2. 회귀 선을 데이터에 맞춰봅시다. 분명히 우승 기록이 감소합니다만, 연간 평균 변화율이 어떠합니까?
    3. 잔차를 연도에 따라 그려봅시다. 이 그림이 적합선의 적절함에 대해 무엇을 나타냅니까?
    4. 2000, 2004, 2008, 2012 올림픽에서 남자 400미터 결승 우승 기록을 예측해봅시다. 얻은 예측값 각각에 대해 예측구간을 구해봅시다. 이러한 계산 과정에서 어떤 가정을 사용합니까?
    5. 이러한 과거 올림픽 실제 우승 기록을 확인해봅시다(www.olympic.org/athletics/400m-men에서 확인할 수 있습니다). 얻은 예측값과 예측구간이 얼마나 좋았습니까?
  3. easter(ausbeer)을 입력해보고 확인한 결과를 설명해봅시다.

  4. 탄력성 계수는 목표 예상변수(\(y\))의 백분율 변화와 예측변수(\(x\))의 백분율 변화의 비율입니다. 수학적으로 탄력성 계수의 정의는 \((dy/dx)\times(x/y)\)입니다. 로그-로그 모델을 이용하면, \[ \log y=\beta_0+\beta_1 \log x + \varepsilon \] 입니다. \(y\)\(x\)의 함수로 표현하고 계수 \(\beta_1\)가 탄력성 계수라는 것을 증명해봅시다.

  5. 데이터 모음 fancy는 1987년에 연 어떤 상점의 선물, 기념품, 아이디어상품 등의 월별 판매량을 담고 있습니다. 이 상점은 호주, 퀸스랜드 주의 어떤 해변 리조트 마을의 부두에 있습니다. 크리스마스와 1988년부터 매년 3월에 열리는 지역 서핑 축제에 수많은 관광객이 찾아옵니다. 시간이 지나면서 상점은 부지, 상품의 종류, 점원을 확대했습니다.

    1. 데이터의 시간 그래프를 그리고 그래프에 나타나는 패턴을 설명해봅시다. 시계열에 나타나는 어떤 특이하거나 예상하지 못했던 변동을 찾아봅시다.
    2. 모델을 맞추기 전에 이러한 데이터에 로그를 취하는 것이 왜 필요한지 설명해봅시다.
    3. R을 이용하여 선형 추세, 계절성 가변수, “서핑 축제” 가변수로 이러한 판매량 데이터에 로그를 취한 것을 회귀 모델로 맞춰봅시다.
    4. 시간에 따라 그리고 적합값에 따라 잔차를 그려봅시다. 이러한 그래프는 모델에 어떠한 문제가 있다는 것을 나타냅니까?
    5. 각 월마다 잔차의 박스 그래프를 그려봅시다. 이것이 모델에 어떠한 문제가 있다는 것을 나타냅니까?
    6. 계수의 값이 각 변수에 대해 무엇을 나타냅니까?
    7. 브로이쉬-갓프레이(Breusch-Godfrey) 검정이 사용한 모델에 대해 무엇을 나타냅니까?
    8. 위의 질문에 대한 여러분이 답한 내용에 상관 없이, 회귀 모델로 1994, 1995, 1996년에 대해 월별 판매량을 예측해봅시다. 여러분이 얻은 각 예측치에 대한 예측구간을 얻어봅시다.
    9. 원본 데이터에 대한 예측값과 구간을 얻기 위해 여러분의 예측값과 구간을 변환해봅시다.
    10. 모델을 수정하여 이러한 예측값을 어떻게 향상시킬 것입니까?
  6. gasoline 시계열에는 미국 완성품 모터 가솔린 제품 공급에 대한 주별 데이터가 있습니다. 기간은 1991년 2월 2일부터 2017년 1월 20일까지입니다. 단위는 일일 백만 배럴입니다. 2004년 말까지의 데이터만 가지고 다음의 내용을 살펴봅시다.

    1. 추세를 고려하는 조화 회귀로 데이터를 맞춰봅시다. 푸리에 항의 수를 바꾸면서 실험해봅시다. 관측된 가솔린과 적합값을 그래프로 나타내보고 관찰한 것을 설명해봅시다.

    2. AICc 또는 CV 값을 최소화하여 넣어야 할 푸리에 항의 적절한 개수를 골라봅시다.

    3. checkresiduals() 함수를 사용하여 마지막 모델의 잔차를 확인해봅시다. 잔차가 상관 관계 테스트를 통과하지 못하더라도, 아마도 예측값과 예측 구간에 큰 차이를 만들어내는 정도로 심각하지는 않을 것입니다. (상관관계가 통계적으로 유의미하더라도 상대적으로 작다는 것에 주목합시다.)

    4. 조화 회귀로 예측하기 위해서, 푸리에 항의 미래 값을 예측할 필요가 있을 것입니다. 이러한 작업을 다음과 같이 할 수 있습니다.

      fc <- forecast(fit, newdata=data.frame(fourier(x,K,h)))

      여기에서 fittslm()으로 맞춘 모델이고, Kfit을 만들 때 사용하는 푸리에 항의 개수, h는 필요한 예측 범위입니다.

      데이터의 다음 연도를 예측해봅시다.

    5. 2005년의 실제 데이터에 따라 예측값을 그려봅시다. 무엇이 보입니까?

  7. huron이라는 데이터에는 Huron 강의 1875년부터 1972년까지 수위 기록이 피트 단위로 있습니다.

    1. 데이터를 그려보고 특징을 말해봅시다.
    2. 선형 회귀로 맞춰보고 이것을 1915년에 매듭이 있는 조각별 선형 추세 모델과 비교해봅시다.
    3. 이 두 가지 모델에서 1980년까지의 예측값을 얻어보고 얻은 예측값을 설명해봅시다.
  8. (다음 문제는 5.7절에서 다룬 내용과 관련된 것이고 숙련된 독자를 위한 문제입니다).

    행렬 표기법을 이용하여 다음의 내용을 증명해봅시다. 평균이 \(\bm{0}\)이고 분산 행렬이 \(\sigma^2\bm{I}\)\(\bm{e}\)가 있습니다. \(\bm{y}=\bm{X}\bm{\beta}+\bm{\varepsilon}\)일 때, 추정한 계수는 \(\hat{\bm{\beta}}=(\bm{X}'\bm{X})^{-1}\bm{X}'\bm{y}\)로 주어집니다. 예측값은 \(\hat{y}=\bm{x}^*\hat{\bm{\beta}}=\bm{x}^*(\bm{X}'\bm{X})^{-1}\bm{X}'\bm{y}\)로 주어집니다. 여기에서 \(\bm{x}^*\)는 예측값에 대한 회귀자의 값을 담고 있는 행 벡터입니다(\(\bm{X}\)와 같은 형식입니다). 목표 예상변수는 \(var(\hat{y})=\sigma^2 \left[1+\bm{x}^*(\bm{X}'\bm{X})^{-1}(\bm{x}^*)'\right]\)로 주어집니다.

    단순 시간 추세 모델을 생각해봅시다. 여기에서 \(y_t = \beta_0 + \beta_1t\)입니다. 다음의 결과 \[ \sum^{T}_{t=1}{t}=\frac{1}{2}T(T+1),\quad \sum^{T}_{t=1}{t^2}=\frac{1}{6}T(T+1)(2T+1) \] 를 가지고 다음과 같은 표현식을 유도해봅시다:

    1. \(\displaystyle\bm{X}'\bm{X}=\frac{1}{6}\left[ \begin{array}{cc} 6T & 3T(T+1) \\ 3T(T+1) & T(T+1)(2T+1) \\ \end{array} \right]\)

    2. \(\displaystyle(\bm{X}'\bm{X})^{-1}=\frac{2}{T(T^2-1)}\left[ \begin{array}{cc} (T+1)(2T+1) & -3(T+1) \\ -3(T+1) & 6 \\ \end{array} \right]\)

    3. \(\displaystyle\hat{\beta}_0=\frac{2}{T(T-1)}\left[(2T+1)\sum^T_{t=1}y_t-3\sum^T_{t=1}ty_t \right]\)

      \(\displaystyle\hat{\beta}_1=\frac{6}{T(T^2-1)}\left[2\sum^T_{t=1}ty_t-(T+1)\sum^T_{t=1}y_t \right]\)

    4. \(\displaystyle\text{Var}(\hat{y}_{t})=\hat{\sigma}^2\left[1+\frac{2}{T(T-1)}\left(1-4T-6h+6\frac{(T+h)^2}{T+1}\right)\right]\)