class: center, middle, inverse, title-slide # Projekt: ## Estymacja ### Jakub Nowosad
nowosad@amu.edu.pl
--- # Projekt - cel - stworzenie optymalnej estymacji - grupy dwuosobowe - plik w formacie .R, zawierający kod potrzebny do przetworzenia danych, stworzenia modelu, wykonania estymacji oraz jej oceny - plik w formacie GeoTIFF, zawierający uzyskaną estymację - plik w formacie .csv, zawierający tylko jedną wartość - szacowany pierwiastek średniego błędu kwadratowego (RMSE) - trzy pliki powinny być podpisane nazwiskami w formie: **Nazwisko_Nazwisko.R**, **Nazwisko_Nazwisko.tif**, **Nazwisko_Nazwisko.csv** - termin przesyłania prac - 10 stycznia 2020 do godziny 23:59 - projekt otrzyma dwie oceny: (1) za jakość analizy i kodu, (2) za największą zgodność z nieznanymi wartościami (zbiorem testowym) oraz najlepsze oszacowanie RMSE --- # Dane wejściowe Dane wejściowe obejmują: 1. Plik `train.gpkg` zawierający średnie wartości punktowych pomiarów PM10 (aerozoli atmosferycznych (pył zawieszony) o średnicy nie większej niż 10 μm) w grudniu 2019 roku do celu estymacji 2. Plik `pusta_siatka.tif` zawierający siatkę do stworzenia estymacji 3. Pliki `elev.tif` i `lc.tif`, zawierające wysokość terenu oraz kategorie pokrycia terenu. Dodatkowo plik `lc_legend.xls` zawiera legendę opisującą kategorie pokrycia terenu Możliwe jest także użycie innych danych wejściowych po warunkiem załączenia ich w wynikowym projekcie. --- # Dane wejściowe ```r library(sf) library(stars) library(gstat) pomiary = read_sf("dane/train.gpkg") siatka = read_stars("dane/pusta_siatka.tif") ``` --- # Modelowanie Korzystając z dostępnych danych należy stworzyć optymalny model zmiennej `PM10` oraz oszacować ocenę tego modelu używając pierwiastka średniego błędu kwadratowego (RMSE). Określenie RMSE może nastąpić w dowolny wybrany sposób, np. poprzez użycie funkcji `krige.cv()` lub stworzenie zbioru walidacyjnego. ```r semivar = variogram(PM10 ~ 1, locations = pomiary) moj_model = fit.variogram(semivar, vgm(model = "Nug")) ocena = krige.cv(PM10 ~ 1, locations = pomiary, model = moj_model, nmax = 20) RMSE = sqrt(mean((ocena$residual) ^ 2)) ``` --- # Estymacja Następnie należy zbudować estymację. ```r estymacja = krige(PM10 ~ 1, locations = pomiary, newdata = siatka, model = moj_model, nmax = 100) ``` --- # Zapisanie wyników Uzyskaną ocenę estymacji należy zapisać do pliku tekstowego, a estymację do pliku rastrowego. ```r write.csv(RMSE, "Nazwisko_estymacja.csv") write_stars(estymacja["var1.pred"], "Nazwisko_Nazwisko.tif") ``` Dodatkowo należy dodać napisany skrypt w R, który posłużył do stworzenia tych wyników.