QBUS2820-无代写-Assignment 2
时间:2024-05-07
QBUS2820 Assignment 2 (30 marks)
May 7, 2024
1 Background and Task
The Consumer Price Index (CPI) is a measure that examines the weighted average of prices of
consumer goods and services, such as transportation, food, and medical care. It is calculated
by taking price changes for each item in a predetermined basket of goods and averaging them.
Changes in the CPI are used to assess price changes associated with the cost of living. The CPI is
one of the most frequently used measures of inflation and deflation 1.
In this project, your task is to develop a predictive model to forecast CPI of a particular sector
given its historical quarterly values. The CPI data set CPI_train.csv contains the quarterly CPI
data from Jan 1990 to Dec 2019 (120 data points). This data set is based on a real CPI dataset with
some added noise for the de-identification purposes. The test data set CPI_test.csv (not provided)
has the same structure as the training data, and contains the quarterly CPI data from Jan 2020 to
Dec 2021 (8 data points).
Your task is to develop a predictive model, using CPI_train.csv, to forecast the quarterly CPI
measures from Jan 2020 to Dec 2021. Note that, this is a multiple-step-ahead forecast problem.
Test error
For the measure of forecast accuracy, please use mean squared error (MSE). The MSE, computed
on the test data, is defined as follows. Let ŷT+h|1:T be the h-step-ahead forecast of yT+h, based on
the training data y1:T, where yT+h is the h-th value in the test data CPI_test.csv. The test error is
computed as follows
test_error =
1
8
8

h=1
(ŷT+h|1:T − yT+h)2,
where 8 is the number of observations in the test data.
2 Submission Instructions
1. You need to submit, via the link in the Canvas site, a Python file, named
SID_implementation.ipynb (SID is your student ID) that implements your data analysis
procedure and produces the test error. You might submit additional files that are needed for
your implementation, the names of these files must follow the same format SID_xxx.
2. In addition, please submit a csv file, named CPI_forecast.csv, that lists the 8 CPI forecast
values made by your final predictive model.
1https://www.investopedia.com/terms/c/consumerpriceindex.asp
1
3. The Python file is written using Jupyter Notebook, with the assumption that all the necessary
data files (CPI_train.csv and CPI_test.csv) are in the same folder as the Python file.
• If the training of your model involves generating random numbers, the random seed in
SID_implementation.ipynb must be fixed, e.g. np.random.seed(0), so that the marker
expects to have the same results as you had.
• The Python file SID_implementation.ipynb must include the following code
import pandas as pd
CPI_test = pd.read_csv('CPI_test.csv')
# YOUR CODE HERE: code that produces the test error test_error
print(test_error)
The idea is that, when the marker runs SID_implementation.ipynb, with the test data
CPI_test.csv in the same folder as the Python file, he/she expects to see the same test
error as you would if you were provided with the test data. The file should contain
sufficient explanations so that the marker knows how to run your code.
• You are free to use any methods and Python libraries to implement your models as long
as these libraries are be publicly available on the web.
4. The Jupyter Notebook should comprehensively describe your data analysis procedure. It
should provide detailed insights so that fellow data scientists, who are expected to possess
background knowledge in your field, can understand and replicate the task. The presenta-
tion in the Jupyter Notebook contributes to the total mark of this assignment. Please en-
sure that the Notebook maintains readability with well-structured sections and subsections,
effectively utilises markdown cells to elucidate the code, incorporates suitable visualisations,
and follows best practices for clarity and coherence.
3 Marking Criteria
This assignment weighs 30 marks in total. The prediction accuracy contributes 15 marks; the
presentation of the Jupyter Notebook and the description of your data analysis procedure (see
Section 2.4) contribute 15 marks. The marking is structured as follows.
1. The accuracy of your forecast: Your test error will be compared against the smallest test error
among all students. The marker first runs SID_implementation.ipynb
• Given that this file runs smoothly and a test error is produced, the 15 marks will be
allocated based on your prediction accuracy, compared to the smallest MSE produced
by the best student, and the appropriateness of your implementation.
• If the marker cannot get SID_implementation.ipynb run or a test error isn’t produced,
some partial marks (maximum 5) will be allocated based on the appropriateness of
SID_implementation.ipynb.
2. The 15 marks for the Notebook presentation and the description of the data analysis proce-
dure are allocated based on
• the readability of the Notebook;
2
• the appropriateness of the chosen forecasting method;
• the details, discussion and explanation of your data analysis procedure.
3. Late submission: The late penalty for the assignment is 5% of the assigned mark per day.
The closing date is the last date on which the assessment will be accepted for marking. Due
to the stringent timeline for this assignment, extensions can only be granted for genuine
reasons.
essay、essay代写