Wat is het ARIMAX-model?
Als u onze serie van blog tutorials over modellen voor het schatten van tijdreeksgegevens hebt gelezen, bent u al bekend met 3 belangrijke benaderingen-autoregressie, voortschrijdende gemiddelden en integratie.
Wat is het gemeenschappelijke thema in al deze modellen?
zij vertrouwden uitsluitend op één variabele.
een model kan echter ook rekening houden met meer dan alleen prijzen uit het verleden of reststoffen uit het verleden.
en dit zijn de zogenaamde “MAX” – modellen, waarbij de ARMAX de niet-geïntegreerde versie is en de ARIMAX-het geïntegreerde equivalent.
dus, in deze tutorial, gaan we verkennen hoe ze eruit zien en u laten zien hoe u ze stap-voor-stap in Python kunt implementeren.
laten we beginnen, zullen we?
- Waarom worden ARMAX en ARIMAX modellen ” MAX ” genoemd?
- de Armax-en ARIMAX-modelvergelijking:
- we kunnen de Armax zien als een speciaal geval van de ARIMAX, waar de volgorde van integratie 0 is.
- Wat is een exogene variabele?
- hoe Armax-en ARIMAX-modellen in Python te implementeren?
- nu zijn we klaar voor een ARIMAX (1,1,1) model.
- we hebben met succes gezien hoe we een ARIMAX model kunnen implementeren in Python.
- klaar om de volgende stap te zetten naar een carrià re in data science?
Waarom worden ARMAX en ARIMAX modellen ” MAX ” genoemd?
de namen ARMAX en ARIMAX komen als uitbreidingen van respectievelijk de ARMA en ARIMA. De x toegevoegd aan het einde staat voor “exogeen”. Met andere woorden, het suggereert het toevoegen van een aparte verschillende externe variabele om te helpen meten onze endogene variabele.
de Armax-en ARIMAX-modelvergelijking:
aangezien het enige verschil tussen de ARMAX en de ARIMAX is dat de ene geïntegreerd is en de andere niet, kunnen we een van hen onderzoeken en dan benadrukken hoe de andere zou verschillen.
we hebben een geà ntegreerd model onderzocht in ons laatste blogartikel (ARIMA), dus laten we eens kijken hoe de vergelijking van de ARIMAX eruit ziet.
ΔPt =c+ßX +11 ΔPt-1+θ1tt-1 +tt
natuurlijk zou de vergelijking voor de ARMAX hetzelfde zijn, behalve dat we de werkelijke variabele, bijvoorbeeld P, zouden gebruiken in plaats van zijn delta.
Pt=c+ßX +11 Pt-1+θ1tt-1+ θt
we kunnen de Armax zien als een speciaal geval van de ARIMAX, waar de volgorde van integratie 0 is.
dus, voor de rest van de tutorial, zullen we ons richten op de ARIMAX.
en we beginnen met het afbreken van de verschillende delen erin. Om te beginnen, Pt en Pt-1 vertegenwoordigen de waarden in de huidige periode en 1 periode geleden respectievelijk.
evenzo zijn ϵt en ϵt-1 de fouttermen voor dezelfde twee perioden. En, natuurlijk, c is gewoon een baseline constante factor.
de twee parameters, ϕ1 en θ1, geven aan welke delen van de waarde Pt-1 en fouttt-1 laatste periode relevant zijn voor het schatten van de huidige.
nu zijn de twee nieuwe toevoegingen aan het model “X”en de coëfficiënt β. Net als ϕ is β een coëfficiënt die zal worden geschat op basis van de modelselectie en de gegevens. Maar hoe zit het met X?
Wat is een exogene variabele?
wel, X is de exogene variabele en het kan elke variabele zijn waarin we geïnteresseerd zijn.
het kan een tijdsafhankelijke meting zijn, zoals het inflatiepercentage of de prijs van een andere index. Of een categorische variabele die de verschillende dagen van de week scheidt. Het kan ook een Booleaanse boekhouding voor de speciale feestelijke periodes. Tot slot kan het staan voor een combinatie van verschillende externe factoren.
het idee is dat het elke andere variabele of variabelen kan zijn die de prijzen kunnen beïnvloeden, zolang we de gegevens beschikbaar hebben.
dergelijke externe factoren staan bekend als exogene variabelen in onze regressie. We gebruiken hun waarden om degene waarin we geïnteresseerd zijn te voorspellen en uit te leggen, wat toevallig de huidige prijzen zijn in ons geval.
hoe Armax-en ARIMAX-modellen in Python te implementeren?
handig genoeg wordt het statsmodels pakket geleverd met een methode genaamd ARIMA die volledig in staat is om dergelijke extra ingangen te verwerken.
we beginnen met het specificeren van de modelkenmerken en de orders van het model:
nadat we dat gedaan hebben moeten we ook het exogene argument genaamd”exog” specificeren.
de waarde die we willen doorgeven moet een array van een soort zijn omdat we waarden willen hebben geassocieerd met elke tijdsperiode.
bijvoorbeeld, We kunnen S&P prijzen gebruiken als deze exogene variabele, omdat we ze al in onze gegevens hebben.
nu zijn we klaar voor een ARIMAX (1,1,1) model.
zorg ervoor dat u uw modelvariabele een naam geeft op een manier die het onderscheidt van vergelijkbare modellen. In dit geval kiezen we ervoor om dit te doen door aan het einde “X, spx” toe te voegen om aan te geven dat de exogene variabele de s&P.
dan, zoals te zien is aan de fragmenten, stellen we dit gelijk aan de ARIMA methode zoals voorheen, voegen we de tijdreeks toe, en de volgorde, zoals we gewend zijn. Tot slot, tussen de twee, stellen we het” exog “argument gelijk aan” DF SPX”, wat de s&P prijzen aangeeft.
als we dit model passen en de samenvattingstabel afdrukken, zullen we zien dat we een extra rij krijgen voor de s&P prijzen.
en dat is alles!
we hebben met succes gezien hoe we een ARIMAX model kunnen implementeren in Python.
Als u meer wilt weten over ARIMAX en andere tijdreeksmodellen in Python, bekijk dan onze stap-voor-stap Python tutorials. Als je nieuw bent in Python, en je bent enthousiast om meer te leren, zal dit uitgebreide artikel over het leren van Python programmeren je begeleiden helemaal van de installatie, via Python IDEs, Bibliotheken, en frameworks, om de beste Python carrièrepaden en job outlook.
klaar om de volgende stap te zetten naar een carrià re in data science?
Bekijk vandaag het volledige Data Science programma. Begin met de basis met onze statistieken, wiskunde en Excel cursussen. Bouw stap voor stap een ervaring op met SQL, Python, R, Power BI en Tableau. En upgrade uw vaardigheden met Machine Learning, Deep Learning, kredietrisico modellering, tijdreeksanalyse en klantanalyse in Python. Nog steeds niet zeker of je je interesse in data science wilt omzetten in een carrière? U kunt het curriculum verkennen of u aanmelden voor 15 uur beginner tot geavanceerde video-inhoud gratis door te klikken op de knop hieronder.