The aim is to provide students with a strong grounding in the analysis of experimental Physics data in the Python programming language. The contents will cover the basics of statistics, error analysis and propagation of errors, curve fitting and parameter estimation, chi-squared tests for goodness of fit, Monte Carlo simulations and maximum likelihood methods. Python topics will be intertwined with data analysis topics to build Python skills at the same time. Students will learn from doing examples themselves in-class in an Active Learning Room environment as well as assignments. The error analysis section of the course will pay close attention to the Guide to the expression of Uncertainty in Measurement (G.U.M.) reference document adopted by many scientific organisations and industries.
Learning Outcomes:
Have an understanding of experimental measurement and uncertainties, including statistical and systematic errors, and to use appropriate precision when quoting uncertainties.
Understand the fundamental statistical distributions that apply to physical measurements.
Be able to characterise data through parameters such as the mean, standard deviation, covariance, weighted mean and uncertainties on the weighted mean.
Be able to propagate errors on measurements through functions of those measurements, both analytically and numerically.
Be able to fit a function to a set of experimental data to derive best-fit parameters including the uncertainties on the parameters and to use the best-fit covariance matrix to calculate confidence intervals.
Be able to apply a chi-squared test to assess goodness of fit and f-test to assess whether extra parameters for nested functions significantly improve the fit.
Be able to apply Kolmogorov–Smirnov test and chi-square tests to compare two distributions.
Have an understanding of and be able to apply the Permutation test and Bootstrap/Jackknife tests.
Be apply to apply the Method of Maximum Likelihood, including the Likelihood Ratio Test, for parameter estimation and significance estimation.
Be able to do all of the above in Python using appropriate libraries.