Skip to content

Michall00/meteo-model

Repository files navigation

ZPRP-METEO-MODEL

Projekt badawczy mający na celu opracowanie modelu do przewidywania wartości meteorologicznych, takich jak temperatura, ciśnienie i opady. Prognozy będą wizualizowane na prostych wykresach liniowych w dedykowanej aplikacji.


Opis

Projekt obejmuje:

  • Przegląd literatury naukowej w celu wybrania najlepszych metod.
  • Eksperymenty z różnymi architekturami sieci neuronowych, aby wytrenować najdokładniejszy model prognostyczny.
  • Wizualizację wyników modelu w oparciu o dane aktualne i historyczne.

Projekt jest inspirowany artykułem Springer, jednak wprowadza zmiany, takie jak:

  • Wykorzystanie innego źródła danych: Meteostat.
  • Proste zastosowanie modelu na bieżących danych meteorologicznych.

Kluczowe funkcjonalności

  • Reprodukcja eksperymentów: Kod projektu umożliwia odtworzenie eksperymentów przeprowadzonych podczas prac badawczych.
  • Wizualizacja prognoz: Prosta aplikacja Streamlit prezentuje:
    • Prognozy temperatury.
    • Przewidywania ciśnienia.
    • Szacowania opadów.
    • Przeiwdywania predkości oraz kierunku wiatru.

Instalacja

Aby uruchomić projekt lokalnie:

  1. Sklonuj repozytorium:

    git clone https://gitlab-stud.elka.pw.edu.pl/mostasze/zprp-meteo-model.git
    cd zprp-meteo-model
  2. Utwórz i aktywuj środowisko wirtualne

    make create_environment
  3. Zainstaluj zależności:

    make requirements

Sposób użycia

  1. Przgotowanie klucza do Meteostat API

    • Należy zasubskrybować jeden z planów meteostat
    • Następnie należy wejść na RapidApi meteostat i skopiować x-rapidapi-key
    • Skopiowany klucz należy wkleić do pliku .env w katalogu głównym projektu.
  2. Przygotowanie danych:

    make prepare_data
  3. Uruchomienie eksperymentów:

    make run_experiments
    • Wyniki eksperymentów można obejrzeć w dashboardzie mlflow mlflow ui
    • Jeśli po zapoznaniu się z eksperymentami użytkownik chce zmienić modele należy zarejstrować wybrane modele zgodnie z https://mlflow.org/docs/latest/model-registry.html
    • Aby używać modeli w Api należy zmodyfikować strukturę model_for_days w pliku api
  4. Uruchomienie aplikacji:

    1. Przed pierwszym uruchomieniem aplikacji należy dostosowąć ścieżki do modeli poprzez:
      make mlflow_models
    2. Uruchomienie
      make run_app

Organizacja projektu

├── LICENSE            <- Licencja Open-Source
├── Makefile           <- Makefile z komendami
├── README.md          <- README 
├── data
│   ├── normalized     <- Znormalizowane dane
│   ├── processed      <- Pobrane i przetworzone dane
│   |── raw            <- Oryginalne dane
|   └── stats.json     <- Dane do normalizacji
│
├── docs               <- Folder z dokumentacją
│   ├── Design_Proposal.md
│   └── Analiza_Literatury.md
│
├── notebooks          <- Notatniki Jupyter. Konwencja nazywania: numer + krótki opis
│   └── 01_exploratory_data_analysis.ipynb
│
├── reports            <- Wygenerowane analizy, np. HTML, PDF
│   |── figures        <- Grafiki i wykresy odnoszące sie do danych i modeli
│   └── training_results <- Analizy eksperymentów 
│
├── requirements.txt   <- Wymagania środowiska
│
├── setup.py           <- Skrypt instalacyjny projektu
├── pyproject.toml     <- Plik konfiguracyjny projektu
│
├── api                <- Kod źródłowy API serwującego predykcję
├── app                <- Kod źródłowy aplikacji wizualizującej predykcję
├── mlruns             <- Folder na wyniki ekspermentów oraz wytrenowane modele 
└── zprp_meteo_model   <- Kod źródłowy projektu(Część "badawcza")
    ├── data/          <- Moduły przetwarzające dane
    ├── model/         <- Kod definiujący architektury modeli
    ├── training/      <- Moduły związane z trenowaniem modeli
    └── utils/         <- Narzędzia wspomagające projekt

Autorzy

  • Michał Sadowski
  • Mateusz Ostaszewski
  • Szymon Łukawski

Licencja

Projekt jest objęty licencją MIT. Szczegóły można znaleźć w pliku LICENSE.


Dodatkowa dokumentacja

Szczegółowe informacje o projekcie znajdują się w dodatkowych plikach:


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •