Welcome to Machine Learning for Time Series Analysis class, a class developed and taught by Federica Bianco at the University of Delaware Physics and Astronomy Departmant : PHY 667
This class has a Code of Conduct Before you do any thing else, please review the code of conduct. If you have questions of concerns about it let me know promptly
Please review the Syllabus
Course Description This course will teach you machine learning methods and their applications to time series analysis. You will encouter examples of machine learning methods applied to time-domain problems in Phsyics and the Natural Sciences. Basic computational skills, knowledge of statistical analysis, error analysis, good practises for handling, processing, and analyzing data and (including big-data) programmatically, and communication and visualization practices will be reviewed, but generally will be assumed as a background that each student is familiar with. Some of the simpler algorithms will be explored in detail and implemented from scratch, others will be implemented through the use of dedicated python libraries.
Do not fret when comparing yourself to what other students know. You may have the wrong perception of your skills, and of the skills of your classmates, and your strengths and the strengths of your background may lie in another set of skills, just as important for a Physical Scientist. Some of you may have a good handle and understanding of some or all of the physics problems we will study, others a good handle on coding, others yet an easy time understanding the details of the analysis. All these components make proficiency in this class, and all these components make a good scientist. We, the class assistnts and I, are here to help you develop the skills you do not yet have and strengthen the skills you already have.
By the end of this class you should be familiar and able to choose and apply machine learning methods to time series analysis and forcasting problems.
Each HW must be turned in as a directory in MLTSA_
The directory HW<hw_number> must have a README.md which lists who was in the group that the student worked in and states the student's participation. Missing the README will result in a 0 grade. No penalty if the student declares not to have had any specific contribution but to have just followed and learned. However missing the README.md, missing the statement about who the student worked with and what they did, or inconsistencies between the statements of students within the group that cannot be easily reconciled by asking will costs them 10% of the grade.
Plots: Each assignment turned in as a notebook must have rendered plots with axis labels and captions. Each missing/non rendered plot, or plot without axes labels or caption will not be counted. The caption should state What is beint plotted (describe the plot) and Why it is being plotted (describe the conclusions that the reader should draw from the plot).
Model and statistical analysis results must be discussed. It is not sufficient to run a test and print the test output without commenting on the meaning of the test and results. The student should discuss why a test is chose, what the result is, what are the weaknesses of the test.
The notebook must be executables: the TA must download the notebook and run it cell by cell without errors on google colab. If data are used they must be available to the TA, ideally by loading them online, so that the TA does not need to download large datasets (more details on this will be given in each homework set). The student should use conventional libraries, the use of any unusual library should be justified, and indicated explicitly in the readme, along with links to obtain the library if not available by conda, pip, port, or brew install. Turning in a notebook that cannot be executed will cost 10% of the grade.
If code is used from other resources, e.g. copying a function found online, the resource must be stated, as a citation, in the notebook. Plagiarism is not allowed (obviously) and severely punished by NYU (UD?). Instances of plagiarism will cost the entire homework grade, and may cost failing the class, and may cause expulsion from the program!
Adherence to coding style (PEP8, see this markdown) is encouraged in the first half of the semester, without being penalized. In the second half of the semester (starting with the midterm) not adhearing to the PEP8 guidelines will cost 5% of the grade per infraction (per type of infraction).
Ultimately the homework are for the student to learn, and the test of your learning is in the Midterm and Final, where the student has to work independently generating an analsyis plan and a result. Working in groups is encouraged in the homework preciselly so that students can support each other and learn from eachother taking advantage of the complementary skills they have. Understand the homework, so that you learn. Go over the homework solution and the TA corrections. The homework is due by Wednesday at midnight. For homework turned in through github this means we will only review material uploaded by the deadline. A single 3-day (72 hours) exception is allowed throughout the semester, explicitly declare that you are going to use it when you do not turn in the homework, and do use it wisely (if you still do not turn in the homework at the end of the 72 hours your extension will still be available for you to use). The lowest grade in the first half of the course (before midterm), and the lowest grade in the second half will be disregarded in computing the final grade. If you fail to turn in an assignment that will be a 0, and the lowest grade. This means you will lose the chance to disregard your worst performance. Homework will be exclusively received through github (unless otherwise stated). The homeworks assignments are downloaded automatically at due time, so there will be no ambiguity as of whether the homework will be turned in time.
**Grades are based on **
- 15% pre-class questions
- 20% labs performance and participation
- 15% homework
- 20% midterm (project proposal)
- 30% ﬁnal (project)