Viimeksi Päivitetty 12. huhtikuuta 2020 mennessä
Eksponentiaalinen tasoitus on aikasarja ennustaminen menetelmä yhden muuttujan tiedot, jotka voidaan laajentaa tukemaan tietojen systemaattinen trendi tai vuodenaikojen komponentti.
– Se on tehokas ennustaminen menetelmä, jota voidaan käyttää vaihtoehtona suosittu Box-Jenkinsin ARIMA-perheen menetelmät.
tässä opetusohjelma, löydät eksponentiaalinen tasoitus menetelmä univariate aikasarjan ennustaminen.,
suoritettuaan tämän opetusohjelman, sinun tulee tietää:
- Mitä eksponentiaalinen tasoitus on ja miten se eroaa muista ennustaminen menetelmiä.
- kolme päätyyppiä eksponentiaalinen tasoitus ja miten määrittää ne.
- miten toteutetaan eksponentiaalinen tasoitus Pythonissa.
Kick-aloittaa projektin, jossa minun uusi kirja aikasarjojen Ennustaminen Python, mukaan lukien askel-askeleelta opetusohjelmia ja Python lähdekoodi tiedostot kaikki esimerkkejä.
aloitetaan.,
Hellävarainen Esittely Eksponentiaalista Pehmennystä aikasarjojen Ennustaminen Python
Kuva: Wolfgang Staudt, jotkut oikeudet pidätetään.
Opetusohjelma Yleistä
Tämä opetusohjelma on jaettu 4 osaan; ne ovat:
- Mitä On Eksponentiaalisen Tasoituksen?
- Tyypit Eksponentiaalisen Tasoituksen
- Miten Määrittää Eksponentiaalisen Tasoituksen
- Eksponentiaalisen Tasoituksen Python
Mikä On Eksponentiaalisen Tasoituksen?
eksponentiaalinen tasoitus on aikasarjojen ennustemenetelmä univariaattidatalle.,
aikasarjat menetelmiä, kuten Box-Jenkinsin ARIMA perheen menetelmiä kehittää malli, jossa ennustaminen on painotettu lineaarinen summa viime aikoina havaintoja tai jäljessä.
Eksponentiaalisen tasoituksen ennustamisen menetelmät ovat samanlaisia, että ennustaminen on painotettu summa aiemmin havaintoja, mutta malli nimenomaisesti käyttää eksponentiaalisesti laskeva paino aiempia havaintoja.
erityisesti aiemmat havainnot painotetaan geometrisesti alenevalla suhteella.,
Ennusteet tuotetaan eksponentiaalisen tasoituksen menetelmät ovat painotettuja keskiarvoja aikaisempien havaintojen, painojen kanssa rapistuvat eksponentiaalisesti havaintoja vanhempi. Toisin sanoen mitä tuoreempi havainto on, sitä suurempi siihen liittyvä paino on.
— Sivu 171, Ennakointi: periaatteita ja käytäntöjä, 2013.
Eksponentiaalisen tasoituksen menetelmiä voidaan pitää ikäisensä ja vaihtoehto suosittu Box-Jenkinsin ARIMA-luokan menetelmiä aikasarjojen ennustaminen.,
kollektiivisesti metodeista käytetään joskus nimitystä ETS-mallit, viitaten eksplisiittiseen mallinnukseen virheestä, trendistä ja kausiluonteisuudesta.
Tyypit Eksponentiaalisen Tasoituksen
On olemassa kolme päätyyppiä eksponentiaalinen tasoitus aikasarjojen ennustaminen menetelmiä.
yksinkertainen menetelmä, joka ei ota järjestelmällisesti rakenne, laajennus, joka nimenomaan käsittelee trendejä, ja pisimmällä lähestymistapa, joka lisää tukea kausivaihtelu.,
Yksi Eksponentiaalisen Tasoituksen
Yksi Eksponentiaalisen Tasoituksen, SES lyhyt, jota kutsutaan myös Yksinkertainen Eksponentiaalinen Tasoitus, on aikasarja ennustaminen menetelmä yhden muuttujan tietoja ilman trendi tai kausivaihtelu.
– Se vaatii yhden parametrin, jota kutsutaan alfa (a), jota kutsutaan myös tasoittava tekijä tai tasoittaa kerroin.
Tämä parametri nopeus, jolla alaisena havainnot ennen aika-askelia rappeutuminen eksponentiaalisesti. Alfa asetetaan usein arvoon 0-1., Suuret arvot tarkoittavat sitä, että malli kiinnittää huomiota lähinnä eniten viime aikoina havaintoja, kun taas pienemmät arvot merkitsevät enemmän historia on otettu huomioon, kun teet ennustaminen.
jos arvo On lähellä 1 osoittaa nopea oppiminen (tämä on vain viimeisin arvot vaikuttavat ennusteet), ottaa huomioon, että arvo on lähellä 0 osoittaa hidas oppiminen (aiemmin havaintoja on suuri vaikutus ennusteet).
— sivu 89, Practical Time Series Forecasting with R, 2016.,
Hyperparametrit:
- Alfa: Tasoituskerroin tasolle.
Kahden Eksponentiaalisen Tasoituksen
Kaksinkertainen Eksponentiaalinen Tasoitus on laajennus Eksponentiaalisen Tasoituksen, joka nimenomaan lisää tukea suuntaukset yhden muuttujan aikasarjat.
lisäksi alfa-parametri ohjaukseen tasoittava tekijä tasolle, ylimääräinen tasoittava tekijä on lisätty, ohjaus rappeutuminen vaikuttaa muutoksen suuntaus nimeltään beta (b).,
menetelmä tukee trendejä, jotka muuttuvat eri tavoin: lisäaine ja multiplicative, riippuen siitä, onko trendi on lineaarinen tai eksponentiaalinen vastaavasti.
Kaksinkertainen Eksponentiaalinen Tasoitus lisäaineen suuntaus on klassisesti kutsutaan Holtin lineaarinen trendi malli, nimeltään kehittäjä menetelmän Charles Holt.
- additiivinen trendi: kaksinkertainen eksponentiaalinen tasoitus lineaarisella trendillä.
- Multiplicative Trend: Double Exponential Smoothing with an exponential trend.,
pitkän kantaman (monivaiheisten) ennusteiden osalta suuntaus voi jatkua epärealistisesti. Sellaisenaan voi olla hyödyllistä vaimentaa trendiä ajan myötä.
vaimennus tarkoittaa trendin koon pienentämistä tulevien aikojen aikana askeleet alas suoralle (ei trendiä).
ennusteiden tuottamat Holtin lineaarinen menetelmä näytön jatkuva trendi (kasvava tai vähenevä) indecently tulevaisuuteen., Vielä äärimmäisempiä ovat ennusteet syntyy eksponentiaalinen suuntaus menetelmä motivoi tämän havainnon käyttöön parametri, joka ”vaimentaa” suuntaus tasainen linja jonkin aikaa tulevaisuudessa.
— sivu 183, Forecasting: principles and practice, 2013.
Kuten mallinnus suuntaus itsessään, voimme käyttää samoja periaatteita vaimentaa trendi, erityisesti additively tai multiplicatively varten lineaarinen tai eksponentiaalinen hillitsevä vaikutus. Vaimennusnopeuden säätelyyn käytetään vaimennuskerrointa Phi (p).,
- lisäaineen vaimennus: vaimentaa trendiä lineaarisesti.
- Multiplikatiivinen vaimennus: vaimentaa trendiä eksponentiaalisesti.
Hyperparametrit:
- Alfa: Tasoituskerroin tasolle.
- Beta: Tasoituskerroin trendille.
- Trendityyppi: additiivinen tai multiplikatiivinen.
- Dampen Type: additiivinen tai multiplikatiivinen.
- Phi: vaimennuskerroin.
Triple Eksponentiaalisen Tasoituksen
Triple Eksponentiaalinen Tasoitus on laajennus Eksponentiaalisen Tasoituksen, joka nimenomaan lisää tukea kausiluonteisuus, että yhden muuttujan aikasarjat.,
Tämä menetelmä on joskus kutsutaan Holt-Wintersin Eksponentiaalinen Tasoitus, nimetty kaksi avustajat menetelmä: Charles Holt ja Peter Talvet.
lisäksi alfa-ja beta tasoitus tekijät, uusi parametri lisätään, nimeltään gamma (g), joka ohjaa vaikutus vuodenaikojen komponentti.
Kuten trendi, kausivaihtelu voidaan mallintaa joko additiivinen tai multiplicative prosessi lineaarinen tai eksponentiaalinen muutos kausivaihtelu.
- additiivinen Kausaalisuus: kolminkertainen eksponentiaalinen tasoitus lineaarisella kausaalisuudella.,
- Multiplicative Kausiluonteisuus: Triple Eksponentiaalinen Tasoitus eksponentiaalinen kausivaihtelu.
Triple eksponentiaalinen tasoitus on pisimmällä vaihtelu eksponentiaalisen tasoituksen ja läpi kokoonpano, se voi kehittyä myös kahden ja yhden eksponentiaalisen tasoituksen malleja.
On mukautuva menetelmä, Holt-winterin eksponentiaalisen tasoituksen avulla tasolla, trendi ja kausivaihtelu kuviot muuttuvat ajan myötä.
— Sivulla 95, Käytännön aikasarjojen Ennustaminen R, 2016.,
lisäksi kausittaisuuden mallintamisen varmistamiseksi on eriteltävä kausittaisten vaiheiden määrä (Kausi). Jos esimerkiksi sarja oli kuukausitiedot ja kausi toistui joka vuosi, niin kausi=12.
Hyperparametrit:
- Alfa: Tasoituskerroin tasolle.
- Beta: Tasoituskerroin trendille.
- Gamma: kausaalisuuden Tasoituskerroin.
- Trendityyppi: additiivinen tai multiplikatiivinen.
- Dampen Type: additiivinen tai multiplikatiivinen.
- Phi: vaimennuskerroin.,
- Kausaalityyppi: lisäaine tai kertolasku.
- Period: Time steps in seasonal period.
Miten Määrittää Eksponentiaalisen Tasoituksen
Kaikki mallin hyperparameters voidaan määrittää yksiselitteisesti.
Tämä voi olla haastavaa niin asiantuntijoille kuin aloittelijoille.
sen Sijaan, se on yhteinen käyttää numeerinen optimointi etsiä ja rahoittaa tasoitus kertoimia (alpha, beta, gamma, ja phi) malli, joka johtaa pienin virhe.,
vakaampi ja objektiivinen tapa saada arvot tuntemattomien parametrien sisälly mitään eksponentiaalisen tasoituksen menetelmällä on arvioida niitä havaittu data. tuntemattomat parametrit ja alkuarvot tahansa eksponentiaalinen tasoitus menetelmä voidaan arvioida minimoimalla SSE .
— Sivu 177, Ennakointi: periaatteita ja käytäntöjä, 2013.,
parametrit, jotka määrittävät tyypin muutos trendi ja kausivaihtelu, kuten sää he ovat additiivisia tai multiplicative ja onko ne pitäisi olla kostutettu, on määriteltävä yksiselitteisesti.
eksponentiaalinen tasoitus Pythonissa
tässä jaksossa tarkastellaan, miten eksponentiaalinen tasoitus toteutetaan Pythonissa.
Pythonin eksponentiaalisen tasoituksen toteutukset on esitetty Statsmodels Python-kirjastossa.,
toteutukset perustuvat menetelmän kuvaus Robin Hyndman ja George Athanasopoulos’ erinomainen kirja ”Ennakointi: Periaatteita ja Käytäntöjä,” 2013 ja niiden Tutkimus-toteutukset heidän ”ennuste” paketti.
yksittäinen eksponentiaalinen tasoitus
yksittäinen eksponentiaalinen tasoitus tai yksinkertainen tasoitus voidaan toteuttaa Pythonissa Simpleexpsmothing Statsmodels-luokan kautta.
Ensimmäinen, esimerkiksi SimpleExpSmoothing luokka on instantiated ja läpäissyt koulutuksen tiedot., Fit () – funktiota kutsutaan tämän jälkeen fit-konfiguraation tarjoamiseksi, erityisesti tasoitukseksi_leveliksi kutsuttua alfa-arvoa. Jos tätä ei toimiteta tai aseteta nollaan, malli optimoi arvon automaattisesti.
Tämä fit () – funktio palauttaa holtwintersresults-luokan instanssin, joka sisältää opitut kertoimet. Tulosobjektin ennusteen() tai ennusteen () funktion voi kutsua tekemään ennusteen.,
esimerkiksi:
kaksinkertainen ja kolminkertainen eksponentiaalinen tasoitus
yksittäinen, kaksinkertainen ja kolminkertainen eksponentiaalinen tasoitus voidaan toteuttaa Pythonissa käyttämällä Eksponentiaalismoothing Statsmodels-luokkaa.
Ensimmäinen, esimerkiksi ExponentialSmoothing luokka on instantiated, jossa määritellään sekä koulutuksen tiedot ja joitakin kokoonpano malli.
Erityisesti, sinun on määritettävä seuraavat asetukset parametrit:
- trendi: tyyppi trendi komponentti, joko ”lisää” lisäaine tai ”mul” varten multiplicative. Mallintaminen suuntaus voidaan poistaa asettamalla se ei mitään.,
- vaimennettu: onko trendikomponentti vaimennettava, joko tosi vai epätosi.
- seasonal: seasonal component, as either ” add ”for additive or” mul ” for multiplicative. Kausikomponentin mallinnus voidaan poistaa käytöstä asettamalla se nollaan.
- seasonal_periods: kausittaisten vaiheiden määrä, esim. 12 kuukauden ajan vuosittaisessa kausirakenteessa (lisää tästä).
malli voi sitten mahtua harjoitustietoihin soittamalla fit () – funktiota.,
Tämän toiminnon avulla voit joko määrittää tasoituksen kertoimet eksponentiaalisen tasoituksen malli on optimoitu. Oletuksena ne on optimoitu (esim. optimoitu = totta). Näitä kertoimia ovat:
- sileä_level (alfa): tasoituskerroin tasolle.
- smooting_slope (beta): tasoituskerroin trendille.
- sileä_seasonaalinen (gamma): kausikomponentin tasoituskerroin.
- damping_slope (phi): vaimennetun trendin kerroin.,
Lisäksi fit-toiminto voi suorittaa perus-tietojen valmistelu ennen mallinnus; erityisesti:
- use_boxcox: Onko tai ei voi suorittaa power-muunnos sarja (True/False) tai määritä lambda varten muuttaa.
fit () – funktio palauttaa esimerkiksi HoltWintersResults luokka, joka sisältää oppinut kertoimia. Tulosobjektin ennusteen() tai ennusteen () funktion voi kutsua tekemään ennusteen.
Lisää lukemista
Tämä osio tarjoaa lisää resursseja aiheesta, Jos haluat mennä syvemmälle.,
Oppaat
- Miten Grid Haku Triple Eksponentiaalista Pehmennystä aikasarjojen Ennustaminen Python
Kirjoja
- Luku 7 Eksponentiaalinen tasoitus, Ennakointi: periaatteita ja käytäntöjä, 2013.
- kohta 6.4. Introduction to Time Series Analysis, Engineering Statistics Handbook, 2012.
- Practical Time Series Forecasting with R, 2016.
API
- Statsmodels aikasarja-analyysi tsa
- statsmodels.tsa.holtwinters.SimpleExpSmoothing API
- statsmodels.tsa.holtwinters.Eksponenttialsmoothing API
- statsmodels.,tsa.holtwinters.HoltWintersResults API
- ennuste: Ennustaminen Toimintoja varten aikasarjat ja Lineaariset Mallit R-paketti
Artikkelit
- Eksponentiaalisen tasoituksen Wikipedia
Yhteenveto
tässä opetusohjelmassa, sinun löysi eksponentiaalisen tasoituksen menetelmä yhden muuttujan aikasarja ennustaminen.
Erityisesti, opit:
- Mitä eksponentiaalinen tasoitus on ja miten se eroaa muista ennuste menetelmät.
- kolme päätyyppiä eksponentiaalinen tasoitus ja miten määrittää ne.,
- miten toteutetaan eksponentiaalinen tasoitus Pythonissa.
onko sinulla kysyttävää?
kysy kysymyksesi alla olevissa kommenteissa ja teen parhaani vastatakseni.
Haluavat Kehittää aikasarjan Ennusteet Python?
Kehittää Omia Ennusteita Minuuttia
…,vain muutaman rivin python-koodin
selvittää, miten minun uusi Ebook:
Esittely aikasarjojen Ennustaminen Python
Se kattaa self-opinto-oppaat ja end-to-end hankkeita aiheista, kuten:Lastaus tietoja, visualisointi, mallinnus, algoritmi viritys, ja paljon enemmän…
tuo vihdoin aikasarjojen ennustaminen
omille projekteille
Ohita akateemikot. Vain Tuloksia.
Nähdä, Mitä on Sisällä