报告代写-QBUS6840
时间:2022-05-19
QBUS6840 Group Assignment (25 marks)
April 19, 2022
1 Background and Task
The Consumer Price Index (CPI) is a measure that examines the weighted average of prices of a
basket of consumer goods and services, such as transportation, food, and medical care. It is calcu-
lated by taking price changes for each item in the 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 group 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. Each group needs to submit THREE files via the link in the Canvas site.
• A document file, named Group_xxx_document.pdf, that reports your data analysis
procedure and results. You should replace the xxx in the file name with your group ID.
• A Python file, named Group_xxx_implementation.ipynb (or .py) that implements
your data analysis procedure and produces the test error. You should replace the xxx
in the python file name with your group ID.
1https://www.investopedia.com/terms/c/consumerpriceindex.asp
1
• A csv file, named Group_xxx_forecast.csv, that reports the 8 forecast CPI values made
by your final predictive model. You should replace the xxx in the file name with your
group ID.
2. About your document file Group_xxx_document.pdf
• Describe your data analysis procedure in detail: how the Exploratory Data Analysis
(EDA) step is done, what and why models/methods are used, how the models are
trained, etc. with sufficient justifications. The description should be detailed enough so
that other data scientists, who are supposed to have background in your field, under-
stand and are able to implement the task. All the numerical results are reported up to
four decimal places.
• Clearly and appropriately present any relevant graphs and tables.
• The page limit is 25 pages including EVERYTHING: appendix, computer output,
graphs, tables, etc.
• You must use the cover sheet provided on Canvas.
3. The Python file is written using Jupyter Notebook or Spyder as the editors, with the assump-
tion that all the necessary data files (CPI_train.csv and CPI_test.csv) are in the same folder
as the Python file. If you use deep learning models, then please assume that Keras (with
Tensorflow backend) has been installed.
• If the training of your model involves generating random numbers, the random seed
in Group_xxx_implementation.ipynb (or Group_xxx_implementation.py) 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 Group_xxx_implementation.ipynb (or .py) 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 Group_xxx_implementation.ipynb (or
Group_xxx_implementation.py), 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.
• In case you want to test your code to see if a test error is produced, a “fake” test data
is provided. This data set has the same format as the real test data CPI_test.csv, except
that the CPI values in there are not the actual values. Don’t worry about the test error
produced with this “fake” test data - this is just to test if your code runs smoothly.
• You should ONLY use the methods covered in the lectures and tutorials in this assign-
ment. You are free to use any Python libraries to implement your models as long as
these libraries are be publicly available on the web.
2
4. Your group is required to submit meeting minutes. You may use the templates provided
for preparing agendas and meeting minutes. The more detailed the meeting minutes, the
better (who does what next, what has been done by whom, etc.). In case of a dispute within
a group, I will use the meeting minutes and/or request for more information to make ad-
justment to the individual marks. Should a dispute occurs, please treat each other in a
professional and respectful manner.
5. Each member of the group is also required to submit a peer assessment,
named Group_xxx_Peer_Assessment_, via the link on Canvas under
Assignments/Peer-review submission (this is for submitting the peer assessment only).
Please use the peer criteria sheet Peer Assessment Criteria and assessment form Peer Assess-
ment of Team Members, provided on Canvas, for this purpose. It’s important to have a fair
and objective assessment of your team members.
3 Marking Criteria
This assignment weighs 25 marks in total. The content in Group_xxx_document.pdf contributes
10 marks, and the Python implementation contributes 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 groups. The marker first runs Group_xxx_implementation.ipynb (or
Group_xxx_implementation.py)
• 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 group, and the appropriateness of your implementation.
• If the marker cannot get Group_xxx_implementation.ipynb (or .py) run or a test error
isn’t produced, some partial marks (maximum 5) will be allocated based on the appro-
priateness of Group_xxx_implementation.ipynb (or .py).
2. Your report described in Group_xxx_document.pdf: The maximum 10 marks are allocated
based on
• the appropriateness of the chosen forecasting method.
• the details, discussion and explanation of your data analysis procedure.
4 Errors
If you believe there are errors with this assignment please email the coordinator at minh-ngoc.
tran@sydney.edu.au.
3

essay、essay代写