Projekt ten to aplikacja desktopowa, która umożliwia interaktywną analizę i wizualizację Wskaźnika Rozwoju Społecznego (HDI) oraz jego składowych dla wybranych krajów i okresów.
- Wczytywanie danych z gotowych plików
.csv. - Dynamiczne generowanie wykresów z możliwością wyboru kraju, wskaźnika i zakresu lat.
- Porównywanie danych kraju z globalnymi maksimami i minimami.
- Obliczanie i wizualizacja regresji liniowej dla wybranych danych.
- Ekstrapolacja brakujących danych w celu uzyskania ciągłych serii czasowych.
- Zapisywanie gotowych wykresów do plików PDF i PNG.
- Upewnij się, że masz zainstalowane wszystkie wymagane moduły. Aplikacja korzysta z zewnętrznych bibliotek, w tym
PySimpleGUI. - Przejdź do głównego folderu projektu.
- Uruchom plik
main.py, aby rozpocząć.
python Code/main.pyAplikacja została zbudowana przy użyciu biblioteki PySimpleGUI, a jej obsługa jest w pełni intuicyjna. Wszystkie operacje, z wyjątkiem wprowadzania zakresu dat, można wykonać za pomocą myszki, kierując się komunikatami wyświetlanymi na ekranie.
Możesz analizować pięć różnych wskaźników:
- HDI (Human Development Index) - główny wskaźnik rozwoju społecznego.
- Life expectancy at birth - oczekiwana długość życia.
- Expected years of schooling - oczekiwane lata nauki.
- Mean years of schooling - średnia liczba lat nauki.
- GNI per capita - dochód narodowy brutto na mieszkańca.
Dane wykorzystywane w projekcie pochodzą z renomowanych źródeł: OECD, World Bank oraz Human Development Report i są przechowywane w folderze Input Files. Program automatycznie sprawdza, czy pliki zawierają wystarczającą ilość informacji do stworzenia wykresu.
Dla każdego wskaźnika (oprócz HDI, który ma specjalne opcje) możesz nanieść na wykres do pięciu różnych funkcji:
- Actual value for a country: Rzeczywiste wartości pobrane z plików dla danego kraju.
- Maximum value globally: Najwyższe odnotowane wartości na świecie w danym roku.
- Minimum value globally: Najniższe odnotowane wartości na świecie w danym roku.
- Linear regression: Aproksymacja liniowa danych historycznych.
- Extrapolated data: Funkcja, która łączy istniejące punkty danych lub ekstrapoluje brakujące wartości na podstawie regresji liniowej.
Wskaźnik HDI jest obliczany jako średnia geometryczna trzech podindeksów (zdrowie, edukacja, dochód):
Aplikacja pozwala na unikalną analizę HDI na cztery sposoby:
- Actual HDI: Dane historyczne pobrane bezpośrednio z plików.
-
Extrapolated based on actual HDI: Ekstrapolacja danych z ograniczeniem wartości do przedziału
$[0, 1]$ . - Calculated Absolute HDI: HDI obliczone na podstawie stałych wartości granicznych ustalonych przez ekspertów w 2011 roku.
- Calculated Relative HDI: HDI obliczone na podstawie globalnych wartości minimalnych i maksymalnych dla danego roku, co pokazuje relatywną pozycję kraju.
Podczas generowania wykresu z regresją liniową, aplikacja wyświetli:
- Współczynniki wyznaczonego równania liniowego.
- Współczynnik korelacji Pearsona.
-
Współczynnik determinacji (
$R^2$ ).
Dzięki tym informacjom możesz samodzielnie ocenić jakość dopasowania modelu liniowego.
Gotowe wykresy są automatycznie zapisywane w formatach PDF i PNG w folderze Output Files.
Project/
├── Code/
│ ├── app.py # Logika aplikacji i interfejsu (klasa App)
│ ├── economic_indexes.py # Klasy dla każdego wskaźnika ekonomicznego
│ ├── main.py # Główny plik do uruchamiania programu
│ ├── utility_functions.py # Funkcje pomocnicze
│ └── utility_information.py# Słowniki (np. nazwy państw) i stałe
│
├── Input Files/
│ ├── Expected years of schooling/
│ ├── GNI per capita/
│ ├── Human Development Index/
│ ├── Life expectancy at birth/
│ └── Mean years of schooling/
│
└── Output Files/
(tutaj zapisywane są wygenerowane wykresy)
Więcej informacji, bardziej dokładnych, znajduje się w pliku HOW_TO.txt.
Szczegółowa dokumentacja kodu, wygenerowana za pomocą doxygen, znajduje się w pliku documentation.txt. Kod źródłowy jest również obszernie komentowany.
Projekt został w całości napisany i zrealizowany przez Macieja Jedynaka.