Projekt

Obecné

Profil

Application predicting class attendance based on weather » Historie » Verze 19

Alex Konig, 2021-04-28 17:56

1 1 Alex Konig
h1. Application predicting class attendance based on weather
2
3 19 Alex Konig
h2. WARNING! THIS INFORMATION IS NOT UP TO DATE, FOR INFORMATION ABOUT CURRENTLY DEVELOPED APPLICATION CONSULT [[Product Vision Statement]]
4
5 1 Alex Konig
h2. Data
6
7 3 Roman Kalivoda
The application uses datasets containing historical information about the weather on campus and attendance based on JIS card verifications and historical timetable information
8 1 Alex Konig
* JIS data http://opendata.zcu.cz/Snimace-JIS.html
9
* Timetable data http://opendata.zcu.cz/Obsazeni-mistnosti.html
10
* Weather data http://opendata.zcu.cz/Energeticky-dispecink.html
11 4 Zuzana Káčereková
* Authentication system http://opendata.zcu.cz/Autentizacni-system.html
12 1 Alex Konig
13 4 Zuzana Káčereková
The timetable provides the baseline attendance, JIS card data can be used to find out the real attendance (and therefore fluctuation in attendance). The authentication data could be used to find out how many people have logged in during classes.
14 1 Alex Konig
15
h3. Weather
16
17 3 Roman Kalivoda
Weather data for model training contains the following information: date, temperature, wind, rain, light in k lux
18 1 Alex Konig
19
User can input weather values manually, by selecting options from a form
20
* values: temperature, wind, rain, sunny/overcast/partly cloudy
21 4 Zuzana Káčereková
There also is an option for data to be automatically downloaded from a server upon request from the user.
22 1 Alex Konig
23
Current options for data sources
24 3 Roman Kalivoda
* RSS from yr.no http://www.kanonbra.com/rss/yr_forecast_rss.php?language=en_US&location=%C4%8Ceahkka/Plze%C5%88sk%C3%BD_Kraj/Plze%C5%88
25 1 Alex Konig
* JSON from wttr.in http://wttr.in/Plzen,czechia?format=j1
26 19 Alex Konig
App provides the ability to ask for data from today or days in the future, and give hourly time specifics (this time will be then approximated into intervals of 3h as is data provided by the website)
27 1 Alex Konig
Again the app will use the following values: temperature, wind, rain, sunny/overcast/partly cloudy
28
29
Notes:
30 19 Alex Konig
Values sunny/partly cloudy/overcast/dark are approximated from data input in lux values.
31 1 Alex Konig
The temperature will be evaluated with certain tolerance (probably determined experimentally)
32 16 Zuzana Káčereková
33 1 Alex Konig
34
h3. Datasets
35
36
Datasets are updated every once in a while with new data. How often update?
37
-> has to trigger re-training the prediction model, probably do not want to update too often.
38
Detect when there's new data, check every day? every x days?
39 4 Zuzana Káčereková
40
New OpenData is added monthly. How complex will be the training? Can it be done on the target device? Will there be a server from which a new model could be downloaded?
41
42 17 Zuzana Káčereková
Notes:
43
Should exclude data from distance learning periods.
44
45 3 Roman Kalivoda
h2. Design
46
47
h3. The output of the Algorithm
48
49
We need to determine what should be the actual prediction:
50 11 Zuzana Káčereková
* A specific number of students in a class,
51 3 Roman Kalivoda
* information about relative occupancy rate.
52
53 1 Alex Konig
h2. Motivation
54
55 8 Zuzana Káčereková
Attendance prediction could be used to deliver crucial course info and material. The lecturers could use this information ahead of seeing the real attendance to adjust the material or schedule important events. Attendees could be motivated with bonus attendance points on slow days, announced whenever low attendance is expected. Alternatively, interesting connections regarding attendance could be discovered in the making of this project.
56 1 Alex Konig
57
h2. Implementation
58
59 3 Roman Kalivoda
The application is a mobile app, possibly WebGL app
60 1 Alex Konig
It is developed in unity which provides more possibilities for export with modifications for given platforms
61
62 9 Zuzana Káčereková
* Mobile app
63 6 Zuzana Káčereková
Android support 5.0 and higher, use Unity UI tools to provide touch support.
64
Deliver an apk of the application to download outside of the Playstore or optionally, create a developer account (perhaps at a later date once the project is finished).
65
66 9 Zuzana Káčereková
* WebGL app
67 6 Zuzana Káčereková
Test options to embed a Unity Canvas app in a simple website. Possible issues with support in various browsers, but unlike the mobile app, the university could provide hosting.
68
69 18 Zuzana Káčereková
Additionally, we have to figure out the Unity collaboration system and how to use GitLab with it.
70
71 6 Zuzana Káčereková
h3. Prediction
72
73 10 Zuzana Káčereková
* Naive Bayes classifier
74
* Neural network
75 6 Zuzana Káčereková
76
Could classify days into high-medium-low attendance days, or more granularly (very high, very low...).
77
78
Risks:
79
We have very little experience with neural networks. Bayesian classification might provide good results with much less effort.
80 12 Zuzana Káčereková
81
Further research on technologies:
82
* https://docs.microsoft.com/en-us/archive/msdn-magazine/2017/august/test-run-deep-neural-network-io-using-csharp
83 13 Zuzana Káčereková
* https://nugetmusthaves.com/Tag/neural
84 14 Zuzana Káčereková
* https://www.codeproject.com/Articles/5286497/Starting-with-Keras-NET-in-Csharp-Train-Your-First
85 12 Zuzana Káčereková
86
A neural network library could be used with C#, test integration with Unity.