Korrelogram

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
StatistikV
Beiträge: 8
Registriert: So Mai 19, 2019 1:23 pm

Korrelogram

Beitrag von StatistikV »

Hallo,

ich versuche gerade bei einer multiplen Regressionsanalyse durch ein Korrelogram herauszufinden, in welcher Ordnung Autokorrelation vorliegt.
Ich habe folgenden Term hier im Forum dafür gefunden:

acf(LinearModel.1,ci = 0.95, lag.max = 100)

Leider wird bei mir immer folgende Fehlermeldung angezeigt:

[3] FEHLER:
nicht alle Argumente haben gleiche Länge

Ich habe 1 Abhängige und 3 unabhängige Variablen, welche auf Quartalsdaten basieren, bei welchen ich immer genau gleich viele Daten habe.
Kann mir jemand helfen, was ich falsch mache bzw. wie ich an das Korrelogram kommen kann?

Vielen Dank schon mal im Voraus!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Korrelogram

Beitrag von jogo »

Hallo StatistikV,

willkommen im Forum!
StatistikV hat geschrieben: So Mai 19, 2019 1:27 pm acf(LinearModel.1,ci = 0.95, lag.max = 100)

Leider wird bei mir immer folgende Fehlermeldung angezeigt:

[3] FEHLER:
nicht alle Argumente haben gleiche Länge

Ich habe 1 Abhängige und 3 unabhängige Variablen, welche auf Quartalsdaten basieren, bei welchen ich immer genau gleich viele Daten habe.
Kann mir jemand helfen, was ich falsch mache bzw. wie ich an das Korrelogram kommen kann?
Bitte lies viewtopic.php?f=20&t=11
oder https://stackoverflow.com/questions/596 ... le-example

Oder stelle Dir die Frage, welche Möglichkeiten haben wir, aus den Informationen Deiner Nachricht den Sachverhalt zu beurteilen?
Wie können wir überprüfen, ob R Recht hat mit der Fehlermeldung?
... und glaube mir: die Fehlermeldung stimmt immer.

Gruß, Jörg
StatistikV
Beiträge: 8
Registriert: So Mai 19, 2019 1:23 pm

Re: Korrelogram

Beitrag von StatistikV »

Lieber Jörg,

vielen Dank für den Hinweis.
Ich habe mir den Post durchgelesen und versuche es nochmal:

1. Meine Daten hänge ich als CSV an den Post an.
2. Session Info:

> sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.4

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8

attached base packages:
[1] splines stats graphics grDevices utils datasets methods base

other attached packages:
[1] Rcmdr_2.5-2 effects_4.1-0 RcmdrMisc_2.5-1 sandwich_2.4-0 car_3.0-2 carData_3.0-1

loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 lattice_0.20-38 tcltk2_1.2-11 class_7.3-15 zoo_1.8-1
[6] digest_0.6.15 relimp_1.0-5 cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
[11] acepack_1.4.1 survey_3.33-2 e1071_1.6-8 ggplot2_2.2.1 pillar_1.2.1
[16] rlang_0.2.0 lazyeval_0.2.1 curl_3.2 readxl_1.1.0 rstudioapi_0.7
[21] minqa_1.2.4 data.table_1.10.4-3 nloptr_1.0.4 rpart_4.1-13 Matrix_1.2-15
[26] checkmate_1.8.5 lme4_1.1-17 stringr_1.3.0 foreign_0.8-71 htmlwidgets_1.2
[31] munsell_0.5.0 compiler_3.5.3 xfun_0.6 base64enc_0.1-3 htmltools_0.3.6
[36] tcltk_3.5.3 nnet_7.3-12 tibble_1.4.2 gridExtra_2.3 htmlTable_1.11.2
[41] Hmisc_4.1-1 rio_0.5.10 MASS_7.3-51.1 grid_3.5.3 nlme_3.1-137
[46] gtable_0.2.0 magrittr_1.5 scales_1.0.0 stringi_1.1.7 latticeExtra_0.6-28
[51] openxlsx_4.0.17 nortest_1.0-4 Formula_1.2-2 RColorBrewer_1.1-2 tools_3.5.3
[56] forcats_0.3.0 abind_1.4-5 survival_2.43-3 colorspace_1.3-2 cluster_2.0.7-1
[61] knitr_1.22 haven_1.1.1

3. Folgende Tests bzw. Verfahren habe ich durchgeführt:

> LinearModel.1 <- lm(OCF ~ KFV + EKQ, data=LH)

> summary(LinearModel.1)

Call:
lm(formula = OCF ~ KFV + EKQ, data = LH)

Residuals:
Min 1Q Median 3Q Max
-655.64 -178.56 8.23 212.79 658.84

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -255.7804 220.8114 -1.158 0.2512
KFV 0.1332 0.0197 6.763 0.00000000591 ***
EKQ -12.7401 7.1766 -1.775 0.0809 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 291.5 on 61 degrees of freedom
Multiple R-squared: 0.4295, Adjusted R-squared: 0.4108
F-statistic: 22.96 on 2 and 61 DF, p-value: 0.00000003673


> library(zoo, pos=17)

> library(lmtest, pos=17)




> resettest(OCF ~ KFV + EKQ, power=2:4, type="fitted", data=LH)

RESET test

data: OCF ~ KFV + EKQ
RESET = 0.81322, df1 = 3, df2 = 58, p-value = 0.4918


> dwtest(OCF ~ KFV + EKQ, alternative="two.sided", data=LH)

Durbin-Watson test

data: OCF ~ KFV + EKQ
DW = 1.856, p-value = 0.4215
alternative hypothesis: true autocorrelation is not 0


> bptest(OCF ~ KFV + EKQ, studentize=TRUE, data=LH)

studentized Breusch-Pagan test

data: OCF ~ KFV + EKQ
BP = 5.0106, df = 2, p-value = 0.08165


Nun wollte ich ein Korrelogramm aufstellen mit dem Code: acf(LinearModel.1,ci = 0.95, lag.max = 100) um nähere Informationen zu bekommen und eine mögliche Fehlspezifikation besser verstehen zu können.
Folgende Meldung erscheint:

[5] FEHLER:
nicht alle Argumente haben gleiche Länge

Könnt ihr mir weiterhelfen, was ich falsch mache?
Ich danke schon mal für die Hilfe!

VG,

Victor
Dateianhänge
LH.csv
(7.04 KiB) 38-mal heruntergeladen
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Korrelogram

Beitrag von jogo »

Hallo Victor,

ja, damit lässt sich arbeiten. Es fehlt nur das Einlesen der Daten ...
... ich war mit

Code: Alles auswählen

read.csv2("http://forum.r-statistik.de/download/file.php?id=533")
recht erfolgreich. ;)
Und bitte auch an die Formatierung denken: viewtopic.php?f=20&t=29

Warum setzt Du die zusätzlichen Pakete nicht auf die Standardposition im Suchpfad :?:

Bei mir sieht das jetzt so aus:

Code: Alles auswählen

LH <- read.csv2("http://forum.r-statistik.de/download/file.php?id=533")
LinearModel.1 <- lm(OCF ~ KFV + EKQ, data=LH)

summary(LinearModel.1)

library("zoo")
library("lmtest")
resettest(OCF ~ KFV + EKQ, power=2:4, type="fitted", data=LH)
dwtest(OCF ~ KFV + EKQ, alternative="two.sided", data=LH)
bptest(OCF ~ KFV + EKQ, studentize=TRUE, data=LH)

acf(LinearModel.1,ci = 0.95, lag.max = 100)
So kann ich auch den Fehler reproduzieren.
Du hast Dich nicht an die Gebrauchsanweisung für die Funktion gehalten :!:
also ein Fall von

Code: Alles auswählen

fortunes::fortune(85)
Bitte lies nochmal die Dokumentation der Funktion acf()
Dort steht:
`x, y`: a univariate or multivariate (not `ccf`) numeric time series object or a numeric vector or matrix, or an `"acf"` object.

Dies z.B. funktioniert:

Code: Alles auswählen

acf(LH$OCF, ci = 0.95, lag.max = 100)
Gruß, Jörg
StatistikV
Beiträge: 8
Registriert: So Mai 19, 2019 1:23 pm

Re: Korrelogram

Beitrag von StatistikV »

Hallo Jörg,

vielen Dank für deine super schnelle Antwort! Ich war leider nicht ganz so schnell ;)
Danke für die Tipps, diese werde ich in Zukunft beherzigen bzg. des Codes.

Super, bei mir hat es mit deinem Code auch geklappt.
Wo kann ich denn die Gebrauchsanweisungen für die Funktionen nachlesen? Dies wusste ich leider noch nicht,

Vielen Dank nochmal und LG,

Victor
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Korrelogram

Beitrag von jogo »

Hallo Victor,
StatistikV hat geschrieben: Di Mai 28, 2019 1:50 pm Super, bei mir hat es mit deinem Code auch geklappt.
prima
Wo kann ich denn die Gebrauchsanweisungen für die Funktionen nachlesen?
Da gibt es verschiedene Möglichkeiten:

Code: Alles auswählen

help(acf)
?acf
help("acf")
?"acf"
oder bei RStudio im Fenster rechts unten den Tab Help, dort die Suchfunktion (rechts oben) verwenden.

Gruß, Jörg
StatistikV
Beiträge: 8
Registriert: So Mai 19, 2019 1:23 pm

Re: Korrelogram

Beitrag von StatistikV »

Hallo Jörg,

super, vielen Dank! Dann kann ich jetzt gleich weiter "basteln" ;)

VG,

Victor
Antworten