2.10 演習

  1. help関数を使って、gafa_stockPBSvic_elecpeltの各データセットに収録されているデータを探索してみてください。

    1. autoplot()を使って、これらデータセット内のいくつかのデータをプロットしてみましょう。
    2. 各時系列データの観測間隔は何でしょう?
  2. filter()を使って、gafa_stockデータセット内の4つの株価終値が山を打った日付をそれぞれ見つけてください。

  3. 本書のウェブサイトからtute1.csvファイルをダウンロードして、Excel(もしくは他のスプレッドシート・アプリ)で開き、その中身を見てください。4列分のデータがあるはずです。A列からD列は、それぞれ四半期の日付(Quarter)、売上高(Sales)、広告費(AdBudget)、GDPです。Salesは1981年から2005年のある中小企業の四半期売上高、AdBudgetは広告予算、GDPは国内総生産です。全てのデータがインフレ調整済みです。

    1. 以下のコードを使って、データをRに読み込んでください。

      tute1 <- readr::read_csv("tute1.csv")
      View(tute1)
    2. データを時系列データに変換してください。

      mytimeseries <- tute1 %>%
        mutate(Quarter = yearmonth(Quarter)) %>%
        as_tsibble(index = Quarter)
    3. 3つの時系列データそれぞれの時間プロットを描いてください。

      mytimeseries %>%
        pivot_longer(-Quarter) %>%
        ggplot(aes(x = Quarter, y = value, colour = name)) +
        geom_line() +
        facet_grid(name ~ ., scales = "free_y")

      facet_grid()を入れなかったらどうなるかチェックしてください。

  4. USgas パッケージは米国天然ガス需要のデータです。

    1. USgas パッケージをインストールしましょう。
    2. us_totalデータから、yearをインデックス変数、stateをキー変数としたtsibbleを作ってください。
    3. ニューイングランド地方(Maine、Vermont、New Hampshire、Massachusetts、Connecticut、Rhode Islandの各州)の州別年間天然ガス消費量をプロットしてください。
    1. 本書ウェブサイトからtourism.xlsxをダウンロードして、readxl::read_excel()を使ってRに読み込みましょう。
    2. tsibble パッケージ内のtourismデータセットのtsibbleを複製してみてください。
    3. 平均宿泊客数が最大になるRegionPurposeの組み合わせを探してください。
    4. RegionPurposeを越えて合算してState別だけにした、宿泊客数のtsibbleを新しく作ってください。
  5. 以下4つの時系列データの時間プロットを描きましょう: aus_productionデータセット内のBrickspeltデータセット内のLynxgafa_stockデータセット内のClosevic_elecデータセット内のDemand

    • ? (もしくは help()) を使って、各データについての情報を得てください。
    • 最後のプロットでは、軸のラベルとタイトルを変更してください。
  6. aus_arrivalsデータセットは日本、ニュージーランド、英国、米国からオーストラリアへの四半期の訪問者数です。

    • autoplot()gg_season()gg_subseries()を使って、これら4カ国からの訪問者数がどのように異なるのか比較してください。
    • 異常な観測値はありますか?
  7. aus_retailデータセットはオーストラリアの月次小売売上高データです。以下のコードを使って(ただし、乱数生成のシード値は自身で選択のこと)、時系列データを1つ選んでください。

    set.seed(12345678)
    myseries <- aus_retail %>%
      filter(`Series ID` == sample(aus_retail$`Series ID`,1))

    以下の関数を使い、選択した小売売上高時系列データを分析してください。

    autoplot(), gg_season(), gg_subseries(), gg_lag(),

    ACF() %>% autoplot()

    季節性、循環性、トレンドはありますか? 分析している時系列データについて分かることはありますか?

  1. 次のグラフ関数: autoplot()gg_season()gg_subseries()gg_lag()ACF()を使って以下の時系列データの特徴を探索してください:us_employmentデータセット内の”Total Private”のEmployedaus_productionデータセット内のBrickspeltデータセット内のHarePBSデータセット内の”H02”のCost、およびus_gasoline

    • 季節性、循環性、トレンドはありますか?
    • このデータにつき何が分かりますか?
    • 季節パターンについて何が言えますか?
    • 異常な年を特定できますか?
  2. 以下の時間プロットとACFプロットは、4つの異なる時系列データから描いたものです。一行目の時間プロットした時系列データをACFプロットしたとき、二行目のどの図になるか、選んでください。

  3. aus_livestock データセットはオーストラリア・ビクトリア州で畜殺される豚の頭数についての、1972年7月から2018年12月までの月次データです。filter()を使って1990年から1995年までのデータだけを抽出してください。次に、そのデータにautoplot()ACF()を使ってください。ホワイトノイズとどこが違っていますか? より長期のデータを使うと、ACFはどのように変わりますか?

    1. 以下のコードを使い、Google株価終値の日次変化幅を計算してください。

      dgoog <- gafa_stock %>%
        filter(Symbol == "GOOG", year(Date) >= 2018) %>%
        mutate(trading_day = row_number()) %>%
        update_tsibble(index = trading_day, regular = TRUE) %>%
        mutate(diff = difference(Close))
    2. tsibbleのインデックス変数を変更する必要があったのはなぜでしょう?

    3. 日次変化幅の時間プロットとACFプロットを描いてください。

    4. 日次変化幅はホワイトノイズのように見えますか?