[PYTHON] Analyse des séries chronologiques n ° 6 Faux retour et partie républicaine

1. Vue d'ensemble

2. Faux retour

Définition

Il semble y avoir une relation significative entre $ x_t $ et $ y_t $ lors du retour de $ y_t = \ alpha + \ beta x_t + \ epsilon_t $ pour deux processus racine unitaires non liés $ x_t $ et $ y_t $ Le phénomène qui ressemble s'appelle un faux retour.

Vérification

#Génération de données
sigma_x, sigma_y = 1, 2
T = 10000
xt = np.cumsum(np.random.randn(T) * sigma_x).reshape(-1, 1)
yt = np.cumsum(np.random.randn(T) * sigma_y).reshape(-1, 1)

save.png

from sklearn.linear_model import LinearRegression
reg = LinearRegression().fit(xt,yt)
print('R-squared : ',reg.score(xt,yt))
print('coef : ',reg.coef_, 'intercept', reg.intercept_)

R-squared : 0.4794854506874714 coef : [[-0.62353254]] intercept [-24.27600549]

import statsmodels.api as sm
reg = sm.OLS(yt,sm.add_constant(xt,prepend=False)).fit()
reg.summary()
Dep. Variable: y R-squared: 0.479
Model: OLS Adj. R-squared: 0.479
Method: Least Squares F-statistic: 9210.
Date: Tue, 07 Jan 2020 Prob (F-statistic): 0.00
Time: 22:36:57 Log-Likelihood: -51058.
No. Observations: 10000 AIC: 1.021e+05
Df Residuals: 9998 BIC: 1.021e+05
Df Model: 1
Covariance Type: nonrobust
coef std err t P>abs(t) [0.025 0.975]
const -24.2760 0.930 -26.113 0.000 -26.098 -22.454
x1 -0.6235 0.006 -95.968 0.000 -0.636 -0.611

Comment éviter

Inclure les variables de retard dans le modèle

x_t, y_t, y_t_1 = xt[1:], yt[1:], yt[:-1]
X = np.column_stack((x_t, y_t_1))
reg = sm.OLS(y_t,sm.add_constant(X)).fit()
reg.summary()
Dep. Variable: y R-squared: 0.999
Model: OLS Adj. R-squared: 0.999
Method: Least Squares F-statistic: 3.712e+06
Date: Thu, 09 Jan 2020 Prob (F-statistic): 0.00
Time: 22:12:59 Log-Likelihood: -21261.
No. Observations: 9999 AIC: 4.253e+04
Df Residuals: 9996 BIC: 4.255e+04
Df Model: 2
Covariance Type: nonrobust
coef std err t P>abs(t) [0.025 0.975]
const -0.0815 0.049 -1.668 0.095 -0.177 0.014
x1 -0.0004 0.000 -0.876 0.381 -0.001 0.000
x2 0.9989 0.001 1964.916 0.000 0.998 1.000

Prenez la différence du processus de racine de l'unité et faites-en un processus régulier avant de revenir

x_t, y_t = np.diff(xt.flatten()).reshape(-1,1), np.diff(yt.flatten()).reshape(-1,1)
reg = sm.OLS(y_t,sm.add_constant(x_t)).fit()
reg.summary()
Dep. Variable: y R-squared: 0.000
Model: OLS Adj. R-squared: 0.000
Method: Least Squares F-statistic: 3.297
Date: Thu, 09 Jan 2020 Prob (F-statistic): 0.0694
Time: 22:33:26 Log-Likelihood: -21262.
No. Observations: 9999 AIC: 4.253e+04
Df Residuals: 9997 BIC: 4.254e+04
Df Model: 1
Covariance Type: nonrobust
coef std err t P>abs(t) [0.025 0.975]
const -0.0138 0.020 -0.681 0.496 -0.054
x1 -0.0374 0.021 -1.816 0.069 -0.078

3. Kyowa

Définition

Implication

Théorème d'expression de Granger

Recommended Posts

Analyse des séries chronologiques n ° 6 Faux retour et partie républicaine
Python: analyse des séries chronologiques
Analyse des séries chronologiques RNN_LSTM1
Analyse des séries chronologiques 1 Principes de base
Analyse de séries chronologiques Partie 3 Prévisions
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
Analyse des séries chronologiques
À propos des données de séries chronologiques et du surentraînement
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
[Statistiques] [Analyse des séries chronologiques] Tracez le modèle ARMA et saisissez la tendance.
Analyse des séries chronologiques 2 Stabilité, modèle ARMA / ARIMA
J'ai essayé l'analyse de séries chronologiques! (Modèle AR)
Analyse des séries chronologiques Partie 2 AR / MA / ARMA
Analyse des séries chronologiques 4 Construction du modèle SARIMA
Lecture des données de séries chronologiques OpenFOAM et des ensembles de données
Python: analyse des séries temporelles: création d'un modèle SARIMA
[scikit-learn, matplotlib] Analyse de régression multiple et dessin 3D
Python: Analyse des séries temporelles: Constantity, modèle ARMA / ARIMA
Décomposition des séries temporelles
Lissage des séries temporelles et des données de forme d'onde 3 méthodes (lissage)
Méthode d'analyse de régression
[Introduction à la décomposition des éléments] Organisons les méthodes d'analyse des séries chronologiques en R et python ♬
Python 3.4 Créer un environnement Windows7-64bit (pour l'analyse des séries chronologiques financières)
"Analyse des séries chronologiques de mesure des données économiques et financières" Résolution du problème de fin de chapitre avec Python
Question sur la série chronologique Python
Bases de l'analyse de régression
Effectuer une analyse de régression avec NumPy
Afficher les séries chronologiques TOPIX
Diagramme de séries chronologiques / Matplotlib
Analyse de régression avec Python
[Introduction aux Data Scientists] Statistiques descriptives et analyse de régression simple ♬
Défi des prévisions de ventes futures: ② Analyse des séries chronologiques à l'aide de PyFlux
Une méthode d'étude pour les débutants pour apprendre l'analyse des séries chronologiques
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
Défi des prévisions de ventes futures: ⑤ Analyse des séries chronologiques par Prophet
Défi pour les prévisions de ventes futures: ① Qu'est-ce que l'analyse des séries chronologiques?
Analyse de séries temporelles par modèle général d'espace d'états gaussien à l'aide de Python [Exemple d'implémentation considérant extrinsèque et saisonnalité]