9.11 Esercizi

  1. La figura 9.32 riporta le ACF per, rispettivamente, 36, 360 e 1000 numeri casuali.

    1. Spiega le differenza fra questi grafici. Secondo te, indicano tutti che i dati sono white noise?
    Sinistra: ACF per una serie white noise di 36 osservazioni. In mezzo: ACF per una serie white noise di 360 osservazioni. Destra: ACF per una serie white noise di 1000 osservazioni.

    Figura 9.32: Sinistra: ACF per una serie white noise di 36 osservazioni. In mezzo: ACF per una serie white noise di 360 osservazioni. Destra: ACF per una serie white noise di 1000 osservazioni.

    1. Perché i valori critici sono a distanze diverse dalla media che è pari a zero? Perché le autocorrelazioni sono diverse in ogni grafico anche se si riferiscono tutte a serie white noise?
  2. Un classico esempio di serie non stazionaria è dato dai prezzi delle azioni. Rappresenta graficamente i prezzi di chiusura giornalieri delle azioni Amazon (contenuti in gafa_stock), assieme all’ACF e alla PACF. Spiega perché ogni grafico mostra che la serie è non stazionaria e dovrebbe essere differenziata.

  3. Per le seguenti serie, trova l’appropriata trasformazione di Box-Cox e l’ordine di differenziazione che permette di ottenere dati stazionari.

    1. GDP turco da global_economy.
    2. Incassi degli alloggi nello stato della Tasmania da aus_accommodation.
    3. Vendite mensili da souvenirs.
  4. Per la serie di dati souvenirs, scrivi le differenziazioni che hai scelto sopra usando l’operatore ritardo.

  5. Per i dati delle vendite al dettaglio (dell’esercizio 8 nella sezione 2.10), trova l’appropriato ordine di differenziazione (dopo aver eventualmente trasformato i dati) per ottenere dati stazionari.

  6. Simula e rappresenta alcune serie di dati generati da semplici modelli ARIMA.

    1. Usa il seguente codice R per generare dati da un modello AR(1) con \(\phi_{1} = 0.6\) and \(\sigma^2=1\). Il processo inizia con \(y_1=0\).

      y <- numeric(100)
      e <- rnorm(100)
      for(i in 2:100)
        y[i] <- 0.6*y[i-1] + e[i]
      sim <- tsibble(idx = seq_len(100), y = y, index = idx)
    2. Rappresenta graficamente le serie. Come cambia il grafico al variare di \(\phi_1\)?

    3. Scrivi il tuo codice per generare dati da un modello MA(1) con \(\theta_{1} = 0,6\) e \(\sigma^2=1\).

    4. Rappresenta graficamente le serie. Come cambia il grafico al variare di \(\theta_1\)?

    5. Genera dati da un modello ARMA(1,1) con \(\phi_{1} = 0.6\), \(\theta_{1} = 0.6\) e \(\sigma^2=1\).

    6. Genera dati da un modello AR(2) con \(\phi_{1} =-0.8\), \(\phi_{2} = 0.3\) e \(\sigma^2=1\). (Si noti che con questi parametri la serie generata sarà non stazionaria.)

    7. Rappresenta le ultime due serie e confrontale.

  7. Considera la serie aus_airpassengers, il numero totale di passeggeri (in milioni) degli aerei australiani per il periodo 1970-2011.

    1. Usa ARIMA() per scegliere un appropriato modello ARIMA. Quale modello è stato selezionato? Controlla che i residui siano white noise. Rappresenta le previsioni per i prossimi 10 periodi.
    2. Scrivi il modello in termini dell’operatore ritardo.
    3. Rappresenta le previsioni per il modello ARIMA(0,1,0) con drift e confrontale con quelle ottenute al punto a.
    4. Rappresenta le previsioni per il modello ARIMA(2,1,2) con drift e confrontale con quelle ottenute ai punti a and c. Rimuovi la costante e osserva cosa accade.
    5. Rappresenta le previsioni per il modello ARIMA(0,2,1) con costante. Cosa succede?
  8. Per la serie del GDP degli Stati Uniti (da global_economy):

    1. se necessario, trova l’opportuna trasformazione di Box-Cox;
    2. adatta un opportuno modello ARIMA alla serie trasformata usando ARIMA();
    3. cerca altri modelli plausibili provando gli ordini scelti;
    4. scegli quello che pensi sia il modello migliore e controlla i residui del modello scelto;
    5. calcola le previsioni per il modello che hai scelto. Le previsioni ti sembrano ragionevoli?
    6. confronta i risultati con il modello che otterresti usando ETS() (senza trasformazione).
  9. Considera aus_arrivals, il numero trimestrale di visitatori internazionali in Australia da altri paesi per il periodo 1981 Q1 – 2012 Q3.

    1. Scegli un paese e decsrivi il grafico.
    2. Differenzia i dati per renderli stazionari.
    3. Cosa puoi capire dal grafico della ACF dei dati differenziati?
    4. Cosa puoi capire dal grafico della PACF dei dati differenziati?
    5. Quale modello suggeriscono questi grafici?
    6. ARIMA() ti da lo stesso modello che hai scelto? Altrimenti, quale modello pensi sia il migliore?
    7. Scrivi il modello prima usando l’operatore ritardo e quindi senza usare l’operatore ritardo.
  10. Scegli una serie da us_employment, il totale di occupati in diverse industrie negli Stati Uniti.

    1. Ricava la decomposizione STL per i dati scelti e descrivi il trend e la componente stagionale.
    2. I dati necessitano di essere trasformati? Se si, trova la trasformazione opportuna.
    3. I dati sono stazionari? Se no, trova l’appropriata differenziazione che rende i dati stazionari.
    4. Identifica una coppia di modelli ARIMA che possono adeguatamente descrivere le caretteristiche della serie storica. Quale dei tuoi modelli risulta essere il migliore secondo il criterio AICc?
    5. Stima i parametri del tuo modello migliore ed effettua gli opportuni controlli diagnostici sui residui. I residui si comportano come white noise? Se no, cerca un altro modello ARIMA che si adatti meglio alla serie.
    6. Prevedi i prossimi tre anni di dati. Ottieni le ultime osservazioni da https://fred.stlouisfed.org/categories/11 per controllare l’accuratezza delle tue previsioni.
    7. Alla fine, gli intervalli di previsione sono così ampi che le previsioni non sono particolarmente utili. Per quanti anni pensi si possano ottenere previsioni sufficientemente accurate da poter essere utilizzate?
  11. Scegli una delle seguenti serie storiche stagionali: produzione australiana di elettricità, cemento, o gas (da aus_production).

    1. I dati necessitano di essere trasformati? Se si, trova la trasformazione opportuna.
    2. I dati sono stazionari? Se no, trova l’appropriata differenziazione che rende i dati stazionari.
    3. Identifica una coppia di modelli ARIMA che possono adeguatamente descrivere le caretteristiche della serie storica. Quale dei tuoi modelli risulta essere il migliore in accordo al criterio AICc?
    4. Stima i parametri del tuo modello migliore ed effettua gli opportuni controlli diagnostici sui residui. I residui si comportano come white noise? Se no, cerca un altro modello ARIMA che si adatti meglio alla serie.
    5. Prevedi i prossimi 24 mesi usando il modello che hai scelto
    6. Confronta le previsioni ottenute usando ETS().
  12. Per la stessa serie temporale che hai usato nell’esercizio precedente, prova ad usare un modello non stagionale applicato ai dati destagionalizzati ottenuti da STL. Confronta le previsioni con quelle ottenute nell’esercizio precedente. Quale pensi sia l’approccio migliore?

  13. Per i dati relativi al turismo in Australia (da tourism):

    1. Adatta un modello ARIMA a ogni serie storica.
    2. Ottieni le previsioni per i modelli che hai adattato.
    3. Controlla le previsioni ottenute per le regioni “Snowy Mountains” e “Melbourne”. Ti sembrano ragionevoli?
  14. Per la serie storica delle vendite al dettaglio (Esercizio 5 sopra):

    1. identifica un appropriato modello ARIMA stagionale;
    2. confronta le previsioni con quelle ottenute nei capitoli precedenti;
    3. Procuratevi i dati aggiornati sulle vendite al dettaglio dal sito web dell’ABS (Cat 8501.0, tabella 11), e confronta le tue previsioni con le osservazioni reali. Quanto erano buone le previsioni dei vari modelli?
  15. Considera il numero di pellicce di lepre Snowshoe commercializzate dalla Hudson Bay Company tra il 1845 e il 1935 (set di dati pelt).

    1. Rappresenta graficamente la serie.

    2. Si decide di adattare all serie il seguente modello: \[ y_t = c + \phi_1 y_{t-1} + \phi_2 y_{t-2} + \phi_3 y_{t-3} + \phi_4 y_{t-4} + \varepsilon_t, \] dove \(\varepsilon_t\) è una successione white noise. Di che tipo di modello ARIMA si tratta (cioè, che valori hanno \(p\), \(d\), e \(q\))?

    3. Esaminando le funzioni ACF e PACF dei dati, spiega perché questo modello è appropriato.

    4. Gli ultimi 5 valori della serie sono riportati sotto:

      Year 1931 1932 1933 1934 1935
      Number of hare pelts 19520 82110 89760 81660 15760

      The estimated parameters are \(c = 30993\), \(\phi_1 = 0.82\), \(\phi_2 = -0.29\), \(\phi_3 = -0.01\), and \(\phi_4 = -0.22\). Senza usare la funzione forecast(), calcola le previsioni per i prossimi 3 anni (1936–1939).

    5. Ora stima il modello usando R e calcola le previsioni usando forecast(). Quanto diverse sono tali previsioni da quelle da te ottenute? Perché?

  16. Considera la serie relativa alla popolazione della Svizzera dal 1960 al 2017 che si trova nel dataset global_economy.

    1. Rappresenta graficamente la serie di dati.

    2. Si decide di adattare all serie il seguente modello: \[y_t = c + y_{t-1} + \phi_1 (y_{t-1} - y_{t-2}) + \phi_2 (y_{t-2} - y_{t-3}) + \phi_3( y_{t-3} - y_{t-4}) + \varepsilon_t\] dove \(y_t\) rappresenta la popolazione nell’anno \(t\) e \(\varepsilon_t\) è una successione di white noise. Di che modello ARIMA si tratta (cioè, quali sono i valori di \(p\), \(d\), e \(q\))?

    3. Spiega perché è stato scelto questo modello usando l’ACF e il PACF della serie differenziata.

    4. Gli ultimi cinque valori della serie sono riportati sotto.

      Year 2013 2014 2015 2016 2017
      Population (millions) 8.09 8.19 8.28 8.37 8.47

      The estimated parameters are \(c = 0.0053\), \(\phi_1 = 1.64\), \(\phi_2 = -1.17\), and \(\phi_3 = 0.45\). Senza usare la funzione forecast(), calcola le previsioni per i prossimi tre anni (2018–2020).

    5. Ora stima il modello usando R e calcola le previsioni usando forecast(). Quanto diverse sono tali previsioni da quelle da te ottenute? Perché?

  1. Prima di fare questo esercizio, è necessario installare il pacchetto Quandl in R usando

    install.packages("Quandl")
    1. Scegli una serie storica da Quandl. Quindi copia il suo URL e importa i dati usando

      y <- as_tsibble(Quandl::Quandl("?????"), index = Date)

      (Sostituisci ????? con il codice appropriato.)

    2. Rappresenta graficamente la serie di dati, e cerca di identificare un appropriato modello ARIMA.

    3. Effettua il controllo diagnostico dei residui del tuo modello. I residui sono white noise?

    4. Usa il modello ARIMA scelto per prevedere i prossimi quattro anni.

    5. Ora cerca di identificare un appropriato modello ETS.

    6. Effettua il controllo diagnostico dei residui del tuo modello ETS. I residui sono white noise?

    7. Usa il modello ETS scelto per prevedere i prossimi quattro anni.

    8. Quale dei due modelli preferisci? Perché?