vremea este un pachet R dezvoltat cu scopul de a „elimina” influenta meteorologiei din datele seriei temporale privind calitatea aerului. Face parte din pachetul openair conceput pentru a sprijini analiza datelor privind calitatea aerului si a datelor conexe.

Pachetul de roua utilizeaza o abordare de regresie sporita pentru modelarea datelor privind calitatea aerului. Aceste tehnici si tehnici similare ofera instrumente puternice pentru construirea de modele statistice ale datelor privind calitatea aerului. Ei sunt capabili sa tina seama de numeroasele interactiuni complexe dintre variabile, precum si de relatiile neliniare dintre variabile.

Modelarea poate fi intensa din punct de vedere al calculului si, prin urmare, vremea utilizeaza procesarea paralela, care ar trebui sa functioneze pe Windows, Linux si Mac OSX.

Instalare

Instalarea vremii de roua de la GitHub ar trebui sa fie usoara folosind pachetul devtools.

require (devtools) install_github (‘davidcarslaw / deweather’)

Descriere

Meteorologia joaca un rol central in afectarea concentratiilor de poluanti din atmosfera. Atunci cand se iau in considerare tendintele poluantilor atmosferici, poate fi foarte dificil sa se stie daca o modificare a concentratiei se datoreaza emisiilor sau meteorologiei.

Deweather Pachetul utilizeaza o tehnica statistica puternica bazata pe arbori de regresie potentat utilizand GBM pachetul (Ridgeway, 2017). Modele statistice sunt dezvoltate pentru a explica concentratiile folosind variabile meteorologice si alte variabile. Aceste modele pot fi testate pe date retinute aleatoriu cu scopul dezvoltarii celui mai potrivit model.

Exemplu de set de date

Pachetul de roua vine cu un set cuprinzator de date privind calitatea aerului si date meteorologice. Datele privind calitatea aerului provin de la Marylebone Road din centrul Londrei (obtinute din pachetul openair ) si datele meteorologice de la Aeroportul Heathrow (obtinute din pachetul worldmet ).

Cadrul de date road_data contine diferiti poluanti, cum ar fi NOx, NO2, etan si izopren, precum si date meteorologice, inclusiv viteza vantului, directia vantului, umiditatea relativa, temperatura ambianta si acoperirea norilor.

biblioteca (roua) cap (road_data) ## data nox no2 etan izopren benzen ws wd air_temp RH ## 1 1998-01-01 00:00:00 546 74 NA NA NA 1.0 280 3,60 89.41776 ## 2 1998-01-01 01:00:00 NA NA NA NA NA 1,0 230 3,50 90.67753 ## 3 1998-01-01 02:00:00 NA NA NA NA NA 1,5 180 4,25 87,60679 ## 4 1998-01-01 03:00:00 944 99 NA NA NA NA NA NA NA ## 5 1998-01-01 04:00:00 894 149 NA NA NA 1.5 180 3,80 89.43347 ## 6 1998-01-01 05:00:00 506 80 NA NA NA 1.0 190 3.50 89.40989 ## cl ## 1 2 ## 2 2 ## 3 2 ## 4 NA ## 5 1 ## 6 NA

Pentru cei interesati de obtinerea directa a datelor, poate fi utilizat urmatorul cod.

library (openair) library (worldmet) library (dplyr) # import AQ data road_data <- importAURN (site = “my1”, year = 1998: 2016, hc = TRUE) # import met met data met <- importNOAA (year = 1998: 2016) # se unesc, dar ignora datele intalnite in road_data deoarece sunt modelate road_data <- left_join (select (road_data, -ws, -wd, -air_temp), met, by = “date”) road_data <- select (road_data, date , nox, no2, etan, izopren, benzen, ws, wd, air_temp, RH, cl)

Construiti si testati modelul (modelele)

Functia testMod este utilizata pentru a construi si testa diverse modele pentru a ajuta la obtinerea celor mai potrivite.

In acest exemplu, vom restrictiona datele la model la 4 ani. Retineti ca variabile precum ora si ziua saptamanii sunt utilizate ca variabile care pot fi utilizate pentru a explica o parte din variatie. ora, de exemplu, actioneaza foarte util ca un proxy pentru variatia diurna a emisiilor.

biblioteca (openair) # selectati doar o parte din setul de date dat_part <- selectByDate (road_data, year = 2001: 2004) # testati un model cu covariabile utilizate in mod obisnuit testMod (dat = dat_part, vars = c (“trend”, “ws” , “wd”, “hour”, “weekday”, “air_temp”, “week”), poluant = “no2”) ## [1] “Cresterea procentuala a RMSE utilizand datele de testare este de 1%”

Iesirea arata in mod implicit performanta modelului atunci cand este aplicata la un 20% aleator retinut (implicit) din date, adica modelul este evaluat in raport cu datele nt utilizate pentru a construi modelul. De asemenea, sunt date metrici de evaluare comune.

corridas gays maduras sex
amas de casa follando abuelas españolas follando
madres viciosas correte dentro
viejas feas todoporno
jovencitos desnudos pajotes
follando en canarias las mejores folladas
your porn viejasxxx
follando con mirones españolas peludas
videosgays guarras.com
jovencitas xxx hd comicxxx
fakings.tv porno torrent
madresxxx porno peludas
peliculas porno vintage madresxxx
pelis porno español online pilladas playa
maduras en castellano videos xxxxx
maduras españolas sexo sexo en directo
travestis dotadas madura tetona
porno amater español corriendose dentro
mamada gay mamadas de abuelas
corrida boca porno canario

Construieste un model

Presupunand ca un model bun poate fi dezvoltat, acum poate fi explorat mai in detaliu.

mod_no2 <- buildMod (dat = dat_part, vars = c (“trend”, “ws”, “wd”, “hour”, “weekday”, “air_temp”, “week”), poluant = “no2”, n. nucleu = 6)

Aceasta functie returneaza un obiect de roua care poate fi interogat asa cum se arata mai jos.

Examinati dependentele partiale

Complotati toate dependentele partiale

Unul dintre beneficiile abordarii arborelui de regresie stimulat este ca dependentele partiale pot fi explorate. In termeni simpli, dependentele partiale arata relatia dintre poluantul de interes si covariabilele utilizate in model, pastrand in acelasi timp valoarea altor covariabile la nivelul mediu.

plotAllPD (dw_model = mod_no2)

Traseaza interactiuni bidirectionale

Poate fi foarte util sa trasezi interactiuni importante in doua directii. In acest exemplu este luata in considerare interactiunea dintre ws si air_temp. Graficul arata ca NO2 tinde sa fie ridicat atunci cand viteza vantului este scazuta si temperatura este scazuta, adica conditii atmosferice stabile. De asemenea, NO2 tinde sa fie ridicat atunci cand temperatura este ridicata, ceea ce este cel mai probabil datorita mai multor O3 disponibile pentru a converti NO in NO2. De fapt, fundalul O3 ar fi probabil o covariabila utila de adaugat la model.

plot2Way (dw_model = mod_no2, variable = c (“ws”, “air_temp”))

Aplicati media meteorologica

O indicatie a tendintei mediului meteorologic este data de functia plotAllPD de mai sus. O indicatie mai buna este data de utilizarea modelului pentru a prezice de mai multe ori prin esantionarea aleatorie a conditiilor meteorologice. Aceasta esantionare este realizata de functia metSim. Retineti ca, in acest caz, nu este necesar sa furnizati componenta „trend” deoarece este calculata folosind metSim

demet <- metSim (mod_no2, newdata = dat_part, metVars = c (“ws”, “wd”, “hour”, “weekday”, “air_temp”, “week”))

Acum este posibil sa se traseze tendinta rezultata.

biblioteca (ggplot2) ggplot (demet, aes (data, pred)) + geom_line ()

Parcela este destul de zgomotoasa din cauza relativ relativ putine esantioane de meteorologie luate in considerare (200 implicit, setat cu B = 200). Zgomotul ar putea fi redus prin cresterea simularilor, dar acest lucru ar creste timpul de rulare. Alternativ, poate fi util sa faceti o simpla medie a rezultatelor. De exemplu:

library (ggplot2) ggplot (timeAverage (demet, “day”), aes (date, pred)) + geom_line (col = “dodgerblue”, size = 1) + ylab (quickText (“no2 (ug / m3)”))

Referinte

Grange, SK si Carslaw, DC (2019) Folosind normalizarea meteorologica pentru a detecta interventiile in seriile temporale de calitate a aerului, Stiinta mediului total. 653, pp. 578-588. doi: 10.1016 / j.scitotenv.2018.10.344.

Carslaw, DC si PJ Taylor (2009). Analiza datelor privind poluarea aerului la o sursa mixta folosind arbori de regresie amplificata. Mediul atmosferic. Vol. 43, p. 3563–3570.

Carslaw, DC, Williams, ML si B. Barratt Un studiu de interventie pe termen scurt – impactul inchiderii aeroporturilor asupra calitatii aerului in campul apropiat din cauza eruptiei Eyjafjallajokull. (2012) Atmospheric Environment, Vol. 54, 328–336.

Greg Ridgeway cu contributii de la altii (2017). gbm: Modele de regresie amplificata generalizate. Rackage versiunea 2.1.3. (https://CRAN.R-project.org/package=gbm)