Sei sulla pagina 1di 48

Introdução aos Modelos de Previsão

Liga de Mercado Financeiro (UnB)

Pedro Campelo

Novembro de 2018

Pedro Campelo Introdução aos Modelos de Previsão 1 / 48


Sumário

1 Revisão Econometria

2 Previsão

3 Série de Tempo

4 Machine Learning

Pedro Campelo Introdução aos Modelos de Previsão 2 / 48


Sumário

1 Revisão Econometria

2 Previsão

3 Série de Tempo

4 Machine Learning

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 3 / 48


Regresão Linear (OLS)

“A análise de regressão diz respeito ao estudo da dependência de uma


variável, a variável dependente, em relação a uma ou mais variáveis,
as variáveis explanatórias, visando estimar e/ou prever o valor médio
(da população) da primeira em termos dos valores conhecidos ou
fixados (em amostragens repetidas) das segundas.” (Gujaratie Porter,
5a edição, pag. 39).

O objetivo da análise de regressão é estabelecer uma reta que melhor


descreva uma relação linear entre variáveis.

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 4 / 48


Regresão Linear (OLS)

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 5 / 48


Regresão Linear (OLS)

peso = β0 + β1 altura + i , i = i, · · · , n

Intuitivamente,

peso = −100 + altura

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 6 / 48


Regresão Linear (OLS)

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 7 / 48


Regresão Linear (OLS)

peso = β0 + β1 altura + ei , i = i, · · · , n

OLS,

peso = −159, 07 + 1, 36altura

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 8 / 48


Regresão Linear (OLS)

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 9 / 48


Regresão Linear (OLS)

Hipóteses:
1) Linearidade: A relação entre a variável dependente e os regressores
é linear.

2) Rank(X ) = k: Ausência de multicolinearidade perfeita.

3) E (e|X ) = 0: As variáveis independentes não carregam nenhuma


informação útil para predizer e.

4) Ω = E (e 0 |X ) = σ 2 I : Variância do termo erro constante


(homocedasticidade) e não autocorrelação entre as observações.

5) e|X ∼ N(0, Ω): Hipótese últil para correlação estatı́stica.

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 10 / 48


Regresão Linear (OLS)

êi = yi − ŷi = yi − xi0 β

n
X
ê = (yi − ŷi ) = y − X 0 β
i=1

n
X
SQR(β) = (yi − xi0 β)2 = (y − X 0 β)0 (y − X 0 β)
i=1

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 11 / 48


Regresão Linear (OLS)

MQO (OLS) minimiza a SQR

min SQR (β)

min (y − X 0 β)0 (y − X 0 β)

min (yy 0 − 2y 0 X β + β 0 X 0 X β)

CPO

−2y 0 X + 2X 0 X β̂

β̂ = (X 0 X )−1 X 0 y

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 12 / 48


Regresão Linear (OLS)

Hip 1, 2 e 3 garantem β não viesado (E (β̂) = β)

Hip 1, 2, 3 e 4 garantem β é BLUE (Best Linear Unbiased Estimator)

Hip 1, 2, 3, 4 e 5 garantem β é BUE (Best Unbiased Estimator)

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 13 / 48


Regresão Linear (OLS)

import numpy a s np
import p a t s y a s ps

from p a nd a s import S e r i e s
from p a nd a s import r e a d c s v

d a d o s = r e a d c s v ( ' d a d o s . c s v ' , s e p= ' ; ' , h e a d e r =0, p a

y , X = ps . d m a t r i c e s ( ' y ˜ x1+x2+x3+x4+x5+x6+x7 ' ,


d a t a=dados , r e t u r n t y p e= ' d a t a f r a m e ' )

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 14 / 48


Regresão Linear (OLS)

import s t a t s m o d e l s . a p i a s sm
from s k l e a r n . m e t r i c s import r 2 s c o r e

model = sm . OLS( y , X)
m o d e l f i t = model2 . f i t ( )
p r i n t ( m o d e l f i t . summary ( ) )

c o e f=m o d e l f i t 2 . params
R2=m o d e l f i t 2 . r s q u a r e d

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 15 / 48


Regresão Linear (OLS)

Pedro Campelo Introdução aos Modelos de Previsão Revisão Econometria 16 / 48


Sumário

1 Revisão Econometria

2 Previsão

3 Série de Tempo

4 Machine Learning

Pedro Campelo Introdução aos Modelos de Previsão Previsão 17 / 48


Previsão

Arte de construir modelos matemáticos/estatı́sticos/econométricos a


partir de dados históricos para prever uma variável de interesse.

Testar o modelo fora da amostra (’Out of Sample’)


Teste vs Treino

Como testar se o modelo tem um poder de previsão fora amostra?


Erro de previsão (SQR), Precisão do Modelo (R2)

Pedro Campelo Introdução aos Modelos de Previsão Previsão 18 / 48


Regresão Linear (OLS)

t r a i n s i z e = i n t ( len ( dados ) ∗ (365/546))


d a d o s t r e i n o , d a d o s t e s t e = dados [ 0 : t r a i n s i z e ] ,
dados [ t r a i n s i z e : len ( dados ) ]

y t r e i n o , X t r e i n o = p s . d m a t r i c e s ( ' y ˜ x1+x2+x3+x4+
x5+x6+x7 ' , d a t a=d a d o s t r e i n o ,
r e t u r n t y p e= ' d a t a f r a m e ' )

y t e s t e , X t e s t e = p s . d m a t r i c e s ( ' y ˜ x1+x2+x3+x4+
x5+x6+x7 ' , d a t a=d a d o s t e s t e ,
r e t u r n t y p e= ' d a t a f r a m e ' )

Pedro Campelo Introdução aos Modelos de Previsão Previsão 19 / 48


Regresão Linear (OLS)

import s t a t s m o d e l s . a p i a s sm
from s k l e a r n . m e t r i c s import r 2 s c o r e

model = sm . OLS( y t r e i n o , X t r e i n o )
m o d e l f i t = model . f i t ( )
p r i n t ( m o d e l f i t . summary ( ) )

c o e f=m o d e l f i t . params
R2=m o d e l f i t . r s q u a r e d

Pedro Campelo Introdução aos Modelos de Previsão Previsão 20 / 48


Regresão Linear (OLS)

# previsao
y predictions = model fit . predict ( X teste )

#C a l c u l a n d o o e r r o
SQR = m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s )
r e s i d u o = np . s q r t (SQR)
p r i n t ( ' T e s t MSE, R e s i d u a l : %.3 f ' % SQR , r e s i d u o )

#p r e c i s a o do modelo ( R2 )
accuracy = r2 score ( y teste , y p r e d i c t i o n s )
R 2 t e s t = sm . OLS( y t e s t e , X t e s t e ) . f i t ( ) . r s q u a r e d
p r i n t ( ' a c c u r a c y , R 2 t e s t : %.3 f ' % a c c u r a c y ,
R2 test )

Pedro Campelo Introdução aos Modelos de Previsão Previsão 21 / 48


Regresão Linear (OLS)

import m a t p l o t l i b . p y p l o t a s p l t
from m a t p l o t l i b import p y p l o t

plt . figure ()
p y p l o t . p l o t ( y t r e i n o , l a b e l= ' T r e i n o ' )
p y p l o t . p l o t ( y t e s t e , c o l o r= ' b l a c k ' , l a b e l= ' T e s t e ' )
p y p l o t . p l o t ( y p r e d i c t i o n s , c o l o r= ' r e d ' ,
l a b e l= ' P r e v i s a o ' )
p l t . l e g e n d ( l o c= ' b e s t ' )
plt . ylabel ( 'y ')
p l t . x t i c k s ( r o t a t i o n =30)
plt . t i t l e ( ' Previsao ' )
p y p l o t . show ( )

Pedro Campelo Introdução aos Modelos de Previsão Previsão 22 / 48


Regresão Linear (OLS)

Pedro Campelo Introdução aos Modelos de Previsão Previsão 23 / 48


Regresão Linear (OLS)

import numpy a s np
from s k l e a r n . l i n e a r m o d e l import L i n e a r R e g r e s s i o n

reg = LinearRegression ( ) . f i t ( X treino , y t r e i n o )

c o e f r e g=np . t r a n s p o s e ( r e g . c o e f )
R2=r e g . s c o r e ( X t r e i n o , y t r e i n o )
print ( reg . score ( X treino , y t r e i n o ) , reg . coef )
p r e d i c t i o n s = reg . p r e d i c t ( X teste )
y p r e d i c t i o n s=pd . DataFrame ( p r e d i c t i o n s , i n d e x=t e s t e )

SQR = m e a n squared error ( y teste , y predictions )


r e s i d = np . s q r t (SQR)
accuracy = r2 score ( y teste , y predictionsreg )
print ( resid , accuracy )

Pedro Campelo Introdução aos Modelos de Previsão Previsão 24 / 48


Sumário

1 Revisão Econometria

2 Previsão

3 Série de Tempo

4 Machine Learning

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 25 / 48


Séries de tempo

yt = Φ1 yt−1 + βxt + e

Autocorrelação:
ρtj = Corr y + t, yt − j

Estacionaridade:
E (yt ) = µ < ∞, Var (yt ) = σ < ∞, Corr (yt , yt+k ) = γk
Dickey-Fuller Test
Primeira diferença - I (1) (∆y = yt − yt−1 ), segunda diferença - I (2) ,
etc.

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 26 / 48


Processo Autorregressivo (AR)

AR (p):

yt = Φ0 + Φ1 yt−1 + Φ2 yt−2 + · · · + Φp yt−p + t

Processo depende somente dos valores passados da variável.

AR (p) é estacionário se as raı́zes do polinômio caracterı́stico


estiverem fora do circulo unitário.

Exemplo - AR (1) (p=1):

yt = Φ0 + Φ1 yt−1 + t

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 27 / 48


Médias Móveis (AR)

MA (q):

yt = γ + et + θ1 et−1 + θ2 et−2 + · · · + θq et−q

Processo depende somente dos valores passados do erro da variável.

Exemplo - AR (1) (p=1):

yt = γ + et + θ1 et−1

MA (1) é inversı́vel se as |θ| < 1.

Podemos representar MA (1) como um AR (∞)

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 28 / 48


ARIMA (p,i,q)

ARIMA (p,i,q):

yt = γ + Φ0 + Φ1 yt−1 + Φ2 yt−2 + · · · + Φp yt−p +


et + θ1 et−1 + θ2 et−2 + · · · + θq et−q

p representa os lags do processo AR (p), i representa a quantidade de


diferenças do processo I(i) e q representa os lags do proecsso MA (q)

Processo depende somente dos valores passados do erro et e da


variável yt .

AR (p) é estacionário se as raı́zes do polinômio caracterı́stico


estiverem fora do circulo unitário.

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 29 / 48


Séries de Tempo

from p a nd a s import S e r i e s
from m a t p l o t l i b import p y p l o t
from p a nd a s . t o o l s . p l o t t i n g import a u t o c o r r e l a t i o n
from s t a t s m o d e l s . g r a p h i c s . t s a p l o t s import p l o t a c f

#A u t o c o r r e l a t i o n p l o t
autocorrelation plot ( 'y ')
p l t . show ( )

#Lag p l o t
p l o t a c f ( ' y ' , l a g s =50)
p y p l o t . show ( )

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 30 / 48


Séries de Tempo
from s t a t s m o d e l s . t s a . s t a t t o o l s import a d f u l l e r , k p s s

def a d f t e s t ( y ) :
p r i n t ( ' R e s u l t s o f Augmented DF t e s t : ' )
d f t e s t = a d f u l l e r ( y , a u t o l a g= ' AIC ' )
d f o u t p u t = pd . S e r i e s ( d f t e s t [ 0 : 4 ] ,
i n d e x =[ ' t e s t s t a t i s t i c ' , ' p−v a l u e ' ,
'# o f l a g s ' , '# o f o b s e r v a t i o n s ' ] )
f o r key , v a l u e i n d f t e s t [ 4 ] . i t e m s ( ) :
d f o u t p u t [ ' C r i t i c a l V a l u e ( { } ) ' . format ( k e y )]= v a l u e
print ( dfoutput )

data = y t r e i n o . i l o c [ : , 0 ] . v a l u e s
data2 = y t e s t e . i l o c [ : , 0 ] . v a l u e s
print ( a d f t e s t ( data ) , a d f t e s t ( data2 ) , a d f t e s t ( y ))
#N r e j e i t a a h i p . n u l a a 10% −> Nao E s t a c i o n a r i a
Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 31 / 48
Séries de Tempo

from s t a t s m o d e l s . t s a . a r m o d e l import AR
from s t a t s m o d e l s . t s a . a r i m a m o d e l import ARIMA

#model = AR( y t r e i n o )
model = ARIMA( y t r e i n o , o r d e r = ( 4 , 0 , 2 ) )
m o d e l f i t = model . f i t ( )
p r i n t ( ' Lag : %s ' % m o d e l f i t . k a r )
p r i n t ( ' C o e f f i c i e n t s : %s ' % m o d e l f i t . params )

# make p r e d i c t i o n s
y p r e d i c t i o n s = m o d e l f i t . p r e d i c t ( s t a r t=l e n ( y t r e i n o ) ,

SQR = m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s )
r e s i d=np . s q r t (EQM)
p r i n t ( ' T e s t MSE : %.3 f ' % SQR , r e s i d )

Pedro Campelo Introdução aos Modelos de Previsão Série de Tempo 32 / 48


Sumário

1 Revisão Econometria

2 Previsão

3 Série de Tempo

4 Machine Learning

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 33 / 48


Machine Learning vs. Econometria

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 34 / 48


Lasso
Least Absolute Shrinkage and Selection Operator (LASSO) é a
solução do problema de mı́nimos quadrados com uma penalização que
força alguns coeficientes para zero.
" #
β̂ = argmin kY − X βk22 + λkβk1
β̂

Quando se trabalha com muitas variáveis, o LASSO diminui o


coeficiente dos parâmetros irrelevantes até zero.

λols ≤ λ ≤ λc → Escolher λ usando BIC.

Adalasso

Cross Validation é o processo de decidir se os resultados numéricos


que quantificam as relações hipotetizadas entre variáveis são
aceitáveis como descrições dos dados
Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 35 / 48
Lasso

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 36 / 48


Lasso
from s k l e a r n import l i n e a r m o d e l

model = l i n e a r m o d e l . L a s s o ( a l p h a =0.1 , copy X=True ,


f i t i n t e r c e p t =True , m a x i t e r =1000 , n o r m a l i z e=F a l s e ,
p o s i t i v e=F a l s e , p r e c o m p u t e=F a l s e , r a n d o m s t a t e=None ,
s e l e c t i o n= ' c y c l i c ' , t o l =0.0001 , w a r m s t a r t=F a l s e )
m o d e l f i t=model . f i t ( X t r e i n o , y t r e i n o )

R2 = m o d e l f i t . s c o r e ( X t r e i n o , y t r e i n o )
c o e f=model . c o e f
p r i n t ( R2 , c o e f )

y predictions = model fit . predict ( X teste )


y p r e d i c t i o n s= pd . DataFrame ( y p r e d i c t i o n s , i n d e x=t e s t e )

r s d=np . s q r t ( m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s ) )
Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 37 / 48
Ridge Regression

" #
β̂ = argmin kY − X βk22 + λkβk22
β̂

Assim como o Lasso, o Ridge Regression é um modelo de regressão


regularizado, onde a solução do problema de mı́nimos quadrados com
uma penalização que força alguns coeficientes para zero.

Ao adicionar a penalização quadrática, o Ridge torna a função de


perda estritamente convexa e, portanto, tem um mı́nimo único

Porém, a penalização ao quadrado encontra uma maior dificuldade


em zerar os coeficientes que o Lasso

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 38 / 48


Ridge Regression
from s k l e a r n . l i n e a r m o d e l import R i d g e

model = R i d g e ( a l p h a =0.1 , n o r m a l i z e=True )


m o d e l f i t=model . f i t ( X t r e i n o , y t r e i n o )

c o e f=np . t r a n s p o s e ( m o d e l f i t . c o e f )
R2 = m o d e l f i t . s c o r e ( X t r e i n o , y t r e i n o )
p r i n t ( c o e f , R2 )

y predictions = model fit . predict ( X teste )


y p r e d i c t i o n s= pd . DataFrame ( y p r e d i c t i o n s , i n d e x=t e s t e )

SQR = m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s )
r e s i d = np . s q r t (SQR ) )
accuracy = r2 score ( y teste , y p r e d i c t i o n s )
p r i n t ( ' T e s t MSE, A c c u r a c y : %.3 f ' % r e s i d , a c c u r a c y )
Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 39 / 48
Elastic Net

" #
β̂ = argmin kY − X βk22 + λ1 kβk1 + λ2 kβk22
β̂

Elastic Net também é um modelo de regressão regularizado que


combina as restrições do Lasso e do Ridge Regression

Ao adicionar a penalização quadrática (assim como no Ridge), o


Elastic Net torna a função de perda estritamente convexa e, portanto,
tem um mı́nimo único

Se torna um caso mais geral de alguns modelos de regularização


(Lasso, Ridge e afins)

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 40 / 48


Elastic Net
from s k l e a r n . l i n e a r m o d e l import E l a s t i c N e t

model = E l a s t i c N e t ( ) .
m o d e l f i t=model . f i t ( X t r e i n o , y t r e i n o )

c o e f=m o d e l f i t . c o e f
R2 = m o d e l f i t . s c o r e ( X t r e i n o , y t r e i n o )
p r i n t ( c o e f , R2 )

y predictions = model fit . predict ( X teste )


y p r e d i c t i o n s= pd . DataFrame ( y p r e d i c t i o n s , i n d e x=t e s t e )

SQR = m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s )
r e s i d = np . s q r t (SQR ) )
accuracy = r2 score ( y teste , y p r e d i c t i o n s )
p r i n t ( ' T e s t MSE, A c c u r a c y : %.3 f ' % r e s i d , a c c u r a c y )
Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 41 / 48
Lars

Least Angle Regression (LARS) é um algorı́timo para ajustar modelos


de regressões lineares com dados de alta dimensão

O LARS começa com todos com todos os coeficientes β zerados e vai


aumentando o valor dos coeficientes na direção da correlação com y.

Ou seja, este algorı́timo inclui variáveis que possuem ângulo mı́nimo


com o resı́duo

Ainda, existe o modelo Lasso Lars, que utiliza o algorı́timo de seleção


de variáveis do LARS com a penalização do LASSO.

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 42 / 48


Lars
from s k l e a r n import l i n e a r m o d e l

model = l i n e a r m o d e l . L a r s ( n n o n z e r o c o e f s =100)
m o d e l f i t=model . f i t ( X t r e i n o , y t r e i n o )

c o e f=np . t r a n s p o s e ( m o d e l f i t . c o e f )
R2 = m o d e l f i t . s c o r e ( X t r e i n o , y t r e i n o )
p r i n t ( c o e f , R2 )

y predictions = model fit . predict ( X teste )


y p r e d i c t i o n s= pd . DataFrame ( y p r e d i c t i o n s , i n d e x=t e s t e )

SQR = m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s )
r e s i d = np . s q r t (SQR ) )
accuracy = r2 score ( y teste , y p r e d i c t i o n s )
p r i n t ( ' T e s t MSE, A c c u r a c y : %.3 f ' % r e s i d , a c c u r a c y )
Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 43 / 48
Random Forest

Random Forest é um um método de aprendizado em conjunto para


classificação e regressão de variáveis
Este modelo cria diversas árvores de decisões aleatórias no perı́odo de
treino e os mescla para obter a previsão mais precisa possı́vel,
resultando na nó das variáveis que aparecem com mais frequência
O modelo busca diminuir o overfiting dos modelos tradicionais ao
fazer um bagging (ou Botstrap), combinando os modelos de
aprendizagem
Ao fazer esta média dos diversos nós de decisões possı́veis, o modelo
diminui sua variância, em troca de um aumento do viés
Isto resulta em um modelo mais preciso. Porém com menos
interpretabilidade (fica difı́cil ver quais as variáveis são mais
importante para previsão, dá um coeficiente mais baixo para as
variáveis ao invés de zerá-las).

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 44 / 48


Random Forest
from s k l e a r n . e n s e m b l e import R a n d o m F o r e s t R e g r e s s o r
model = R a n d o m F o r e s t R e g r e s s o r ( n e s t i m a t o r s = 1 0 0 0 ,
r a n d o m s t a t e= 0 )
m o d e l f i t=model . f i t ( X t r e i n o , y t r e i n o )

c o e f=model . f e a t u r e i m p o r t a n c e s
R2 = model . s c o r e ( X t r e i n o , y t r e i n o )
p r i n t ( R2 , c o e f )

y predictions = model fit . predict ( X teste )


y p r e d i c t i o n s= pd . DataFrame ( y p r e d i c t i o n s , i n d e x=t e s t e )

SQR = m e a n s q u a r e d e r r o r ( y t e s t e , y p r e d i c t i o n s )
r e s i d = np . s q r t (SQR ) )
accuracy = r2 score ( y teste , y p r e d i c t i o n s )
p r i n t ( ' T e s t MSE, A c c u r a c y : %.3 f ' % r e s i d , a c c u r a c y )
Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 45 / 48
Problemas

Desasagem do modelo → número de lags

Horizonte de Previsão

Nowcasting

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 46 / 48


Lags

def t i m e S e r i e s P r e p a r a t i o n ( df , v a r D i c t , constantName ,
dropNaN , f o r e c a s t H o r i z o n ) :
v a r L i s t =[]
f o r var in df . columns :
i f ( ( v a r i n v a r D i c t ) and ( v a r != ' y ' ) ) :
print ( var )
v a r L i s t . append ( v a r )

i f ( constantName != ' ' ) :


t i m e S e r i e s=d f [ v a r L i s t +[ ' y ' ] ] . copy ( )
t i m e S e r i e s [ constantName ]=1
else :
t i m e S e r i e s=d f [ v a r L i s t +[ ' y ' ] ] . copy ( )
print ( timeSeries )

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 47 / 48


Lags

f o r var in df . columns :
i f var in varDict :
print ( var )
maxLag=v a r D i c t [ v a r ]+1
f o r l a g i n range ( 1 , maxLag ) :
print ( lag )
t i m e S e r i e s [ v a r+ ' l a g ' + s t r ( l a g ) ] =
timeSeries [ var ] . s h i f t
( l a g+f o r e c a s t H o r i z o n −1)
i f ( dropNaN ) :
t i m e S e r i e s . d r o p n a ( i n p l a c e=True )
return t i m e S e r i e s

Pedro Campelo Introdução aos Modelos de Previsão Machine Learning 48 / 48

Potrebbero piacerti anche