matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMathe-SoftwareR-Programm Zeitreihenanalyse
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Mathe-Software" - R-Programm Zeitreihenanalyse
R-Programm Zeitreihenanalyse < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

R-Programm Zeitreihenanalyse: Übung
Status: (Frage) beantwortet Status 
Datum: 13:08 Sa 06.09.2014
Autor: ellegance88

Aufgabe
..

Guten Tag,

kann mir jmd. helfen bzgl. des R-Programms.

decompose() zerlegt ja eine Zeitreihe in Trend- Saison- und Restkomponente.

Ich soll es jetzt zerlegen ohne den Befehl decompose() zu benutzen anhand des Beispiels UKgas.
also anstelle von decompose(UKgas) der das nun automatisch machen würde, soll ich es jetzt manuell zerlegen.

Hat jemand ne Ahnung wie man das machen würde?

LG





        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 13:49 Sa 06.09.2014
Autor: luis52

Moin, ich weiss im einzelnen nicht wie decompose arbeitet, aber das kriegst du ja raus durch ?decompose.

Ich kann nur vermuten, dass du das Verfahren selbst mit R programmieren sollst.



Bezug
                
Bezug
R-Programm Zeitreihenanalyse: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:17 Sa 06.09.2014
Autor: ellegance88

Hallo,

nee das war ja nicht die Frage ich weiß ja was decompose() macht der zerlegt ja eine komplette Zeitreihe in mehreren Zeitreihen, also in  Trend-, Saison- und Restkomponente dann plottet er das.
Meine Frage wäre eher, wie plotte ich drei Graphen in einen ohne decompose() zu benutzen?
als Bsp: wenn ich plot(UKgas) eintippe plottet der mir UKgas (UKgas ist vorprogrammiert in R)

aber ich brauche ja die Trend-, Saison- und Restkomponente in einem Graphen bzw Bild damit das mit einem Aufruf funktioniert.


LG

Bezug
                        
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:35 Sa 06.09.2014
Autor: ellegance88

Als Bsp. noch das sind die drei Plots die ich habe:

[mm] plot(d_t, [/mm] main = "Trendkomponente", xlab = "Zeit")
[mm] plot(y_t, [/mm] main = "Saisonkomponente", xlab = "Zeit")
[mm] plot(r_t, [/mm] main = "Restkomponente", xlab = "Zeit")

aber wenn ich die so eintippe zeigt der mir drei verschiedene Plots, aber will ja 3 in 1 haben.

ich hoffe jemand kann mir weiterhelfen :)

LG

Bezug
                        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 00:31 So 07.09.2014
Autor: Marcel

Hallo,

> Hallo,
>  
> nee das war ja nicht die Frage ich weiß ja was decompose()
> macht der zerlegt ja eine komplette Zeitreihe in mehreren
> Zeitreihen, also in  Trend-, Saison- und Restkomponente
> dann plottet er das.
>  Meine Frage wäre eher, wie plotte ich drei Graphen in
> einen ohne decompose() zu benutzen?
>  als Bsp: wenn ich plot(UKgas) eintippe plottet der mir
> UKgas (UKgas ist vorprogrammiert in R)
>  
> aber ich brauche ja die Trend-, Saison- und Restkomponente
> in einem Graphen bzw Bild damit das mit einem Aufruf
> funktioniert.

entsprechend Deiner anhängenden Mitteilung: Geht es Dir nur um das
plotten mehrerer "Funktionen" in ein gemeinsames KO-System?
(In Matlab würde man "plot(...); hold on; plot(...)" benutzen, oder direkt
beides in den gleichen plot-Befehl schreiben).

Falls ja:

    []http://stackoverflow.com/questions/2564258/plot-2-graphs-in-same-plot-in-r

Falls nein: Ich lasse mal auf halb beantwortet.

Aber vielleicht präzisierst Du mal, was Du nun eigentlich wissen willst. Ist
das eine selbstgestellte Aufgabe, oder wird die verlangt? Etc. pp., sowas
wäre auch schön, zu wissen...

Gruß,
  Marcel

Bezug
                                
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 08:31 So 07.09.2014
Autor: ellegance88

Hallo,
hat sich erledigt habe es hinbekommen, leider gibt es beim R kein hold on.

Man macht es mit lines(),

also den ersten mit plot() und den zweiten dritten Graphen mit lines().


LG

Bezug
                                        
Bezug
R-Programm Zeitreihenanalyse: par(new=TRUE)
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:09 So 07.09.2014
Autor: Marcel

Hallo,

> Hallo,
>  hat sich erledigt habe es hinbekommen, leider gibt es beim
> R kein hold on.

nein, aber etwas ähnliches.
  

> Man macht es mit lines(),
>  
> also den ersten mit plot() und den zweiten dritten Graphen
> mit lines().

Das war eine Möglichkeit, die in dem Link stand. Es gibt einen Ersatz für
hold on, das steht []hier auch:

> plot( x, y1, type="l", col="red" )
> par(new=TRUE)
> plot( x, y2, type="l", col="green" )

Diese Information fand ich eigentlich wichtiger. ;-)
(Was genau dieser Befehl macht habe ich mir aber nicht angeguckt, sondern
ihn nur mal kurz getestet...)

Gruß,
  Marcel

Bezug
                        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 10:33 So 07.09.2014
Autor: luis52

Moin, es waere von Vorteil gewesen, wenn du deine Frage  etwas
mehr auf den Punkt formulieren koenntest. Anscheinend geht es dir
um das Plotten ...


> nee das war ja nicht die Frage ich weiß ja was decompose()
> macht der zerlegt ja eine komplette Zeitreihe in mehreren
> Zeitreihen, also in  Trend-, Saison- und Restkomponente
> dann plottet er das.

Bei *mir* wird nichts geplottet. Ich erhalte eine fuenfelementige Liste, u.a. mit den Komponenten "seasonal", "trend", und "random". Das passiert erst mit

1: plot(decompose(UKgas))


>  Meine Frage wäre eher, wie plotte ich drei Graphen in
> einen ohne decompose() zu benutzen?
>  als Bsp: wenn ich plot(UKgas) eintippe plottet der mir
> UKgas (UKgas ist vorprogrammiert in R)
>  
> aber ich brauche ja die Trend-, Saison- und Restkomponente
> in einem Graphen bzw Bild damit das mit einem Aufruf
> funktioniert.

Das macht keinen Sinn, die drei Komponenten haben unterschiedliche Wertebereiche. Im unguenstigsten Fall dominiert die Trendvariable. Aber vielleicht meinst du ja so etwas Unschoenes:

1: zr <- decompose(UKgas)
2: plot(zr$trend,ylim=c(-210,max(zr$trend,na.rm=TRUE)))
3: lines(zr$random,col="red")
4: lines(zr$seasonal,col="green")



Bezug
                                
Bezug
R-Programm Zeitreihenanalyse: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:07 Do 11.09.2014
Autor: ellegance88

Hallo,

ich habe noch ein Problem.

data(UKgas)
y <- UKgas

p <- 7

x <- if(!p%%2==1) {
rep(1,p)/p
} else {
c(0.5, rep(1, p-1)/p) #Berechnung der geglätteten Zeitreihe
}

so fängt jetzt meine Zeitreihe an.

Bei der if schleife habe ich ein Problem aber ich weiß nicht was.
Ich möchte die geglättete Zeitreihe berechnen.
Da habe ich ja eine gerade Länge und eine ungerade Länge an Perioden.

Wenn eine gerade Länge als p eingetippt wird soll rep(1,p)/p ausgeführt werden. Wenn eine ungerade Länge dann c(0.5, rep(1, p-1)/p) .

aber wenn ich es ausführen lasse kommen immer die gleichen Zahlen fast bei p <- 4 kommt vier mal 0.25 usw. das kann doch gar nicht richtig sein oder?


oder ist mein Ansatz schon falsch?

LG

Bezug
                                        
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:26 Do 11.09.2014
Autor: ellegance88

hat sich erledigt habe es anders hinbekommen :)

Bezug
                                        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 21:59 Do 11.09.2014
Autor: luis52

Vielleicht so:

1: p <- 5
2: if((p%%2)!=1){#
3: x <- rep(1,p)/p} else {#
4: x <- c(0.5, rep(1, p-1)/p)} #Berechnung der geglätteten Zeitreihe
5: p <- 4
6: if((p%%2)!=1){#
7: x <- rep(1,p)/p} else {#
8: x <- c(0.5, rep(1, p-1)/p)} #Berechnung der geglätteten Zeitreihe



Bezug
                                                
Bezug
R-Programm Zeitreihenanalyse: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 09:03 Mi 01.10.2014
Autor: ellegance88

Hallo,

kann mir jemand helfen eine Summenformel bei R zu programmieren.

Wir hatten vor einigen Wochen hier im Forum, einen gleitenden Durchschnitt programmiert für eine ungerade Länge p und eine gerade Länge p.
Der Prof meinte es wäre falsch gewesen.

[a]Datei-Anhang

Oben im Anhang ist auf der zweiten Seite: Einfach gleitender Durchschnitt  mit ungeradem p und geradem p. ( p steht für Periodenlänge)

data(UKgas)
y <- UKgas

x <- if(!p%%2==1) {
filter(y,rep(1/p,p))
} else {
#Berechnung der geglätteten Zeitreihe
}

nach dem else soll halt jetzt der gleitende Durchschnitt für eine geraden Länge kommen. Die ungerade Länge scheint glaube ich richtig zu sein. Und ich soll jetzt die Summe für die gerade Länge programmieren die auf Seite 2 zu finden ist.

Hoffe jemand kann mir da helfen.




Dateianhänge:
Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
Bezug
                                                        
Bezug
R-Programm Zeitreihenanalyse: Anhang gesperrt
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:14 Mi 01.10.2014
Autor: Diophant

Hallo,

den obigen Anhang können wir so leider nicht freigeben. Da waren die Angaben zum Urheberrecht falsch und keinerlei Quellenangabe zu sehen.

Entweder du belegst uns klipp und klar die Herkunft der Pdf, so dass nachvollziehbar ist, dass sie nicht urheberrechtlich geschützt ist. Oder du tippst halt die notwendigen Passagen ab, das wäre sicherlich die vernünftigste Lösung.


Gruß, Diophant

Bezug
                                                                
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:17 Mi 01.10.2014
Autor: ellegance88

ah sorry tut mir leid,

hier ist die Formel:
$p = 2s $ gerade: Sei $ [mm] a_j [/mm] = [mm] \bruch{1}{2s} [/mm] $
$ j =  -s+1,...s-1 $ und  $ a_-_s = [mm] a_s [/mm] = [mm] \bruch{1}{4s} [/mm] $
Dann heißt:
$ [mm] y_t^{\;*} [/mm] = [mm] \bruch{1}{2s} (\bruch{y_t_-_s}{2} [/mm] + [mm] \summe_{j=-s+1}^{s-1} y_t_+_j [/mm]  + [mm] \bruch{y_t_+_s}{2}) [/mm]  $

einfach gleitender Durchschnitt der Ordnung 2s.




Bezug
                                                                        
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 02:24 Do 02.10.2014
Autor: Marcel

Hallo,

> ah sorry tut mir leid,
>  
> hier ist die Formel:
>  [mm]p = 2s[/mm] gerade: Sei [mm]a_j = \bruch{1}{2s}[/mm]
> [mm]j = -s+1,...s-1[/mm] und  [mm]a_-_s = a_s = \bruch{1}{4s}[/mm]
>  Dann
> heißt:
>  [mm]y_t^{\;*} = \bruch{1}{2s} (\bruch{y_t_-_s}{2} + \summe_{j=-s+1}^{s-1} y_t_+_j + \bruch{y_t_+_s}{2}) [/mm]
>  
> einfach gleitender Durchschnitt der Ordnung 2s.

was haben die [mm] $a_j$ [/mm] da für einen Sinn?

Ansonsten:
    []S.407

Gruß,
  Marcel

Bezug
                                                        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 03:13 Do 02.10.2014
Autor: Marcel

Hallo,

> Hallo,
>  
> kann mir jemand helfen eine Summenformel bei R zu
> programmieren.
>  
> Wir hatten vor einigen Wochen hier im Forum, einen
> gleitenden Durchschnitt programmiert für eine ungerade
> Länge p und eine gerade Länge p.
>  Der Prof meinte es wäre falsch gewesen.
>  
> [a]Datei-Anhang
>  
> Oben im Anhang ist auf der zweiten Seite: Einfach
> gleitender Durchschnitt  mit ungeradem p und geradem p. ( p
> steht für Periodenlänge)
>  
> data(UKgas)
>  y <- UKgas
>  
> x <- if(!p%%2==1) {
>   filter(y,rep(1/p,p))
> } else {
>   #Berechnung der geglätteten Zeitreihe
>  }
>  
> nach dem else soll halt jetzt der gleitende Durchschnitt
> für eine geraden Länge kommen. Die ungerade Länge
> scheint glaube ich richtig zu sein. Und ich soll jetzt die
> Summe für die gerade Länge programmieren die auf Seite 2
> zu finden ist.

ich habe mal versucht, die Idee zu extrahieren. Ich hätte es zwar auch
direkt in R programmieren können, aber zum einen sollst Du selbst auch
was tun, zum anderen mag ich Octave einfach lieber. Als Beispiel habe
ich einfach selbst den Sinus mal gebastelt.
Was Du sehen wirst ist natürlich, dass die ersten s Stellen des neuen
Feldes (summe) eigentlich leer wären, Octave füllt sie selber mit Nullen.
Und die Schleife, die den Vektor y durchläuft, hört natürlich auch dann
auf, bevor auf ein nicht vorhandenes Element zugegriffen wird. Hier der
Code für Octave (ich empfehle sowieso, sich da reinzuarbeiten):
1:
2: p=10;
3: s=p/2;
4: x=[0:1/100:pi];
5: y=sin(x);
6: for t=s+1:length(x)-s
7:   s=abs(p)/2;
8:   summe(t)=0;
9:   for j=-s+1:s-1
10:     summe(t)=summe(t)+y(t+j);
11:   end;
12:   summe(t)=summe(t)+y(t-s)/2+y(t+s)/2;
13:   summe(t)=summe(t)/(2*s);
14: end


Getestet habe ich ihn noch nicht. Und klar: Es ist nicht R, aber betrachte
es wie einen Pseudo-Code:
Es sollte nicht schwer sein, entsprechende Befehle in der passenden
Programmiersprache zu suchen und umzusetzen!

Und, wie gesagt:
summe(1)... summe(5) sollten eigentlich nicht existieren. Der Wert summe(6)
sollte "passend" zu y(6) sein. Aber auch das solltest Du einfach mal
kontrollieren! (Was gibt das Programm aus? Was sagt eine Rechnung
auf Papier?)

P.S. Etwas Vorsicht ist geboten: Die Nummerierung von Feldern startet
mit 1.
D.h.: summe(0) kann es also gar nicht geben! (Ich glaube aber, dass das
in R genauso ist. Ich habe es jedenfalls bei einem Test gerade eigentlich
genau so gesehen...)

Gruß,
  Marcel

Bezug
                                                                
Bezug
R-Programm Zeitreihenanalyse: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:53 Di 07.10.2014
Autor: ellegance88

Danke für die Hinweise.

Ich habe es nun so gemacht:

x <- if(!p%%2==1) {
filter(y,rep(1/p,p))
} else {
filter(x, filter = c(0.5, rep(1,(2*p-1)), 0,5)/(2 * p)) #Berechnung der geglätteten Zeitreihe
}

nun habe ich ein anderes Problem.
Ich soll nun die Saisonale Komponente schätzen.

dafür brauche ich doch den Mittelwert erstmal.

Berechnung der Mittelwerte pro Spalte:

apply(X_numerisch,2,mean) (Beispiel)

wenn ich bei mir [mm] apply(d_t,2,mean) [/mm] eintippe kommt der Fehler
dim(X) must have a positive length. Es gibt zwar viele Lösungen online zu dem Fehler aber da ich nicht so gut englisch kann verstehe ich nicht, was die dort meinen.

[mm] d_t [/mm] ist meine trendbereinigte Zeitreihe


LG

Bezug
                                                                        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 19:29 Di 07.10.2014
Autor: luis52


>  
> [mm]d_t[/mm] ist meine trendbereinigte Zeitreihe
>  
>

Anscheinend ist das Argument (bestimmt nicht [mm] $d_t$) [/mm] keine Matrix, was bei einer Zeitreihe auch nicht ueberrascht.

Was erhaeltst du nach der Eingabe von dim(DeineZeitreihe)?

(Uebrigens ist colMeans(Matrix) besser geeignet.)

Bezug
                                                                                
Bezug
R-Programm Zeitreihenanalyse: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:06 Di 07.10.2014
Autor: ellegance88

Ja ich habe es jetzt glaube ich hinbekommen.

f <- [mm] matrix(d_t, [/mm] 27, 4, byrow=T)

mittel <- mean(f, na.rm = TRUE)
[mm] s_t [/mm] <- apply(f,2, na.rm = TRUE,mean) #Schätzung der Saisonkomponenten

nur ein Problem habe ich mit der Musterlösung:

Saisonale Komponente:
175.13810  -36.14123 -168.96767   29.97079

Meine Lösung:
175.08173  -36.48611 -172.58750   28.85288

ist es trotzdem so okay oder ist was falsch?

LG


Bezug
                                                                                        
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 20:47 Di 07.10.2014
Autor: Marcel

Hallo,

> Ja ich habe es jetzt glaube ich hinbekommen.
>  
> f <- [mm]matrix(d_t,[/mm] 27, 4, byrow=T)
>  
> mittel <- mean(f, na.rm = TRUE)
>  [mm]s_t[/mm] <- apply(f,2, na.rm = TRUE,mean) #Schätzung der
> Saisonkomponenten
>  
> nur ein Problem habe ich mit der Musterlösung:
>  
> Saisonale Komponente:
>  175.13810  -36.14123 -168.96767   29.97079
>  
> Meine Lösung:
>   175.08173  -36.48611 -172.58750   28.85288
>  
> ist es trotzdem so okay oder ist was falsch?

wie sollen wir das wissen, wenn wir die Daten nicht kennen?
Was aber gut ist, ist doch schonmal, dass Deine Lösung sich nicht viel
von der Musterlösung unterscheidet (die dritte und vierte Komponente
sieht allerdings *vergleichsweise* doch schon etwas merkwürdig aus).

Kannst Du Dir nicht ein einfaches Beispiel bauen, dass man mit etwas
Geduld von Hand (oder mit TR) durchrechnen kann - einfach mal, um die
Funktionsfähigkeit Deines Algorithmus zu testen?

Ansonsten auch einfach mal mit "help" (bei R kann man das mit einem
"Fragezeichen" machen, glaube ich) mal ein wenig die Doku lesen und
schauen, ob alles auch so gemacht wird, wie es gemacht werden soll.

So weiß ich z.B. bei Matlab, dass man auf zwei Arten die Varianz (oder
Standardabweichung) berechnen kann. Ab und an sollte man halt auch
einfach mal die Dokumentationen lesen und verstehen. ;-)

Gruß,
  Marcel

Bezug
        
Bezug
R-Programm Zeitreihenanalyse: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 09:52 Do 09.10.2014
Autor: ellegance88

Hallo nochmal,

y <- UKgas

p <- 4

x <- if(!p%%2==1) {
filter(y,rep(1/p,p))
} else {
filter(y, filter = c(0.5, rep(1,(2*p-1)), 0,5)/(2 * p)) #Berechnung der geglätteten Zeitreihe
}

[mm] d_t [/mm] <- y-x   #Trendbereinigte Zeitreihe

f <- [mm] matrix(d_t, [/mm] 27, 4, byrow=T)

mittel <- mean(f, na.rm = TRUE)
[mm] s_t [/mm] <- apply(f,2, na.rm = TRUE,mean) #Schätzung der Saisonkomponenten

so das ist was ich bis jetzt habe, und y ist halt UKgas, das sind die Daten die sind halt vorprogrammiert bei R.

aber ich verstehe nicht wo mein fehler bei der dritten und vierten komponente ist.

entweder ist ja mein x falsch oder ich weiß es nicht..
wenn ich [mm] d_t [/mm] aufrufe kommen NAs wenn ich die entferne ist die Saisonkomponente noch abweichender als vorher.

dann hätte ich ja auch meine
[mm] y_t [/mm] <- [mm] y-s_t [/mm]       #Berechnung der saisonbereinigte Zeitreihe

aber solange [mm] s_t [/mm] falsch ist, ist ja auch die saisonbereinigte Zeitreihe falsch

langsam bin ich wirklich am verzweifeln -.-

LG



Bezug
                
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:02 Do 09.10.2014
Autor: Marcel

Hallo,

nur nochmal der Hinweis (es ist übrigens gut, dass Du erwähnt hast, dass
es diese Daten in R gibt, denn jetzt habe ich das erstmal kurz getestet, und
sie auch gefunden):
Fehleranalysen in Algorithmen führt man am besten durch, indem man
Datensätze benutzt, die

    so klein wie möglich und so groß wie nötig

sind. Wenn Du selbst überschauen kannst, was Du wann machst und was
Du erwartest (weil Du es schnell selbst gerechnet hast), dann siehst Du
auch evtl. die Stellen, wo etwas schief geht.

Wenn ich dazu komme, schaue ich mir Deinen Programm auch nochmal
selbst "von Hand" an. Dazu wäre es aber sinnvoll, wenn Du die

    "code-Umgebung"

hier benutzt ([ code ] blabla [ /code ], ohne Leerzeichen).

Bzw. wie gesagt: reduziere die Daten aus UKgas auf einen überschaubaren
Datensatz (der die obigen Anforderungen erfüllt).

Gruß,
  Marcel

Bezug
                        
Bezug
R-Programm Zeitreihenanalyse: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:48 Do 09.10.2014
Autor: ellegance88

1:  y <- UKgas
2: p <- 4
3: x <- if(!p%%2==1) {
4: filter(y,rep(1/p,p)) 
5: } else {
6: filter= c(0.5, rep(1, p-1),0.5)/p} #Berechnung der geglätteten Zeitreihe
7: d_t <- y-x   #Trendbereinigte Zeitreihe
8: f <- matrix(d_t, 27, 4, byrow=T)
9: mittel <- mean(f, na.rm = TRUE)
10: s_t <- apply(f,2, na.rm = TRUE,mean) #Schätzung der Saisonkomponenten
11: y_t <- y-s_t   #Berechnung der saisonbereinigte Zeitreihe 


PS: ich habe else zwar nun geändert aber das Problem ist immer noch dasselbe.

Bezug
                                
Bezug
R-Programm Zeitreihenanalyse: Antwort
Status: (Antwort) fertig Status 
Datum: 13:46 Sa 11.10.2014
Autor: capri

die Fälligkeit ist zwar abgelaufen, aber so würde es funktionieren

1:
2: y <- UKgas
3:
4:     p <- 4
5:
6:     filt <- if(p%%2) rep(1/p,p) else c(0.5, rep(1, p-1), 0.5)/p
7:     x <- filter(y, filt) #Berechnung der geglätteten Zeitreihe
8:
9:     d_t <- matrix(y-x, , 4, byrow=TRUE)
10:     d_t.quer <- apply(d_t, 2, mean, na.rm=TRUE) #Schätzung der Saisonkomponenten
11:     s_t <- d_t.quer - mean(d_t.quer)
12:     y1 <- y - s_t   # Saisonbereinigung


bei mir kommen deine gewünschten Werte raus.

LG

Bezug
                                        
Bezug
R-Programm Zeitreihenanalyse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:04 Do 16.10.2014
Autor: ellegance88

Hallo, tut mir leid, dass ich erst jetzt schreibe, ich war die ganze Zeit nicht online.

Habe es gerade ausprobiert und vielen dank hat geklappt :)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]