# 时间序列代写｜Time Series ST422 Assessed Coursework

本次英国代写是一个R时间序列的coursework

The file Fuel price.csv on the project link on Moodle contains the weekly

time series of fuel prices for ultra-low sulphur unleaded petrol (USLP) and

ultra-low sulphur diesel (USLD). The project is on finding good forecasts for

both time series.

Read the weekly data into a dataframe, say fuel. Then read the fuel prices

series using

library(forecast)

library(lubridate)

ulsp = msts(fuel[,2], seasonal=365.25/7,

start = decimal_date(as.Date(“2003-06-09”)))

ulsd = msts(fuel[,3], seasonal=365.25/7,

start = decimal_date(as.Date(“2003-06-09”)))

(In your future endeavour with weekly data, you may want to remember that

frequency=52 is not exactly right, but should be exactly 365/7 for non-leap

years, and 366/7 for leap years, making it on average 365.25/7 as there is a

leap year every 4 years)

1. Present time series plots to display the data, and other proper plots

that you think is helpful to reveal the structure of the data. Describe

what you found.

2. Using the knowledge you gained from part 1, find time series models to

separately model the 2 different series. Write down the fitted models

for the 2 time series, and produce predicted values until the last week

of December 2021 using forecast. Remember to briefly justify your

final models chosen. If the no models are satisfactory, state so, and

use the one that you think is the most satisfactory among the ones you

tried.

3. Do the following for each series:

Split the data into 60% (the first 60% of data points) training data and

40% validation data. Use a rolling window with length D to predict

the next weekly measurement for the training data, each time moving

the window forward A weeks. You may use A = D=3 or A = D=2 to

reduce computational burden in practice.

Write an R function to compute the weekly squared prediction error,

and aggregate them to form a final prediction error for each window

length. Find a window length to minimise this prediction error. The

models you use within each window can start from auto.arima or just

use those fitted from the function if they are satisfactory.

Repeat the above for the validation data. Does the window length

found for the training data match the one found for the validation

data?

Determine a window length (with reasons), and predict the measure

ments until the last week of December 2021 using forecast. Are they

close to the answers in part 2?

4. Use the function mstl to decompose each series into trend, seasonal,

and residual components, and plot them. Then use forecast to predict

and plot predicted values until the last week of December 2021. Are

they close to the answers in part 2 or 3?

(If you are interested, check out the paper on mstl here ).