Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

QBUS6840 Group Assignment

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 =  (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.

• 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.  ♥♣✳r❛♥❞♦♠✳s❡❡❞✭✵✮, 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

✐♠♣♦rt  ♣❛♥❞❛s  ❛s  ♣❞

❝♣✐❴t❡st  ❂  ♣❞✳r❡❛❞❴❝s✈✭✬❈P■❴t❡st✳❝s✈✬✮                                              ★  ❨❖❯❘  ❈❖❉❊  ❍❊❘❊✿  ❝♦❞❡  t❤❛t  ♣r♦❞✉❝❡s  t❤❡  t❡st  ❡rr♦r  t❡st❴❡rr♦r

♣r✐♥t✭t❡st❴❡rr♦r✮

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.

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_<your   SID>,   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. Its 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 ♠✐♥❤✲♥❣♦❝✳ tr❅s②❞♥❡②✳❡❞✉✳❛✉.