MENIU

PRADŽIA | APIE PUSLAPĮ | KONTAKTAI | AUTORINĖS TEISĖS

Similar page in ENGLISH is available HERE.

Search This Blog

Sunday, June 5, 2016

06 tema. Prognozavimas (tiesinis modelis)

Ši tema apie tai, kaip R statistinėje programoje sukurtą modelį panaudoti prognozavimui. Pateiktas pavyzdys paaiškina, koks tikslas kurti tokius modelius.

Ankstesnių užduočių metu mes sukūrėme du papildomus modelius (mod3 ir mod4, kurie yra logaritminiai ir faktiškai yra identiški).

Kaip ir mūsų ankstesnis tiesinis modelis, šie du modeliai leidžia apskaičiuoti (prognozuoti), koks bus lengvojo automobilio išmetamas anglies dvideginio (CO2) kiekis (g / km), turint tam tikrą automobilio variklio tūrį (kubiniais cm, kitaip, cc), svorį (kg) ir pagaminimo metus (pvz., 2000).

Koks tikslas kurti tokį modelį? Kur galima būtų jį panaudoti? Tarkime, mūsų vyriausybė svarsto įvesti metinį automobilio mokestį, kurio tarifas priklausytų nuo išmetamo CO2 kiekio, tokiu būdu sukuriant paskatas rinktis mažiau teršiantį automobilį (kadangi mažiau CO2 išmetantis automobilis būtų apmokestintas mažesniu ar net nuliniu mokesčio tarifu).

Tačiau dauguma automobilių savininkų neturi dokumentų, pagrindžiančių turimo automobilio išmetamą CO2 kiekį (tai labiausiai taikytina senesniems automobiliams), o gauti tokį dokumentą arba surinkti duomenis kitais būdais būtų pernelyg brangu. Tačiau visi automobilių savininkai turi automobilio techninį pasą, kuriame yra nurodytas variklio tūris, automobilio svoris ir automobilio pirmosios registracijos data. Taigi, kai nėra prieinami oficialūs išmetamo CO2 kiekio duomenys, kai kurios valstybės, pavyzdžiui, Latvija, naudoja panašų modelį CO2 kiekiui apskaičiuoti ir apskaičiuoto CO2 kiekio pagrindu pritaiko mokesčio tarifą.

Įsivaizduokime, kad mes neturime duomenų apie mūsų 212 benzininių automobilių išmetamą CO2 kiekį, ir todėl mums reikia šį kiekį išskaičiuoti (nuspėti, prognozuoti).

Kaip prisimename iš ankstesnės temos, mūsų lentelė yra įrašyta faile „pavyzdys.RData“. Atsidarykime šį failą. Komanda „show(lentele2)“ R lange pateiks mūsų lentelę:


Prognozei sudaryti panaudokime mūsų tiesinį modelį „mod2“. Toliau nurodyta komanda mūsų lentelėje „lentele2“ sukurs naują stulpelį („pred2“) su prognostinėmis CO2 reikšmėmis:

lentele2$pred2 <- predict(mod2, newdata= lentele2)

Kaip matome, šia komanda mes prašome lentelėje „lentele2“ sukurti naują stulpelį „pred2“ (žr. „lentele2$pred2“), šį stulpelį užpildyti prognozėmis („predict“), šių prognozių sudarymui naudojant modelį „mod2“, į modelį įvedant aiškinančiųjų kintamųjų reikšmes, esančias lentelėje „lentele2“ („newdata= lentele2“).

Taip pat sukurkime stulpelį, rodantį prognostinės CO2 reikšmės nuokrypį nuo tikrosios CO2 reikšmės:

lentele2$pred2dif <- (lentele2$pred2 - lentele2$CO2) / lentele2$CO2

Komanda „show(lentele2)“ R lange pateiks prognostines reikšmes ir nuokrypius:


Kaip matome, pavyzdžiui, automobilio Nr. 1 CO2 kiekio prognozė yra labai tiksli (3 proc. nuokrypis), tačiau automobilių Nr. 9 ir Nr. 10 CO2 kiekio prognozė nėra tokia tiksli (prognozė faktinę reikšmę viršija atitinkamai 18 ir 20 proc., būdamas tokio automobilio savininku aš bandyčiau iš gamintojo gauti dokumentą, nurodantį tikrąjį CO2 kiekį).

Pabandykime apskaičiuoti vidutinį prognostinių reikšmių nuokrypį nuo fakto. Papildykime mūsų lentelę „lentele2“ nauju stulpeliu, pateikiančiu „pred2dif“ absoliutines reikšmes (absoliutinė reikšmė rodo skaičiaus nuotolį nuo nulio, neatsižvelgiant, į kurią pusę šis skaičius nuo nulio nukrypsta):

lentele2$pred2difabs <- abs(lentele2$pred2dif)

Apskaičiuokime nuokrypių absoliutinių reikšmių vidurkį (pavadinkime jį „pred2dev“):

pred2dev <- mean(lentele2$pred2difabs)

Taigi, koks vidutinis nuokrypis? Atsakymą pateiks toliau nurodyta komanda:

show(pred2dev)

Vidutinis nuokrypis yra 0,0755832 (arba 7,56 proc.). Tai reiškia, kad prognozuojant mūsų 212 benzininių automobilių CO2 kiekį vidutiniškai mūsų modelis nepataiko 7,56 proc. (prognozė nuo fakto vidutiniškai nukrypsta 7,56 proc.). Tikrai neblogai. Gal logaritminis modelis bus tikslesnis? Palyginimui, kažkada bandžiau minėtiems 212 automobilių pritaikyti vienos valstybės vyriausybės patvirtintą formulę. Vidutinis nuokrypis buvo, berods, apie 20 procentų...

Dabar belieka išsaugoti savo projektą, kad galėtume bet kada prie jo sugrįžti. Spaudžiame „File“, tada „Save workspace...“, ir išsaugojame .RData formatu, tuo pačiu pavadinimu „pavyzdys.RData“. Vėliau šią išsaugotą bylą galėsime bet kada atsidaryti, pavyzdžiui, per meniu punktą „Load Workspace“ (arba paprasčiausiai spustelėdami ant mūsų aplanke esančio failo „pavyzdys.RData“), ir tęsti duomenų analizę.

No comments:

Post a Comment