[PYTHON] Zeitreihenanalyse Nr. 6 Gefälschte Rückkehr und republikanischer Teil

1. Übersicht

2. Gefälschte Rückgabe

Definition

Es scheint eine signifikante Beziehung zwischen $ x_t $ und $ y_t $ zu geben, wenn für zwei nicht verwandte Einheitswurzelprozesse $ x_t $ und $ y_t $ zu $ y_t = \ alpha + \ beta x_t + \ epsilon_t $ zurückgekehrt wird Das Phänomen, das aussieht, wird als gefälschte Rückkehr bezeichnet.

Überprüfung

#Datengenerierung
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

Wie vermeide ich?

Fügen Sie Verzögerungsvariablen in das Modell ein

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

Nehmen Sie den Unterschied des Einheitswurzelprozesses und machen Sie ihn zu einem stetigen Prozess, bevor Sie zurückkehren

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

Definition

Implikation

Satz des Granger-Ausdrucks

Recommended Posts

Zeitreihenanalyse Nr. 6 Gefälschte Rückkehr und republikanischer Teil
Python: Zeitreihenanalyse
RNN_LSTM1 Zeitreihenanalyse
Zeitreihenanalyse 1 Grundlagen
Zeitreihenanalyse Teil 3 Prognose
Python: Zeitreihenanalyse: Vorverarbeitung von Zeitreihendaten
Umsatzprognose für die Zeitreihenanalyse
Über Zeitreihendaten und Übertraining
Zeitreihenanalyse 3 Vorverarbeitung von Zeitreihendaten
[Statistik] [Zeitreihenanalyse] Zeichnen Sie das ARMA-Modell und erfassen Sie die Tendenz.
Zeitreihenanalyse 2 Stabilität, ARMA / ARIMA-Modell
Ich habe versucht, Zeitreihen zu analysieren! (AR-Modell)
Zeitreihenanalyse Teil 2 AR / MA / ARMA
Zeitreihenanalyse 4 Konstruktion des SARIMA-Modells
OpenFOAM-Zeitreihendaten lesen und Daten einstellen
Python: Zeitreihenanalyse: Erstellen eines SARIMA-Modells
[scikit-learn, matplotlib] Multiple Regressionsanalyse und 3D-Zeichnung
Python: Zeitreihenanalyse: Konstanz, ARMA / ARIMA-Modell
Zeitreihenzerlegung
Glättung von Zeitreihen und Wellenformdaten 3 Methoden (Glättung)
Methode der Regressionsanalyse
[Einführung in die Elementzerlegung] Lassen Sie uns Zeitreihenanalysemethoden in R und Python arrange anordnen
Python 3.4 Windows7-64bit-Umgebung erstellen (für die Analyse finanzieller Zeitreihen)
"Zeitreihenanalyse von Wirtschafts- und Finanzdaten messen" Das Problem am Ende des Kapitels mit Python lösen
Python-Zeitreihenfrage
Grundlagen der Regressionsanalyse
Führen Sie eine Regressionsanalyse mit NumPy durch
TOPIX-Zeitreihen anzeigen
Zeitreihendiagramm / Matplotlib
Regressionsanalyse mit Python
[Einführung in Data Scientists] Deskriptive Statistik und einfache Regressionsanalyse ♬
Herausforderung für die zukünftige Umsatzprognose: ② Zeitreihenanalyse mit PyFlux
Eine Lernmethode für Anfänger zum Erlernen der Zeitreihenanalyse
Zeichnen Sie Zeitreihendaten in Python mit Pandas und Matplotlib
Herausforderung für die zukünftige Umsatzprognose: ⑤ Zeitreihenanalyse von Prophet
Herausforderung für die zukünftige Umsatzprognose: ① Was ist Zeitreihenanalyse?
Zeitreihenanalyse durch allgemeines Gaußsches Zustandsraummodell unter Verwendung von Python [Implementierungsbeispiel unter Berücksichtigung von Extrinsik und Saisonalität]