2014-04-18 9 views
5

Meine importierten Daten enthalten 7 Variablen: Y und X1, X2, X3, X4, X5, X6. Ich habe versucht, die rollapply Funktion in zoo anzuwenden, um eine rollende Regression innerhalb einer In-Probe mit einem Fenster von 262 Obs zu führen. (Arbeitstage in einem Jahr).die Roll Regression in R Rolle mit anwenden

  date    Y   X1   X2 
1  10/1/07 -0.0080321720 4.690734e-03 3.333770e-03 
2  10/2/07 0.0000000000 -2.818413e-03 5.418223e-03 
3  10/3/07 0.0023158650 -4.178744e-03 -3.821100e-04 
4  10/4/07 -0.0057491710 -5.071030e-03 -8.321550e-04 
5  10/5/07 0.0073570500 3.065045e-03 5.179574e-03 
6  10/8/07 0.0127708010 -7.278513e-03 1.145395e-03 
7  10/9/07 0.0032661980 9.692267e-03 6.514035e-03 
8 10/10/07 0.0013824430 1.161780e-04 2.676416e-03 
9 10/11/07 0.0026607550 1.113179e-02 8.825719e-03 
10 10/12/07 -0.0046362600 -2.453561e-03 -6.584070e-03 
11 10/15/07 -0.0023757680 -7.829081e-03 -3.070540e-03 
12 10/16/07 -0.0128673660 -4.619378e-03 -8.972126e-03 
13 10/17/07 0.0016049760 1.276695e-03 5.349316e-03 
14 10/18/07 -0.0044198970 -9.018499e-03 -1.215895e-02 
15 10/19/07 -0.0011080330 -5.328661e-03 -7.131916e-03 
16 10/22/07 -0.0024217970 -2.019539e-02 -2.021072e-02 
17 10/23/07 0.0031270520 1.668604e-02 2.236130e-02 
18 10/24/07 -0.0040367400 -1.061433e-02 -5.735703e-03 
19 10/25/07 0.0001011170 1.346312e-02 1.036109e-02 
20 10/26/07 0.0003032910 3.766526e-03 2.903628e-03 
21 10/29/07 0.0004042450 1.416406e-02 2.527754e-03 
22 10/30/07 -0.0012132240 -1.387166e-03 -8.202236e-03 
23 10/31/07 0.0057497510 9.593904e-03 1.433401e-02 
24 11/1/07 -0.0032238590 -1.648975e-02 -1.029199e-02 
25 11/2/07 -0.0031330560 -7.737784e-03 -7.559498e-03 
26 11/5/07 -0.0001-7.877763e-03 -8.500554e-03 
27 11/6/07 -0.0004050220 7.407770e-03 2.536320e-03 
28 11/7/07 -0.0031444970 -5.904219e-03 -8.026064e-03 
29 11/8/07 -0.0045822590 -3.712574e-03 -6.395584e-03 
30 11/9/07 0.0016316540 -1.432552e-02 -1.741458e-02 
31 11/12/07 -0.0019378860 -3.926583e-03 -4.543370e-03 
32 11/13/07 0.0011223920 -1.952799e-03 -2.622112e-03 
33 11/14/07 0.0008154940 8.687550e-06 1.085682e-03 
34 11/15/07 0.0015272620 -1.549745e-02 -1.556172e-02 
35 11/16/07 -0.0001017450 -5.578556e-03 -1.432244e-02 
36 11/19/07 0.0014234880 -2.206707e-02 -3.537936e-02 
37 11/20/07 -0.0010165700 1.643937e-02 5.140822e-03 
38 11/21/07 -0.0008140010 -1.715961e-02 -2.756704e-02 
39 11/22/07 -0.0008146640 -2.108098e-03 7.455698e-03 
40 11/23/07 0.0008146640 1.266776e-02 1.615338e-02 
41 11/26/07 0.0008140010 5.539814e-03 2.854080e-03 
42 11/27/07 0.0006100660 -8.561106e-03 -9.720505e-03 
43 11/28/07 -0.0015258640 3.392103e-02 2.132374e-02 
44 11/29/07 -0.0006109980 6.109848e-03 1.045556e-02 
45 11/30/07 0.0004073730 9.214342e-03 1.133690e-02 
46 12/3/07 -0.0002036660 -7.006415e-03 -6.079820e-04 
47 12/4/07 0.0002036660 -1.187605e-02 -2.554853e-02 
48 12/5/07 0.0007125040 1.362121e-02 9.525618e-03 
49 12/6/07 -0.0034655010 7.917348e-03 5.252105e-03 
50 12/7/07 0.0018361730 -1.026832e-02 1.216898e-02 
51 12/10/07 0.0013240310 3.347302e-03 1.143687e-02 
52 12/11/07 0.0005087760 -3.433720e-03 2.373558e-03 
53 12/12/07 0.0024385300 5.507930e-04 3.191504e-03 
54 12/13/07 -0.0115336820 -1.793698e-02 -2.149447e-02 
55 12/14/07 -0.0010271160 -2.307745e-03 -1.038483e-03 
56 12/17/07 -0.0033969870 -1.822079e-02 -2.920662e-02 
57 12/18/07 0.0000000000 -1.873297e-03 -7.061215e-03 
58 12/19/07 -0.0004125410 -3.372400e-06 -7.879850e-03 
59 12/20/07 0.0008249120 -6.227957e-03 -1.752460e-04 
60 12/21/07 -0.0020635580 1.734991e-02 1.348190e-02 
61 12/24/07 0.0003098050 0.000000e+00 0.000000e+00 
62 12/25/07 0.0000000000 0.000000e+00 0.000000e+00 
63 12/26/07 0.0001032470 0.000000e+00 0.000000e+00 
64 12/27/07 0.0006192590 5.006783e-03 5.274480e-03 
65 12/28/07 -0.0005160230 6.428153e-03 8.557260e-03 
66 12/31/07 0.0000000000 0.000000e+00 0.000000e+00 
67  1/1/08 0.0002064410 0.000000e+00 0.000000e+00 
68  1/2/08 -0.0009293200 -6.023384e-03 -3.104400e-03 
69  1/3/08 0.0027853730 -2.302511e-03 -2.759650e-03 
70  1/4/08 0.0018526150 -2.149450e-02 -2.645257e-02 
71  1/7/08 -0.0005142710 -4.445206e-03 -2.117698e- 

1596   <NA>   <NA>   <NA>    

die letzte Zeile aus irgendeinem Grunde jedoch nicht die Werte zeigen, auch dort in der ursprünglichen Excel-Datei ist (X3, X4, X5, X6 fehlen, da die Spalten übereinander gestapelt sind, ., ich habe die Partie von oben für das Beispiel kopiert

Mein Code ist:

rollapply(ts, 262, lm(Y~X1+X2+X3+X4+X5+X6+0, 
          subset=1:floor(length(x)/2)), align="right") 

die Fehlermeldung ich erhalte, ist:

**Error in eval(expr, envir, enclos) : object 'Y' not found** 

Ich frage mich wirklich, warum es die Variable Y nicht finden kann, da sie im Zeitreihendatensatz mit der entsprechenden Überschrift angezeigt wird.

+1

Das dritte Argument des 'rollapply' sollte eine Funktion sein , aber Sie rufen 'lm' auf, beziehen sich auf einen nicht definierten Wert' x' und übergeben kein 'data = 'Argument. – josliber

Antwort

7

Es ist nicht wirklich klar, was Ihre Daten tatsächlich sind (verwenden Sie dput(example_data), um reproduzierbare Beispiele zu geben).

Aber die lm Anruf in Ihrem Beispiel einfach die gleiche Regression immer und immer wieder tun (Ihr x ändert sich nicht) und wie josilber weist darauf hin, wird angenommen, eine Funktion zu sein. Hier ist ein Beispiel, in dem alle Daten in der data.frame ist allRegData und hat mindestens zwei Spalten, eine mit dem Namen y und einem anderen Namen x:

require(zoo) 
rollapply(zoo(allRegData), 
      width=262, 
      FUN = function(Z) 
      { 
      t = lm(formula=y~x, data = as.data.frame(Z), na.rm=T); 
      return(t$coef) 
      }, 
      by.column=FALSE, align="right") 
+0

vielen Dank für Ihre Hilfe, der Code funktionierte, aber ich habe eine Menge von NAs in der Mitte der Ausgabe, ich verwendete XLConnect-Paket, um die Ausgabe in eine Excel-Datei mit: writeWorksheetToFile ("Ergebnisse von Rolling Window in R. xlsx ", data = Ergebnisse, sheet =" rollapply ", header = TRUE) Ich bekomme folgende Fehlermeldung: Fehler: OutOfMemoryError (Java): Java-Heap-Space Könnte das irgendwie gelöst werden? – user3546838

+0

Die 'NA' könnte durch eine nicht invertierbare Modellmatrix (d. H. Determinante Null) verursacht werden -> zeigen Ihre' X1' und 'X2' genügend Varianz über die Beobachtungen, gibt es keine Duplikate, gibt es NAs? Schreiben Sie Ihre Ausgabe in eine CSV-Datei mit 'write.table' oder' write.csv', um Probleme mit Ihrem XLConnect-Paket auszuschließen. Wenn Sie eine andere Frage haben: Stellen Sie sie in einer neuen Frage. –