首页 > > 详细

辅导 QBUS2820 Assignment 2辅导 Python语言

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.

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 dataset 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 be the h-step-ahead forecast of y T+h, based on the training data y1:T, where y T+h  is the h-th value in the test data CPI_test.csv. The test error is computed as follows


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.

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 knowshow 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’tproduced, 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;

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.




联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!