Project Information
This assessment task is designed to provide an authentic and applied learning experience in computer simulation. Students will work collaboratively to design, implement, and analyse a simulation study in a relevant problem domain.
Simulation studies in industry and research are rarely conducted in isolation; they involve discussion of modelling assumptions, validation of computational procedures, interpretation of results, and clear communication of findings. The group-based structure of this project reflects this professional practice and encourages the development of technical, analytical, and collaborative skills.
Through this project, students will integrate theoretical concepts, computational implementation, and statistical reasoning to produce a reproducible and well-justified simulation analysis.
Overview
- The project must be undertaken in groups of 2-3 students.
- Groups of 3 are encouraged only for more complex projects.
- Each group must submit:
- One proposal (5%)
- One final report (23%)
- Each student must individually submit:
- A confidential peer evaluation (2%), rating the contribution of each team member (including themselves) on a scale of 0-10.
- You may use R or Python for this project.
- The project must comply fully with all aspects of Academic Integrity.
- The project should be sufficiently substantial to warrant 30% assessment weighting.
Task 1: Project Proposal (5%)
Due: Friday 27th Mar, 8:00pm (Week 6)
Submission: Turnitin (PDF or HTML)
Length: Maximum 2 pages (\(\approx\) 1000 words)
Proposal Structure (10 marks)
- Problem statement and background (4 marks)
- Proposed methodology (6 marks)
- You will not be penalised for “wrong” ideas.
- Marks will be deducted if the proposal is too brief or lacks sufficient detail.
Task 2: Final Report (23%)
Due: Friday 22nd May, 8:00pm (Week 14 / Teaching Week 12)
Submission: Turnitin (PDF or HTML)
Length: Maximum 10 pages (\(\approx\) 2500-3500 words) excluding appendix.
Report Structure (95 marks)
Introduction and Background (10 marks)
- Problem context
- Objectives
- Significance
- Brief literature review (3-5 relevant sources)
Methodology (25 marks)
- Assumptions and model formulation
- Description of data (if applicable)
- Justification of modelling choices
Model Implementation and Results (45 marks)
- Implementation (code integrated within explanation)
- Statistical summaries and visualisations
- Interpretation in context
Conclusion (15 marks)
- Discussion of results
- Strengths and limitations
- Possible extensions (future work)
- Practical implications
Contribution statements
Appendix (optional)
- Additional plots
- Extended code
- Supplementary results
Overall Presentation (5 marks)
- Clear coherent structure, appropriate formatting of text, tables and graphs, easily readable language, spelling, grammar.
- Use APA 7th Ed referencing style.
Final Report Marking Rubric
| Report Section | Score Range | Criteria |
|---|---|---|
| Introduction and Background | 7-10 | Clear problem statement, relevant context, well-defined objectives, and appropriate literature review (5 or more sources). |
| 4-6 | Adequate problem statement and context, but may lack clarity or depth in objectives and literature review (3-4 sources). | |
| 0-3 | Unclear problem statement, insufficient context, poorly defined objectives, and minimal or irrelevant literature review (0-2 sources). | |
| Methodology | 20-25 | Logical model formulation, justified assumptions, and clear description of data and modelling choices. |
| 15-19 | Generally sound methodology, but may have some gaps in justification or clarity in model formulation. | |
| 0-14 | Incomplete or poorly justified methodology, unclear model formulation, and insufficient description of data and modelling choices. | |
| Model Implementation and Results | 35-45 | Correct and efficient implementation, comprehensive results presentation, and insightful interpretation. |
| 30-34 | Mostly correct implementation, adequate results presentation, and reasonable interpretation. | |
| 0-29 | Incorrect or incomplete implementation, poor results presentation, and limited interpretation. | |
| Conclusion | 10-15 | Thoughtful discussion of results, acknowledgment of limitations, and suggestions for future work. |
| 5-9 | Basic discussion of results, but may lack depth in acknowledging limitations or suggesting future work. | |
| 0-4 | Minimal discussion of results, little acknowledgment of limitations, and no suggestions for future work. | |
| Contribution Statements | 4-5 | Clear and honest description of each team member’s contribution to the project. |
| 2-3 | Basic description of contributions, but may lack clarity or honesty. | |
| 0-1 | Vague or dishonest contribution statements, or failure to include them. | |
| Overall Presentation | 3-5 | Professional formatting, clear writing, and proper and consistent referencing (APA 7th Ed) throughout. |
| 1-2 | Adequate formatting and writing, but may have some issues with clarity or referencing. | |
| 0 | Poor formatting, unclear writing, and inconsistent or incorrect referencing. |
Task 3: Peer evaluation (2%)
Each student must submit a confidential peer evaluation form on Blackboard.
You are required to:
- Rate the contribution of each group member (including yourself) on a scale from 0 to 10
- Provide a brief justification (2–3 sentences per member) describing their contribution
Your individual peer evaluation mark will be calculated based on:
The average rating you receive from your teammates
The consistency and fairness of ratings across the group
Example: If your average rating from peers is 8/10, your peer mark will be:
\[ \frac{8}{10} \times 2\% = 1.6\% \]
You are expected to evaluate your peers honestly, respectfully, and professionally.
Project Ideas
From the unit reading list, Jones (2014, Chapter 24) provides a few examples that can be used, such as roulette, insurance risk, stock prices, and conserving water.
There are also many public datasets available at:
The following list provides suggested directions for the simulation project.
Each topic is intentionally broad and can be developed into a unique and substantial study by:
- Modifying modelling assumptions,
- Adopting alternative methodological approaches (e.g., Bayesian vs frequentist),
- Extending to multivariate settings,
- Comparing simulation algorithms,
- Conducting sensitivity or robustness analysis.
Projects should demonstrate thoughtful model design, careful implementation, validation of results, and clear interpretation.
Students may also propose their own topic, provided it:
- Is supported by relevant literature,
- Is feasible within the scope of the unit,
- Can be investigated using a reproducible simulation framework.
Queueing Systems and Service Operations
Queueing models are fundamental in operations research, logistics, healthcare, telecommunications, and service industries. They provide a natural setting for simulation, especially when analytical solutions are unavailable or unrealistic assumptions must be relaxed.
Students may investigate classical queueing systems and extend them through simulation.
Example directions:
- Simulating M/M/1 and M/M/2 queues
- Priority queue systems
- Customer abandonment models
Possible extensions:
- Extend to multiple servers (M/M/c) and compare
- Non-Exponential Service Times (M/G/1)
- Compare simulation results with analytical formulas (where available)
- Investigate waiting time distributions
- Time-varying arrivals (peak vs off-peak) using piecewise arrival rates
- Conduct sensitivity analysis on arrival and service rates
Financial Simulation and Risk Modelling
Financial systems are inherently stochastic and often analytically intractable under realistic assumptions. Simulation plays a central role in modern risk management, derivative pricing, and portfolio optimisation.
Projects in this area should focus on modelling uncertainty, estimating risk measures, validating results, and interpreting implications for decision-making.
Example directions:
- Portfolio risk simulation under correlated returns, assuming daily log-returns follow a multivariate normal distribution:
\[ \mathbf{R} \sim \mathcal{N}(\boldsymbol{\mu}, \Sigma) \]
where \(\boldsymbol{\mu}\) is the mean return vector and \(\Sigma\) is the covariance matrix.
- Monte Carlo option pricing under Geometric Brownian Motion (GBM) model:
\[ S_{t+1} = S_t \exp\left(\mu - \frac{1}{2}\sigma^2 + \sigma Z_{t+1}\right), \]
where \(Z_t \sim \mathcal{N}(0,1)\). Where applicable, compare your Monte Carlo estimate to the known Black–Scholes analytical formula.
Possible extensions:
- Heavy-tailed return distributions
- Stress testing scenarios
- Comparing parametric vs simulation-based risk measures
Epidemic Modelling (SIR / SEIR)
Compartmental epidemic models describe how infectious diseases spread through a population. They are widely used in public health, policy planning, and epidemiology.
Simulation is particularly valuable because real outbreaks are stochastic, and analytical solutions are often unavailable or unrealistic under complex assumptions.
Projects in this area should focus on modelling assumptions, stochastic simulation, parameter sensitivity, and interpretation of public health implications.
The basic SIR model divides a fixed population of size \(N\) into three compartments:
- S(t): Susceptible individuals
- I(t): Infectious individuals
- R(t): Recovered (or removed) individuals
At each time step:
- New infections occur at rate proportional to \(\beta S(t) I(t) / N\), where \(\beta\) is the average number of contacts per person per time.
- Recoveries occur at rate \(\gamma I(t)\), where \(\gamma\) is the recovery rate constant in the unit fraction of a person recovered per day per infected person, when time is in unit day.
- Dynamics of the infectious class depends on the basic reproduction ratio \(R_0 = \frac{\beta}{\gamma}\).
Example directions:
- Stochastic SIR model simulation
- Impact of vaccination strategies
- Estimation of outbreak probabilities
Possible extensions:
- Comparison of deterministic and stochastic models
- Sensitivity analysis on transmission rates
- Policy intervention scenarios
Time Series Simulation
Time Series Analysis comprises of statistical methods to analyse data depends on time (in seconds, daily, weekly, monthly, etc). The applications in many fields, as examples:
- Business and Economics: weekly interest rates, daily closing stock prices,monthly price indices, yearly sales figures
- Meteorology: daily highs and lows temperature, hourly wind speeds
- Agriculture: annual figures for crop and livestock production, soil erosion, and export sales
- Biological sciences: electrical activity of heart at millisecond intervals
- Social Sciences: population series such as birth rates or school enrolment
- Epidemiology: number of influenza cases observed over time
- Medicine: Blood pressure measurements traced over time for evaluating drugs used in treating hypertension.
In this project, find resources that fitted time series model in the field of your interest. Based on the fitted model, generate synthetic data through simulation as one of the objectives.
In your proposal, you must be being specific for fitted model(s) and resources that you referred to, so that I can justify it to be unique.
Example directions:
- Simulating ARIMA models from fitted parameters
- GARCH models for financial volatility, e.g. GARCH(1,1) model:
\[ r_t = \sigma_t Z_t, \quad \sigma_t^2 = \alpha_0 + \alpha_1 r_{t-1}^2 + \beta_1 \sigma_{t-1}^2 \]
- Synthetic data generation from published time series models
Possible extensions:
- Parameter recovery analysis
- Model diagnostics and residual analysis
- Nonlinear extensions
Environmental and Climate Simulation
Environmental systems are inherently stochastic and often exhibit temporal dependence, seasonality, and heavy-tailed behaviour. Simulation plays an important role in climate modelling, water resource planning, agriculture, and risk management.
Projects in this area should focus on constructing stochastic models for environmental variables, validating them against observed data, and evaluating their long-term behaviour.
Example directions:
- Rainfall generation using Markov chain models
- Modelling rainfall amounts with parametric distributions
- Comparing simulated weather sequences to observed data
Possible extensions:
- Multi-state Markov models
- Long-term variability analysis
- Visualisation of simulated vs real sequences
Bayesian Simulation and MCMC
Bayesian inference treats model parameters as random variables and updates beliefs using data through Bayes’ theorem:
\[ p(\theta \mid y) \propto p(y \mid \theta)\, p(\theta) \]
In many realistic models, the posterior distribution does not have a closed-form solution. Simulation-based methods such as Markov Chain Monte Carlo (MCMC) allow us to approximate posterior distributions through repeated sampling.
Projects in this area should focus on posterior simulation, convergence diagnostics, uncertainty quantification, and interpretation.
Example directions:
- Implementing Gibbs sampling for a bivariate model
- Bayesian linear regression via simulation
- Comparing analytical posterior solutions with MCMC output
Possible extensions:
- Convergence diagnostics
- Autocorrelation analysis
- Mixing behaviour comparison
Synthetic Data from Published Models
Simulation is widely used in research to evaluate models, test assumptions, and study system behaviour under controlled conditions. One powerful project direction is to identify a fitted model from the literature and use simulation to generate synthetic data based on that model.
This approach connects simulation practice with real-world research and encourages critical evaluation of modelling assumptions.
Students identify a published paper, textbook example, or applied modelling study that:
- Specifies a fitted statistical model,
- Reports parameter estimates,
- Describes assumptions clearly,
- Provides sufficient information to reconstruct the model.
Using the reported structure and parameter values, and then
- Reconstruct the model.
- Simulate synthetic datasets.
- Analyse the behaviour of the simulated system.
- Evaluate robustness under modified assumptions.
A typical project may involve:
- Implementing the model from scratch (not solely using built-in simulation commands).
- Generating synthetic datasets of varying sizes.
- Studying sampling variability.
- Investigating parameter recovery through re-estimation.
- Comparing simulated data with properties described in the original paper.
FAQs
Q: How to write the contribution statement?
A: For guidance on writing contribution statements, please refer to: CRediT author statement.
Your contribution statement could look something like:
- Member A: Conceptualisation, Proposal (40%), Introduction (40%), Methodology (30%), Model Implementation and Results (30%), Conclusion (30%).
- Member B: Conceptualisation, Proposal (40%), Introduction (40%), Methodology (30%), Model Implementation and Results (30%), Conclusion (30%).
- Member C: Conceptualisation, Proposal (20%), Introduction (20%), Methodology (40%), Model Implementation and Results (40%), Conclusion (40%).
Q: No contribution from one of the group members, what should I do?
Q: What should I do if there are issues with group contribution or participation?
A: The contribution statement and peer evaluation components are included in the project partly to help address situations like this. Please ensure that the contribution statement clearly specifies who contributed to which parts of the report, and communicate this with your group members before submission.
If a group member wishes to demonstrate additional contribution toward the assessment, this should be reflected in the work completed before submission. Otherwise, they may need to prepare and submit their own individual version of the report.
In cases where the workload distribution is not fair across the group, I will assess marks individually according to the rubric rather than assigning everyone the team average.
For further issues with group dynamics, please contact me as soon as possible so we can discuss how to address the situation.
Q: How to submit peer evaluation?
A: You will find the peer evaluation portal on Blackboard inside the Project folder. First, create text submission by clicking the “Create Submission” button. Then, you can rate each team member (including yourself) on a scale from 0 to 10 and provide a brief justification for each rating (or you can just copy and paste your contribution statement). It could look something like this:
- Member A (myself): 9/10. Contributed to the initial conceptualisation and proposal, and provided significant input to the introduction and methodology sections.
- Member B: 8/10. Contributed to the initial conceptualisation and proposal, and provided significant input to the introduction and methodology sections. However, they were less involved in the model implementation and results analysis.
- Member C: 10/10. Contributed to the initial conceptualisation and proposal, and provided significant input to the methodology, model implementation, results analysis, and conclusion sections. They were the most active member in the group and contributed significantly to the overall project.
Q: How to submit the code for the project?
A: You should include your code within the final report, integrated with explanations of your implementation. You can use code chunks in R Markdown or Jupyter Notebook to achieve this. The code should be well-commented and clearly linked to the results and interpretations you present in the report. If you have extensive code, you can include it in an appendix or as supplementary material, but make sure to reference it appropriately in the main text.
If you use MS Word or Overleaf, all the code can be included in the appendix, and you can refer to it in the main text. You can also provide a link to a GitHub repository containing your code, but make sure that the repository is private and only accessible to the instructor and your teammates.
Q: Can we use existing code or libraries for the simulation?
A: You may use existing libraries for basic functions (e.g., random number generation, statistical distributions), but you must implement the core simulation logic yourself. Simply calling a built-in function that performs the entire simulation is not sufficient. Your report should clearly explain your implementation and justify your modelling choices.
Q: Can we change our project topic after submitting the proposal?
A: You may modify your project topic after submitting the proposal, but you must notify the instructor and provide a brief justification for the change. No penalty will be applied for topic changes, but you must ensure that your final project still meets the requirements and is sufficiently substantial.
Q: How should we handle differences in contribution among group members?
A: Contribution statements must be included in the final report, clearly outlining each member’s role and contribution to the project. Make sure to communicate openly with your teammates about expectations and contributions throughout the project. The peer evaluation component allows you to reflect differences in contribution. Be honest and fair in your evaluations, and provide constructive feedback. If there are significant issues with group dynamics, please contact the instructor as soon as possible.
Q: What is the role of real data in our simulation project?
A: Yes, you can use real data to inform your model parameters or to validate your simulation results. However, the core of the project should focus on the simulation aspect, and you should clearly distinguish between data-driven components and the simulation framework.
Q: Can we take inspiration from examples and case studies in the unit materials?
A: Yes, you can take inspiration from examples and case studies. In fact, that’s the initial purpose of providing those materials. However, your problem statement must be distinct, and the project must be sufficiently substantial to warrant 30% of the final grade. You should clearly cite any sources you use for inspiration and ensure that your implementation and analysis are your own work.